

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Modelo de descritor de serviço de rede
<a name="nsd-template"></a>

Define um modelo de descritor de serviço de rede (NSD).

## Sintaxe
<a name="nsd-template-syntax"></a>

```
tosca_definitions_version: tnb_simple_yaml_1_0

vnfds:
  - descriptor\$1id: String
    namespace: String

topology_template:

  inputs:
    SampleInputParameter:
      type: String
      description: "Sample parameter description"
      default: "DefaultSampleValue"

  node\$1templates:
    SampleNode1: tosca.nodes.AWS.NS
```

## Uso de parâmetros definidos
<a name="using-defined-parameters"></a>

Quando quiser passar um parâmetro dinamicamente, como o bloco CIDR para o nó VPC, você pode usar a sintaxe `{ get_input: input-parameter-name }` e definir os parâmetros no modelo de NSD. Em seguida, reutilize o parâmetro no mesmo modelo de NSD.

O exemplo a seguir mostra como definir e usar parâmetros:

```
tosca_definitions_version: tnb_simple_yaml_1_0

topology_template:

  inputs:
    cidr_block:
      type: String
      description: "CIDR Block for VPC"
      default: "10.0.0.0/24"

  node_templates:
    ExampleSingleClusterNS:
      type: tosca.nodes.AWS.NS
      properties:
        descriptor_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
         .....

    ExampleVPC:
      type: tosca.nodes.AWS.Networking.VPC
      properties:
        cidr_block: { get_input: cidr_block }
```

## Importação de VNFD
<a name="vnfd-import"></a>

 `descriptor_id`    
O UUID do descritor.  
Obrigatório: sim  
Tipo: sequência  
Padrão: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`

 `namespace`    
O nome exclusivo.  
Obrigatório: sim  
Tipo: string

## Modelo de topologia
<a name="nsd-topology-template"></a>

 `node_templates`    
Os possíveis AWS nós do TOSCA são:  
+ [AWS.NS](node-ns.md)
+ [AWS.Compute.EKS](node-eks.md)
+ [AWS.compute.eks. AuthRole](node-eks-authrole.md)
+ [AWS.Computação. EKSManagedNodo](node-eks-managed-node.md)
+ [AWS.Computação. EKSSelfManagedNode](node-eks-self-managed.md)
+ [AWS.Computação. PlacementGroup](node-compute-placement-group.md)
+ [AWS.Computação. UserData](node-compute-user-data.md)
+ [AWS.Rede. SecurityGroup](node-networking-security-group.md)
+ [AWS.Rede. SecurityGroupEgressRule](node-networking-security-group-egress-rule.md)
+ [AWS.Rede. SecurityGroupIngressRule](node-networking-security-group-ingress-rule.md)
+ [AWS.Resource.Import](node-resource-import.md)
+ [AWS.Networking.ENI](node-eni.md)
+ [AWS.HookExecution](node-hook-execution.md)
+ [AWS.Rede. InternetGateway](node-internet-gateway.md)
+ [AWS.Trabalho em rede. RouteTable](node-route-table.md)
+ [AWS.Networking.Subnet](node-subnet.md)
+ [AWS.Implantação. VNFDeployment](node-vnf-deployment.md)
+ [AWS.Networking.VPC](node-vpc.md)
+ [AWS.Trabalho em rede. NATGateway](node-nat-gateway.md)
+ [AWS.Networking.Route](node-route.md)

# AWS.NS
<a name="node-ns"></a>

Define um nó de serviço de AWS rede (NS).

## Sintaxe
<a name="node-ns-syntax"></a>

```
tosca.nodes.AWS.NS:
  properties:
    descriptor\$1id: String
    descriptor\$1version: String
    descriptor\$1name: String
```

## Propriedades
<a name="node-ns-properties"></a>

 `descriptor_id`    
O UUID do descritor.  
Obrigatório: sim  
Tipo: sequência  
Padrão: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`

 `descriptor_version`    
A versão do NSD.  
Obrigatório: sim  
Tipo: sequência  
Padrão: `^[0-9]{1,5}\\.[0-9]{1,5}\\.[0-9]{1,5}.*`

 `descriptor_name`    
O nome do descritor.  
Obrigatório: sim  
Tipo: String

## Exemplo
<a name="node-ns-example"></a>

```
SampleNS:
  type: tosca.nodes.AWS.NS
  properties:
    descriptor_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
    descriptor_version: "1.0.0"
    descriptor_name: "Test NS Template"
```

# AWS.Compute.EKS
<a name="node-eks"></a>

Forneça o nome do cluster, a versão desejada do Kubernetes e uma função que permita que o plano de controle do Kubernetes gerencie os recursos necessários para você. AWS NFs Os plug-ins da interface de rede de contêineres (CNI) Multus estão habilitados. Você pode conectar várias interfaces de rede e aplicar configurações de rede avançadas às funções de rede baseadas no Kubernetes. Você também especifica o acesso ao endpoint do cluster e as sub-redes do seu cluster.

## Sintaxe
<a name="node-eks-syntax"></a>

```
tosca.nodes.AWS.Compute.EKS:
  capabilities:
    multus:
      properties:
        enabled: Boolean
        multus\$1role: String
    ebs\$1csi:
      properties:
        enabled: Boolean
        version: String      
  properties:
    version: String
    access: String
    cluster\$1role: String
    tags: List
    ip\$1family: String        
  requirements:
    subnets: List
```

## Capacidades
<a name="node-eks-capabilities"></a><a name="node_eks_multus"></a>`multus`

Opcional. Propriedades que definem o uso da interface de rede de contêineres (CNI) Multus. 

Se você incluir `multus`, especifique as propriedades `enabled` e `multus_role`.

 `enabled`    
Indica se o recurso Multus padrão está habilitado.  
Obrigatório: Sim  
Tipo: booliano

 `multus_role`    
O perfil do gerenciamento da interface de rede Multus.  
Obrigatório: sim  
Tipo: String<a name="node_eks_ebs_csi"></a>`ebs_csi`

Propriedades que definem o driver da CSI (Container Storage Interface) do Amazon EBS instalado no cluster do Amazon EKS.

Habilite esse plug-in para usar os nós autogerenciados do Amazon EKS em AWS Outposts AWS Locais Zones ou Regiões da AWS. Para obter mais informações, consulte [Driver da CSI do Amazon EBS](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) no *Guia do usuário do *Amazon EKS**.

 `enabled`    
Indica se o driver padrão da CSI do Amazon EBS está instalado.  
Obrigatório: não  
Tipo: booliano

 `version`    
A versão do complemento do driver da CSI do Amazon EBS. A versão deve corresponder a uma das versões retornadas pela *DescribeAddonVersions*ação. Para obter mais informações, consulte [DescribeAddonVersions](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html)a *Referência da API Amazon EKS*   
Obrigatório: Não  
Tipo: String

## Propriedades
<a name="node-eks-properties"></a>

 `version`    
A versão do Kubernetes para o cluster. AWS O Telco Network Builder oferece suporte às versões 1.25 a 1.32 do Kubernetes.  
Obrigatório: sim  
Tipo: String  
Valores possíveis: 1,25 \$1 1,26 \$1 1,27 \$1 1,28 \$1 1,29 \$1 1,30 \$1 1,31 \$1 1,32

 `access`    
Acesso ao endpoint do cluster.  
Obrigatório: sim  
Tipo: String  
Valores possíveis: `PRIVATE` \$1 `PUBLIC` \$1 `ALL`

 `cluster_role`    
O perfil do gerenciamento de clusters.  
Obrigatório: sim  
Tipo: String

 `tags`    
As tags a serem anexadas ao recurso.  
Obrigatório: Não  
Tipo: lista

 `ip_family`    
Indica a família de IP para endereços de serviço e pod no cluster.  
Valor permitido: `IPv4`, `IPv6`  
Valor padrão: `IPv4`  
Obrigatório: Não  
Tipo: String

## Requisitos
<a name="node-eks-requirements"></a>

 `subnets`    
Um nó [AWS.Networking.Subnet](node-subnet.md).  
Obrigatório: Sim  
Tipo: lista

## Exemplo
<a name="node-eks-example"></a>

```
SampleEKS:
  type: tosca.nodes.AWS.Compute.EKS
  properties:
    version: "1.26"
    access: "ALL"
    cluster_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleRole"
    ip_family: "IPv6"
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing" 
  capabilities:
    multus:
      properties:
        enabled: true
        multus_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/MultusRole"
    ebs_csi:
      properties:
        enabled: true
        version: "v1.16.0-eksbuild.1"        
  requirements:
    subnets:
    - SampleSubnet01
    - SampleSubnet02
```

# AWS.compute.eks. AuthRole
<a name="node-eks-authrole"></a>

Um AuthRole permite que você adicione funções do IAM ao cluster `aws-auth` `ConfigMap` do Amazon EKS para que os usuários possam acessar o cluster do Amazon EKS usando uma função do IAM.

## Sintaxe
<a name="node-eks-authrole-syntax"></a>

```
tosca.nodes.AWS.Compute.EKS.AuthRole:
  properties:
    role\$1mappings: List
      arn: String
      groups: List  
  requirements:
    clusters: List
```

## Propriedades
<a name="node-eks-authrole-properties"></a>

 `role_mappings`    
Lista de mapeamentos que definem perfis do IAM que precisam ser adicionadas ao cluster `aws-auth` `ConfigMap` do Amazon EKS.    
 `arn`    
O ARN do perfil do IAM.  
Obrigatório: sim  
Tipo: String  
 `groups`    
Grupos do Kubernetes a serem atribuídos ao perfil definido em `arn`.  
Obrigatório: Não  
Tipo: lista

## Requisitos
<a name="node-eks-authrole-requirements"></a>

 `clusters`    
Um nó [AWS.Compute.EKS](node-eks.md).  
Obrigatório: Sim  
Tipo: lista

## Exemplo
<a name="node-eks-authrole-example"></a>

```
EKSAuthMapRoles:
    type: tosca.nodes.AWS.Compute.EKS.AuthRole
    properties:
        role_mappings:
        - arn: arn:aws:iam::${AWS::TNB::AccountId}:role/TNBHookRole1
          groups:
          - system:nodes
          - system:bootstrappers
        - arn: arn:aws:iam::${AWS::TNB::AccountId}:role/TNBHookRole2
          groups:
          - system:nodes
          - system:bootstrappers
    requirements:
         clusters: 
         - Free5GCEKS1
         - Free5GCEKS2
```

# AWS.Computação. EKSManagedNodo
<a name="node-eks-managed-node"></a>

AWS O TNB oferece suporte a grupos de nós gerenciados do EKS para automatizar o provisionamento e o gerenciamento do ciclo de vida dos nós (instâncias da Amazon EC2 ) para clusters do Amazon EKS Kubernetes. Para criar um grupo de nós EKS, faça o seguinte:
+ Escolha as Amazon Machine Images (AMI) para seus nós de trabalho de cluster fornecendo a ID da AMI ou o tipo de AMI.
+ Forneça um par de EC2 chaves da Amazon para acesso SSH e as propriedades de escalabilidade para seu grupo de nós.
+ Certifique-se de que seu grupo de nós esteja associado a um cluster Amazon EKS.
+ Forneça as sub-redes para os nós de trabalho.
+ Opcionalmente, anexe grupos de segurança, rótulos de nós e um grupo de posicionamento ao seu grupo de nós.

## Sintaxe
<a name="node-eks-managed-node-syntax"></a>

```
tosca.nodes.AWS.Compute.EKSManagedNode:
  capabilities:
    compute:
      properties:
        ami\$1type: String
        ami\$1id: String
        instance\$1types: List
        key\$1pair: String
        root\$1volume\$1encryption: Boolean
        root\$1volume\$1encryption\$1key\$1arn: String
        root\$1volume\$1size: Integer 
    scaling:
      properties:
        desired\$1size: Integer
        min\$1size: Integer
        max\$1size: Integer       
  properties:
    node\$1role: String
    tags: List
    kubernetes\$1version: String        
  requirements:
    cluster: String
    subnets: List
    network\$1interfaces: List
    security\$1groups: List
    placement\$1group: String
    user\$1data: String
    labels: List
```

## Capacidades
<a name="node-eks-managed-node-capabilities"></a><a name="node_eks_managed_node_compute"></a>`compute`

Propriedades que definem os parâmetros de computação para o grupo de nós gerenciados do Amazon EKS, como tipos de EC2 instância da Amazon e EC2 instância da Amazon AMIs.

 `ami_type`    
O tipo de AMI compatível com o Amazon EKS.  
Obrigatório: sim  
Tipo: String  
Valores possíveis: `AL2_x86_64` \$1 `AL2_x86_64_GPU` \$1 `AL2_ARM_64` \$1 `AL2023_x86_64` \$1 \$1 `AL2023_ARM_64` \$1 `AL2023_x86_64_NVIDIA` \$1 `AL2023_x86_64_NEURON` \$1 `CUSTOM` \$1 `BOTTLEROCKET_ARM_64` \$1 `BOTTLEROCKET_x86_64` \$1 `BOTTLEROCKET_ARM_64_NVIDIA` \$1 `BOTTLEROCKET_x86_64_NVIDIA`

 `ami_id`    
O ID da AMI.  
Obrigatório: Não  
Tipo: String  
Se ambos `ami_type` `ami_id` forem especificados no modelo, o AWS TNB usará somente o `ami_id` valor para criar`EKSManagedNode`.

 `instance_types`    
O tamanho da instância.  
Obrigatório: Sim  
Tipo: lista

 `key_pair`    
O par de EC2 chaves para permitir o acesso SSH.  
Obrigatório: sim  
Tipo: String

 `root_volume_encryption`    
Ativa a criptografia do Amazon EBS para o volume raiz do Amazon EBS. Se essa propriedade não for fornecida, o AWS TNB criptografará os volumes raiz do Amazon EBS por padrão.  
Obrigatório: Não  
Padrão: verdadeiro  
Tipo: booliano

 `root_volume_encryption_key_arn`    
O ARN da chave. AWS KMS AWS O TNB suporta ARN de chave regular, ARN de chave multirregional e ARN de alias.  
Obrigatório: Não  
Tipo: String  
+ Se `root_volume_encryption` for falso, não inclua`root_volume_encryption_key_arn`.
+ AWS O TNB suporta criptografia de volume raiz de AMIs suportadas pelo Amazon EBS.
+ Se o volume raiz da AMI já estiver criptografado, você deverá incluir o `root_volume_encryption_key_arn` para que o AWS TNB recriptografe o volume raiz.
+  Se o volume raiz da AMI não estiver criptografado, o AWS TNB usará o `root_volume_encryption_key_arn` para criptografar o volume raiz.

  Se você não incluir`root_volume_encryption_key_arn`, o AWS TNB usa a chave padrão fornecida por AWS Key Management Service para criptografar o volume raiz.
+ AWS O TNB não decifra uma AMI criptografada.

 `root_volume_size`    
O tamanho do volume raiz do Amazon Elastic Block Store em GiBs.  
Obrigatório: Não  
Padrão: 20  
Tipo: inteiro  
Valores possíveis: 1 a 16.384<a name="node_eks_managed_node_scaling"></a>`scaling`

Propriedades que definem os parâmetros de escalabilidade para o grupo de nós gerenciados do Amazon EKS, como o número desejado de EC2 instâncias da Amazon e o número mínimo e máximo de EC2 instâncias da Amazon no grupo de nós.

 `desired_size`    
O número de instâncias neste NodeGroup.  
Obrigatório: Sim  
Tipo: inteiro

 `min_size`    
O número mínimo de instâncias neste NodeGroup.  
Obrigatório: Sim  
Tipo: inteiro

 `max_size`    
O número máximo de instâncias neste NodeGroup.  
Obrigatório: Sim  
Tipo: inteiro

## Propriedades
<a name="node_eks_managed_node-properties"></a>

 `node_role`    
O ARN da função do IAM que está anexada à instância da Amazon EC2 .  
Obrigatório: sim  
Tipo: String

 `tags`    
As tags a serem anexadas ao recurso.  
Obrigatório: Não  
Tipo: lista

 `kubernetes_version`    
A versão do Kubernetes para o grupo de nós gerenciados. AWS O TNB é compatível com as versões 1.25 a 1.32 do Kubernetes. Considere o seguinte:  
+ Especifique o `kubernetes_version` ou`ami_id`. Não especifique ambos.
+ O `kubernetes_version` deve ser menor ou igual ao AWS.Compute. EKSManagedVersão Node.
+ Pode haver uma diferença de 3 versões entre o AWS.Compute. EKSManagedVersão Node `kubernetes_version` e.
+ Se nenhum `kubernetes_version` ou `ami_id` for especificado, o AWS TNB usará a AMI mais recente da `AWS.Compute.EKSManagedNode` versão para criar `EKSManagedNode`
Obrigatório: Não  
Tipo: String  
Valores possíveis: 1,25 \$1 1,26 \$1 1,27 \$1 1,28 \$1 1,29 \$1 1,30 \$1 1,31 \$1 1,32

## Requisitos
<a name="node-eks-managed-node-requirements"></a>

 `cluster`    
Um nó [AWS.Compute.EKS](node-eks.md).  
Obrigatório: sim  
Tipo: String

 `subnets`    
Um nó [AWS.Networking.Subnet](node-subnet.md).  
Obrigatório: Sim  
Tipo: lista

 `network_interfaces`    
Um nó [AWS.Networking.ENI](node-eni.md). Certifique-se de que as interfaces de rede e sub-redes estejam definidas com a mesma zona de disponibilidade, senão a instanciação falhará.  
Quando você configura`network_interfaces`, o AWS TNB obtém a permissão relacionada à ENIs `multus_role` propriedade se você incluiu a `multus` propriedade no nó [aws.compute.eks](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html). Caso contrário, o AWS TNB obterá a permissão relacionada à propriedade ENIs [node\$1role](#node_eks_managed_node_node_role).  
Obrigatório: Não  
Tipo: lista

 `security_groups`    
Um [AWS.Networking. SecurityGroup](node-networking-security-group.md)nodo.  
Obrigatório: Não  
Tipo: lista

 `placement_group`    
Um [tosca.nodes.AWS.Computação. PlacementGroup](node-compute-placement-group.md)nodo.  
Obrigatório: Não  
Tipo: String

 `user_data`    
Um [tosca.nodes.AWS.Computação. UserData](node-compute-user-data.md)referência de nó. Um script de dados do usuário é passado para as EC2 instâncias da Amazon iniciadas pelo grupo de nós gerenciados. Adicione as permissões necessárias para executar dados de usuário personalizados no node\$1role transmitido ao grupo de nós.  
Obrigatório: Não  
Tipo: String

 `labels`    
Uma lista de rótulos de nós. Um rótulo de nó deve ter um nome e um valor. Crie um rótulo usando os seguintes critérios:  
+ O nome e o valor devem ser separados por`=`.
+ O nome e o valor podem ter, cada um, até 63 caracteres.
+ O rótulo pode incluir letras (A-Z, a-z), números (0-9) e os seguintes caracteres: `[-, _, ., *, ?]`
+ O nome e o valor devem começar e terminar com um caractere alfanumérico ou `*` caractere. `?`
Por exemplo, `myLabelName1=*NodeLabelValue1`.  
Obrigatório: Não  
Tipo: lista

## Exemplo
<a name="node-eks-managed-node-example"></a>

```
SampleEKSManagedNode:
  type: tosca.nodes.AWS.Compute.EKSManagedNode
  capabilities:
    compute:
      properties:
        ami_type: "AL2_x86_64"
        instance_types:
          - "t3.xlarge"
        key_pair: "SampleKeyPair"
        root_volume_encryption: true
        root_volume_encryption_key_arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        root_volume_size: 1500    
    scaling:
      properties:
        desired_size: 1
        min_size: 1
        max_size: 1
  properties:
    node_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleRole"
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing" 
    kubernetes_version:
      - "1.30" 
  requirements:
    cluster: SampleEKS
    subnets:
      - SampleSubnet
    network_interfaces:
      - SampleENI01
      - SampleENI02
    security_groups:
      - SampleSecurityGroup01
      - SampleSecurityGroup02
    placement_group: SamplePlacementGroup
    user_data: CustomUserData
    labels:
      - "sampleLabelName001=sampleLabelValue001"
      - "sampleLabelName002=sampleLabelValue002"
```

# AWS.Computação. EKSSelfManagedNode
<a name="node-eks-self-managed"></a>

AWS O TNB oferece suporte aos nós autogerenciados do Amazon EKS para automatizar o provisionamento e o gerenciamento do ciclo de vida dos nós ( EC2 instâncias da Amazon) para clusters do Amazon EKS Kubernetes. Para criar um grupo de nós do Amazon EKS, faça o seguinte:
+ Escolha as Amazon Machine Images (AMI) para seus nós de trabalho de cluster fornecendo o ID da AMI.
+ Forneça um par de EC2 chaves da Amazon para acesso SSH.
+ Certifique-se de que seu grupo de nós esteja associado a um cluster Amazon EKS.
+ Forneça o tipo de instância e os tamanhos desejados, mínimos e máximos.
+ Forneça as sub-redes para os nós de trabalho.
+ Opcionalmente, anexe grupos de segurança, rótulos de nós e um grupo de posicionamento ao seu grupo de nós.

## Sintaxe
<a name="node-eks-self-managed-node-syntax"></a>

```
tosca.nodes.AWS.Compute.EKSSelfManagedNode:
  capabilities:
    compute:
      properties:
        ami\$1id: String
        instance\$1type: String
        key\$1pair: String
        root\$1volume\$1encryption: Boolean
        root\$1volume\$1encryption\$1key\$1arn: String    
        root\$1volume\$1size: Integer
    scaling:
      properties:
        desired\$1size: Integer
        min\$1size: Integer
        max\$1size: Integer  
  properties:
    node\$1role: String    
    tags: List          
  requirements:
    cluster: String
    subnets: List
    network\$1interfaces: List
    security\$1groups: List
    placement\$1group: String
    user\$1data: String
    labels: List
```

## Capacidades
<a name="node-eks-self-managed-node-capabilities"></a><a name="node_eks_self_managed_node_compute"></a>`compute`

Propriedades que definem os parâmetros de computação para os nós autogerenciados do Amazon EKS, como tipos de EC2 instância da Amazon e EC2 instância AMIs da Amazon.

 `ami_id`    
O ID da AMI usado para iniciar a instância. AWS O TNB oferece suporte a instâncias que aproveitam IMDSv2. Para obter mais informações, consulte [Versão do IMDS](imds-version.md).  
Você pode atualizar o ID da AMI para`EKSSelfManagedNode`. A versão do Amazon EKS da AMI deve ser igual ou até duas versões inferior à versão do cluster do Amazon EKS. Por exemplo, se a versão do cluster Amazon EKS for 1.31, a versão da Amazon EKS AMI deverá ser 1.31, 1.30 ou 1.29.
Obrigatório: sim  
Tipo: String

 `instance_type`    
O tamanho da instância.  
Obrigatório: sim  
Tipo: String

 `key_pair`    
O par de EC2 chaves da Amazon para permitir o acesso SSH.  
Obrigatório: sim  
Tipo: String

 `root_volume_encryption`    
Ativa a criptografia do Amazon EBS para o volume raiz do Amazon EBS. Se essa propriedade não for fornecida, o AWS TNB criptografará os volumes raiz do Amazon EBS por padrão.  
Obrigatório: Não  
Padrão: verdadeiro  
Tipo: booliano

 `root_volume_encryption_key_arn`    
O ARN da chave. AWS KMS AWS O TNB suporta ARN de chave regular, ARN de chave multirregional e ARN de alias.  
Obrigatório: Não  
Tipo: String  
+ Se `root_volume_encryption` for falso, não inclua`root_volume_encryption_key_arn`.
+ AWS O TNB suporta criptografia de volume raiz de AMIs suportadas pelo Amazon EBS.
+ Se o volume raiz da AMI já estiver criptografado, você deverá incluir o `root_volume_encryption_key_arn` para que o AWS TNB recriptografe o volume raiz.
+  Se o volume raiz da AMI não estiver criptografado, o AWS TNB usará o `root_volume_encryption_key_arn` para criptografar o volume raiz.

  Se você não incluir`root_volume_encryption_key_arn`, o AWS TNB usa AWS Managed Services para criptografar o volume raiz.
+ AWS O TNB não decifra uma AMI criptografada.

 `root_volume_size`    
O tamanho do volume raiz do Amazon Elastic Block Store em GiBs.  
Obrigatório: Não  
Padrão: 20  
Tipo: inteiro  
Valores possíveis: 1 a 16.384<a name="node_eks_self_managed_node_scaling"></a>`scaling`

Propriedades que definem os parâmetros de escalabilidade para os nós autogerenciados do Amazon EKS, como o número desejado de EC2 instâncias da Amazon e o número mínimo e máximo de EC2 instâncias da Amazon no grupo de nós.

 `desired_size`    
O número de instâncias neste NodeGroup.  
Obrigatório: Sim  
Tipo: inteiro

 `min_size`    
O número mínimo de instâncias neste NodeGroup.  
Obrigatório: Sim  
Tipo: inteiro

 `max_size`    
O número máximo de instâncias neste NodeGroup.  
Obrigatório: Sim  
Tipo: inteiro

## Propriedades
<a name="node-eks-self-managed-node-properties"></a>

 `node_role`    
O ARN da função do IAM que está anexada à instância da Amazon EC2 .  
Obrigatório: sim  
Tipo: String

 `tags`    
As tags a serem anexadas ao recurso. As tags serão propagadas para as instâncias criadas pelo recurso.  
Obrigatório: Não  
Tipo: lista

## Requisitos
<a name="node-eks-self-managed-node-requirements"></a>

 `cluster`    
Um nó [AWS.Compute.EKS](node-eks.md).  
Obrigatório: sim  
Tipo: String

 `subnets`    
Um nó [AWS.Networking.Subnet](node-subnet.md).  
Obrigatório: Sim  
Tipo: lista

 `network_interfaces`    
Um nó [AWS.Networking.ENI](node-eni.md). Certifique-se de que as interfaces de rede e sub-redes estejam definidas com a mesma zona de disponibilidade, senão a instanciação falhará.  
Quando você configura`network_interfaces`, o AWS TNB obtém a permissão relacionada à ENIs `multus_role` propriedade se você incluiu a `multus` propriedade no nó [aws.compute.eks](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html). Caso contrário, o AWS TNB obterá a permissão relacionada à propriedade ENIs [node\$1role](#node_eks_self_managed_node_role).  
Obrigatório: Não  
Tipo: lista

 `security_groups`    
Um [AWS.Networking. SecurityGroup](node-networking-security-group.md)nodo.  
Obrigatório: Não  
Tipo: lista

 `placement_group`    
Um [tosca.nodes.AWS.Computação. PlacementGroup](node-compute-placement-group.md)nodo.  
Obrigatório: Não  
Tipo: String

 `user_data`    
Um [tosca.nodes.AWS.Computação. UserData](node-compute-user-data.md)referência de nó. Um script de dados do usuário é passado para as EC2 instâncias da Amazon iniciadas pelo grupo de nós autogerenciado. Adicione as permissões necessárias para executar dados de usuário personalizados no node\$1role transmitido ao grupo de nós.  
Obrigatório: Não  
Tipo: String

 `labels`    
Uma lista de rótulos de nós. Um rótulo de nó deve ter um nome e um valor. Crie um rótulo usando os seguintes critérios:  
+ O nome e o valor devem ser separados por`=`.
+ O nome e o valor podem ter, cada um, até 63 caracteres.
+ O rótulo pode incluir letras (A-Z, a-z), números (0-9) e os seguintes caracteres: `[-, _, ., *, ?]`
+ O nome e o valor devem começar e terminar com um caractere alfanumérico ou `*` caractere. `?`
Por exemplo, `myLabelName1=*NodeLabelValue1`.  
Obrigatório: Não  
Tipo: lista

## Exemplo
<a name="node-eks-self-managed-node-example"></a>

```
SampleEKSSelfManagedNode:
  type: tosca.nodes.AWS.Compute.EKSSelfManagedNode
  capabilities:
    compute:
      properties:
        ami_id: "ami-123123EXAMPLE"
        instance_type: "c5.large"
        key_pair: "SampleKeyPair"
        root_volume_encryption: true
        root_volume_encryption_key_arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        root_volume_size: 1500
    scaling:
      properties:
        desired_size: 1
        min_size: 1
        max_size: 1
  properties:
    node_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleNodeRole" 
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing"          
  requirements:
    cluster: SampleEKSCluster
    subnets:
      - SampleSubnet
    network_interfaces:
      - SampleNetworkInterface01
      - SampleNetworkInterface02
    security_groups:
      - SampleSecurityGroup01
      - SampleSecurityGroup02
    placement_group: SamplePlacementGroup
    user_data: CustomUserData
    labels:
      - "sampleLabelName001=sampleLabelValue001"
      - "sampleLabelName002=sampleLabelValue002"
```

# AWS.Computação. PlacementGroup
<a name="node-compute-placement-group"></a>

Um PlacementGroup nó oferece suporte a diferentes estratégias para colocar EC2 instâncias da Amazon.

Quando você lança uma nova Amazon EC2instance, o EC2 serviço da Amazon tenta colocar a instância de forma que todas as suas instâncias estejam espalhadas pelo hardware subjacente para minimizar falhas correlacionadas. É possível usar grupos de posicionamento para influenciar o posicionamento de um grupo de instâncias interdependentes para atender às necessidades de sua workload.

## Sintaxe
<a name="node-compute-placement-group-syntax"></a>

```
tosca.nodes.AWS.Compute.PlacementGroup
  properties:
    strategy: String
    partition\$1count: Integer
    tags: List
```

## Propriedades
<a name="node-compute-placement-group-properties"></a>

 `strategy`    
A estratégia a ser usada para colocar EC2 instâncias da Amazon.  
Obrigatório: sim  
Tipo: String  
Valores possíveis: CLUSTER \$1 PARTITION \$1 SPREAD\$1HOST \$1 SPREAD\$1RACK  
+ **CLUSTER**: agrupa as instâncias em uma zona de disponibilidade. Essa estratégia permite que as cargas de trabalho alcancem o desempenho de rede de baixa latência necessário para uma node-to-node comunicação fortemente acoplada, típica dos aplicativos de computação de alto desempenho (HPC).
+ **PARTITION**: distribui as instâncias entre partições lógicas, de tal modo que as instâncias em uma partição não compartilhem o hardware subjacente com os grupos de instâncias em outras partições. Essa estratégia é normalmente usada por grandes workloads distribuídas e replicadas, como Hadoop, Cassandra e Kafka.
+ **SPREAD\$1RACK**: posiciona um pequeno grupo de instâncias no hardware subjacente distinto para reduzir falhas correlacionadas.
+ **SPREAD\$1HOST**: usado somente com grupos de posicionamento do Outpost. Posiciona um pequeno grupo de instâncias no hardware subjacente distinto para reduzir falhas correlacionadas.

 `partition_count`    
O número de partições.  
Obrigatório: obrigatório somente quando `strategy` é definido como `PARTITION`.  
Tipo: inteiro  
Valores possíveis: 1 \$1 2 \$1 3 \$1 4 \$1 5 \$1 6 \$1 7

 `tags`    
As tags que você pode anexar ao recurso de grupo de posicionamento.  
Obrigatório: Não  
Tipo: lista

## Exemplo
<a name="node-compute-placement-group-example"></a>

```
ExamplePlacementGroup:
  type: tosca.nodes.AWS.Compute.PlacementGroup
  properties:
    strategy: "PARTITION"
    partition_count: 5
    tags: 
      - tag_key=tag_value
```

# AWS.Computação. UserData
<a name="node-compute-user-data"></a>

AWS O TNB oferece suporte ao lançamento de EC2 instâncias da Amazon com dados personalizados do usuário, por meio do UserData nó no Network Service Descriptor (NSD). Para obter mais informações sobre dados personalizados do usuário, consulte [Dados do usuário e scripts de shell](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts) no *Guia EC2 do usuário da Amazon*.

Durante a instanciação da rede, o AWS TNB fornece o registro da EC2 instância Amazon para o cluster por meio de um script de dados do usuário. Quando dados personalizados do usuário também são fornecidos, o AWS TNB mescla os dois scripts e os transmite como um [script multimime](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-mime-multi) para a Amazon. EC2 O script de dados de usuário personalizado é executado antes do script de registro do Amazon EKS.

Para usar variáveis personalizadas no script de dados de usuário, adicione um ponto de exclamação `!` após o colchete aberto `{`. Por exemplo, para usar `MyVariable` no script, insira: `{!MyVariable}`

**nota**  
AWS O TNB suporta scripts de dados do usuário de até 7 KB de tamanho.
Como o AWS TNB usa CloudFormation para processar e renderizar o script de `multimime` dados do usuário, certifique-se de que o script cumpra todas as regras. CloudFormation 

## Sintaxe
<a name="node-compute-user-data-syntax"></a>

```
tosca.nodes.AWS.Compute.UserData:
  properties:
    implementation: String
    content\$1type: String
```

## Propriedades
<a name="node-compute-user-data-properties"></a>

 `implementation`    
O caminho relativo para a definição do script de dados de usuário. O formato precisa ser: `./scripts/script_name.sh`  
Obrigatório: sim  
Tipo: String

 `content_type`    
Tipo de conteúdo do script de dados de usuário.  
Obrigatório: sim  
Tipo: String  
Valores possíveis: `x-shellscript`

## Exemplo
<a name="node-compute-user-data-example"></a>

```
ExampleUserData:
  type: tosca.nodes.AWS.Compute.UserData
  properties:
    content_type: "text/x-shellscript"
    implementation: "./scripts/customUserData.sh"
```

# AWS.Rede. SecurityGroup
<a name="node-networking-security-group"></a>

AWS O TNB oferece suporte a grupos de segurança para automatizar o provisionamento de grupos de [segurança da EC2 Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html), que você pode anexar aos grupos de nós do cluster Amazon EKS Kubernetes.

## Sintaxe
<a name="node-networking-security-group-syntax"></a>

```
tosca.nodes.AWS.Networking.SecurityGroup
  properties:
    description: String
    name: String
    tags: List
  requirements:
    vpc: String
```

## Propriedades
<a name="node-networking-security-group-properties"></a>

 `description`    
Descrição do grupo de segurança. Podem ser usados até 255 caracteres para descrever o grupo. Só é possível incluir letras (A-Z e a-z), números (0-9), espaços e os seguintes caracteres especiais: \$1-:/()\$1,@[]\$1=&;\$1\$1\$1\$1\$1  
Obrigatório: sim  
Tipo: String

 `name`    
Um nome para o grupo de segurança. Você pode usar até 255 caracteres para o nome. Só é possível incluir letras (A-Z e a-z), números (0-9), espaços e os seguintes caracteres especiais: \$1-:/()\$1,@[]\$1=&;\$1\$1\$1\$1\$1  
Obrigatório: sim  
Tipo: String

 `tags`    
As tags que você pode anexar ao recurso de grupo de segurança.  
Obrigatório: Não  
Tipo: lista

## Requisitos
<a name="node-networking-security-group-requirements"></a>

 `vpc`    
Um nó [AWS.Networking.VPC](node-vpc.md).  
Obrigatório: sim  
Tipo: String

## Exemplo
<a name="node-networking-security-group-example"></a>

```
SampleSecurityGroup001:
  type: tosca.nodes.AWS.Networking.SecurityGroup
  properties:
        description: "Sample Security Group for Testing"
        name: "SampleSecurityGroup"
        tags:
          - "Name=SecurityGroup"
          - "Environment=Testing"
      requirements:
        vpc: SampleVPC
```

# AWS.Rede. SecurityGroupEgressRule
<a name="node-networking-security-group-egress-rule"></a>

AWS O TNB suporta regras de saída de grupos de segurança para automatizar o provisionamento das regras de saída de grupos de segurança da EC2 Amazon, que podem ser anexadas ao .Networking. AWS SecurityGroup. Observe que você deve fornecer uma cidr\$1 ip/destination\$1security\$1group/destination \$1prefix\$1list como destino para o tráfego de saída.

## Sintaxe
<a name="node-networking-security-group-egress-rule-syntax"></a>

```
AWS.Networking.SecurityGroupEgressRule
  properties:
    ip\$1protocol: String
    from\$1port: Integer
    to\$1port: Integer
    description: String
    destination\$1prefix\$1list: String
    cidr\$1ip: String
    cidr\$1ipv6: String
  requirements:
    security\$1group: String
    destination\$1security\$1group: String
```

## Propriedades
<a name="node-networking-security-group-egress-rule-properties"></a>

 `cidr_ip`    
O intervalo de IPv4 endereços no formato CIDR. Você precisa especificar um intervalo CIDR que permita o tráfego de saída.  
Obrigatório: Não  
Tipo: String

 `cidr_ipv6`    
O intervalo de IPv6 endereços no formato CIDR, para tráfego de saída. Você deve especificar um grupo de segurança de destino (`destination_security_group` ou `destination_prefix_list`) ou um intervalo de CIDR (`cidr_ip` ou `cidr_ipv6`).  
Obrigatório: Não  
Tipo: String

 `description`    
A descrição de uma regra de saída de grupos de segurança. Podem ser usados até 255 caracteres para descrever a regra.  
Obrigatório: Não  
Tipo: String

 `destination_prefix_list`    
O ID da lista de prefixos de uma lista de prefixos gerenciada do Amazon VPC. Esse é o destino das instâncias do grupo de nós associadas ao grupo de segurança. Para obter mais informações sobre listas de prefixos gerenciadas, consulte [Listas de prefixos gerenciados](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html) no *Guia do usuário da Amazon VPC*.  
Obrigatório: Não  
Tipo: String

 `from_port`    
Se o protocolo for TCP ou UDP, esse será o início do intervalo de portas. Se o protocolo for ICMP ou ICMPv6, esse é o número do tipo. Um valor de -1 indica todos os ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 códigos.  
Obrigatório: Não  
Tipo: inteiro

 `ip_protocol`    
O nome do protocolo IP (tcp, udp, icmp, icmpv6) ou o número do protocolo. Use -1 para especificar todos os protocolos. Ao autorizar regras de grupo de segurança, especificar -1 ou um número de protocolo diferente de tcp, udp, icmp ou icmpv6 permitirá o tráfego em todas as portas, seja qual for o intervalo de portas especificado. Para tcp, udp e icmp, você precisa especificar um intervalo de portas. Para icmpv6, o intervalo de portas é opcional. Se você omiti-lo, o tráfego de todos os tipos e códigos será permitido.  
Obrigatório: sim  
Tipo: String

 `to_port`    
Se o protocolo for TCP ou UDP, esse será o fim do intervalo de portas. Se o protocolo for ICMP ou ICMPv6, esse é o código. Um valor de -1 indica todos os ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 códigos.  
Obrigatório: Não  
Tipo: inteiro

## Requisitos
<a name="node-networking-security-group-egress-rule-requirements"></a>

 `security_group`    
O ID do grupo de segurança ao qual essa regra deve ser adicionada.  
Obrigatório: sim  
Tipo: String

 `destination_security_group`    
O ID ou referência TOSCA do grupo de segurança de destino para o qual o tráfego de saída é permitido.  
Obrigatório: Não  
Tipo: String

## Exemplo
<a name="node-networking-security-group-egress-rule-example"></a>

```
SampleSecurityGroupEgressRule:
      type: tosca.nodes.AWS.Networking.SecurityGroupEgressRule
      properties:
        ip_protocol: "tcp"
        from_port: 8000
        to_port: 9000
        description: "Egress Rule for sample security group"
        cidr_ipv6: "2600:1f14:3758:ca00::/64"    
      requirements:
        security_group: SampleSecurityGroup001
        destination_security_group: SampleSecurityGroup002
```

# AWS.Rede. SecurityGroupIngressRule
<a name="node-networking-security-group-ingress-rule"></a>

AWS O TNB suporta regras de entrada de grupos de segurança para automatizar o provisionamento das regras de entrada de grupos de segurança da EC2 Amazon, que podem ser anexadas ao .Networking. AWS SecurityGroup. Observe que você deve fornecer um cidr\$1 ip/source\$1security\$1group/source \$1prefix\$1list como fonte para o tráfego de entrada.

## Sintaxe
<a name="node-networking-security-group-ingress-rule-syntax"></a>

```
AWS.Networking.SecurityGroupIngressRule
  properties:
    ip\$1protocol: String
    from\$1port: Integer
    to\$1port: Integer
    description: String
    source\$1prefix\$1list: String
    cidr\$1ip: String
    cidr\$1ipv6: String
  requirements:
    security\$1group: String
    source\$1security\$1group: String
```

## Propriedades
<a name="node-networking-security-group-ingress-rule-properties"></a>

 `cidr_ip`    
O intervalo de IPv4 endereços no formato CIDR. Você precisa especificar um intervalo CIDR que permita o tráfego de entrada.  
Obrigatório: Não  
Tipo: String

 `cidr_ipv6`    
O intervalo de IPv6 endereços no formato CIDR, para tráfego de entrada. Você deve especificar um grupo de segurança de origem (`source_security_group` ou `source_prefix_list`) ou um intervalo de CIDR (`cidr_ip` ou `cidr_ipv6`).  
Obrigatório: Não  
Tipo: String

 `description`    
A descrição de uma regra de entrada de grupo de segurança. Podem ser usados até 255 caracteres para descrever a regra.  
Obrigatório: Não  
Tipo: String

 `source_prefix_list`    
O ID da lista de prefixos de uma lista de prefixos gerenciada do Amazon VPC. Essa é a fonte da qual as instâncias do grupo de nós associadas ao grupo de segurança poderão receber tráfego. Para obter mais informações sobre listas de prefixos gerenciadas, consulte [Listas de prefixos gerenciados](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html) no *Guia do usuário da Amazon VPC*.  
Obrigatório: Não  
Tipo: String

 `from_port`    
Se o protocolo for TCP ou UDP, esse será o início do intervalo de portas. Se o protocolo for ICMP ou ICMPv6, esse é o número do tipo. Um valor de -1 indica todos os ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 códigos.  
Obrigatório: Não  
Tipo: inteiro

 `ip_protocol`    
O nome do protocolo IP (tcp, udp, icmp, icmpv6) ou o número do protocolo. Use -1 para especificar todos os protocolos. Ao autorizar regras de grupo de segurança, especificar -1 ou um número de protocolo diferente de tcp, udp, icmp ou icmpv6 permitirá o tráfego em todas as portas, seja qual for o intervalo de portas especificado. Para tcp, udp e icmp, você precisa especificar um intervalo de portas. Para icmpv6, o intervalo de portas é opcional. Se você omiti-lo, o tráfego de todos os tipos e códigos será permitido.  
Obrigatório: sim  
Tipo: String

 `to_port`    
Se o protocolo for TCP ou UDP, esse será o fim do intervalo de portas. Se o protocolo for ICMP ou ICMPv6, esse é o código. Um valor de -1 indica todos os ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 códigos.  
Obrigatório: Não  
Tipo: inteiro

## Requisitos
<a name="node-networking-security-group-ingress-rule-requirements"></a>

 `security_group`    
O ID do grupo de segurança ao qual essa regra deve ser adicionada.  
Obrigatório: sim  
Tipo: String

 `source_security_group`    
O ID ou referência TOSCA do grupo de segurança de origem do qual o tráfego de entrada deve ser permitido.  
Obrigatório: Não  
Tipo: String

## Exemplo
<a name="node-networking-security-group-ingress-rule-example"></a>

```
SampleSecurityGroupIngressRule:
      type: tosca.nodes.AWS.Networking.SecurityGroupIngressRule
      properties:
        ip_protocol: "tcp"
        from_port: 8000
        to_port: 9000
        description: "Ingress Rule for free5GC cluster on IPv6"
        cidr_ipv6: "2600:1f14:3758:ca00::/64"    
      requirements:
        security_group: SampleSecurityGroup1
        source_security_group: SampleSecurityGroup2
```

# AWS.Resource.Import
<a name="node-resource-import"></a>

Você pode importar os seguintes AWS recursos para o AWS TNB:
+ VPC
+ Sub-rede
+ Tabela de rotas
+ Gateway da Internet
+ Grupo de segurança

## Sintaxe
<a name="node-resource-import-syntax"></a>

```
tosca.nodes.AWS.Resource.Import
  properties:
    resource\$1type: String
    resource\$1id: String
```

## Propriedades
<a name="node-resource-import-properties"></a>

 `resource_type`    
O tipo de recurso que é importado para o AWS TNB.  
Obrigatório: Não  
Tipo: lista

 `resource_id`    
O ID do recurso que é importado para o AWS TNB.  
Obrigatório: Não  
Tipo: lista

## Exemplo
<a name="node-resource-import-example"></a>

```
SampleImportedVPC:
  type: tosca.nodes.AWS.Resource.Import
  properties:
    resource_type: "tosca.nodes.AWS.Networking.VPC"
    resource_id: "vpc-123456"
```

# AWS.Networking.ENI
<a name="node-eni"></a>

Uma interface de rede é um componente lógico de redes em uma VPC que representa uma cartão de rede virtual. Um endereço IP é atribuído a uma interface de rede de forma automática ou manual, com base em sua sub-rede. Depois de implantar uma EC2 instância da Amazon em uma sub-rede, você pode anexar uma interface de rede a ela ou desconectar uma interface de rede dessa instância da Amazon e reconectar-se a outra EC2 instância da Amazon nessa EC2 sub-rede. O índice do dispositivo identifica a posição na ordem do anexo.

## Sintaxe
<a name="node-eni-syntax"></a>

```
tosca.nodes.AWS.Networking.ENI:
  properties:
    device\$1index: Integer
    source\$1dest\$1check: Boolean
    tags: List
  requirements:
    subnet: String
    security\$1groups: List
```

## Propriedades
<a name="node-eni-properties"></a>

 `device_index`    
O índice do dispositivo precisa ser maior que zero.  
Obrigatório: Sim  
Tipo: inteiro

 `source_dest_check`    
Indica se a interface de rede executa a verificação de origem/destino. O valor `true` significa que a verificação está habilitada e `false` significa que a verificação está desabilitada.  
Valor permitido: verdadeiro, falso  
Padrão: verdadeiro  
Obrigatório: Não  
Tipo: booliano

 `tags`    
As tags a serem anexadas ao recurso.  
Obrigatório: Não  
Tipo: lista

## Requisitos
<a name="node-eni-requirements"></a>

 `subnet`    
Um nó [AWS.Networking.Subnet](node-subnet.md).  
Obrigatório: sim  
Tipo: String

 `security_groups`    
Um [AWS.Networking. SecurityGroup](node-networking-security-group.md)nodo.  
Obrigatório: Não  
Tipo: String

## Exemplo
<a name="node-eni-example"></a>

```
SampleENI:
  type: tosca.nodes.AWS.Networking.ENI
  properties:
    device_index: 5
    source_dest_check: true
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing" 
  requirements:
    subnet: SampleSubnet
    security_groups:
      - SampleSecurityGroup01
      - SampleSecurityGroup02
```

# AWS.HookExecution
<a name="node-hook-execution"></a>

Um gancho do ciclo de vida fornece a capacidade de executar seus próprios scripts como parte de sua infraestrutura e instanciação de rede.

## Sintaxe
<a name="node-hook-execution-syntax"></a>

```
tosca.nodes.AWS.HookExecution:
  capabilities:
    execution:
      properties:
        type: String
  requirements:
    definition: String
    vpc: String
```

## Capacidades
<a name="node-hook-execution-capabilities"></a><a name="node_hook_execution"></a>`execution`

Propriedades do mecanismo de execução de hook que executa os scripts de hook.

 `type`    
O tipo de mecanismo de execução de hook.  
Obrigatório: Não  
Tipo: String  
Valores possíveis: `CODE_BUILD` 

## Requisitos
<a name="node-hook-execution-requirements"></a>

 `definition`    
Um [AWS. HookDefinition.Modo Bash.](node-hook-bash.md)  
Obrigatório: sim  
Tipo: String

 `vpc`    
Um nó [AWS.Networking.VPC](node-vpc.md).  
Obrigatório: sim  
Tipo: String

## Exemplo
<a name="node-hook-execution-example"></a>

```
SampleHookExecution:
  type: tosca.nodes.AWS.HookExecution
  requirements:
    definition: SampleHookScript
    vpc: SampleVPC
```

# AWS.Rede. InternetGateway
<a name="node-internet-gateway"></a>

Define um nó do AWS Internet Gateway.

## Sintaxe
<a name="node-internet-gateway-syntax"></a>

```
tosca.nodes.AWS.Networking.InternetGateway:
  capabilities:
    routing:
      properties:
        dest\$1cidr: String
        ipv6\$1dest\$1cidr: String    
  properties:
    tags: List
    egress\$1only: Boolean
  requirements:
    vpc: String
    route\$1table: String
```

## Capacidades
<a name="node-internet-gateway-capabilities"></a><a name="node_internet_gateway_routing"></a>`routing`

Propriedades que definem a conexão de roteamento dentro da VPC. Você deve incluir a propriedade `dest_cidr` ou `ipv6_dest_cidr`.

 `dest_cidr`    
O bloco IPv4 CIDR usado para a correspondência de destino. Essa propriedade é usada para criar uma rota em `RouteTable` e seu valor é usado como `DestinationCidrBlock`.  
Obrigatório: não se você incluiu a propriedade `ipv6_dest_cidr`.  
Tipo: String

 `ipv6_dest_cidr`    
O bloco IPv6 CIDR usado para a correspondência de destino.  
Obrigatório: não se você incluiu a propriedade `dest_cidr`.  
Tipo: String

## Propriedades
<a name="node-internet-gateway-properties"></a>

 `tags`    
As tags a serem anexadas ao recurso.  
Obrigatório: Não  
Tipo: lista

 `egress_only`    
Uma propriedade IPv6 específica. Indica se o gateway da Internet serve apenas para comunicação de saída ou não. Quando `egress_only` é verdadeiro, você deve definir a propriedade `ipv6_dest_cidr`.  
Obrigatório: Não  
Tipo: booliano

## Requisitos
<a name="node-internet-gateway-requirements"></a>

 `vpc`    
Um nó [AWS.Networking.VPC](node-vpc.md).  
Obrigatório: sim  
Tipo: String

 `route_table`    
Um [AWS.Networking. RouteTable](node-route-table.md)nodo.  
Obrigatório: sim  
Tipo: String

## Exemplo
<a name="node-internet-gateway-example"></a>

```
Free5GCIGW:
  type: tosca.nodes.AWS.Networking.InternetGateway
  properties:
    egress_only: false
  capabilities:
    routing:
      properties:
        dest_cidr: "0.0.0.0/0"
        ipv6_dest_cidr: "::/0"
  requirements:
    route_table: Free5GCRouteTable
    vpc: Free5GCVPC
Free5GCEGW:
  type: tosca.nodes.AWS.Networking.InternetGateway
  properties:
    egress_only: true
  capabilities:
    routing:
      properties:
        ipv6_dest_cidr: "::/0"
  requirements:
    route_table: Free5GCPrivateRouteTable
    vpc: Free5GCVPC
```

# AWS.Rede. RouteTable
<a name="node-route-table"></a>

Uma tabela de rotas contém um conjunto de regras, chamado de rotas, que determina para onde o tráfego de rede de sua sub-rede ou gateway é direcionado. Você precisa associar uma tabela de rotas a uma VPC.

## Sintaxe
<a name="node-route-table-syntax"></a>

```
tosca.nodes.AWS.Networking.RouteTable:
  properties:
    tags: List
  requirements:
    vpc: String
```

## Propriedades
<a name="node-route-table-properties"></a>

 `tags`    
As tags a serem anexadas ao recurso.  
Obrigatório: Não  
Tipo: lista

## Requisitos
<a name="node-route-table-requirements"></a>

 `vpc`    
Um nó [AWS.Networking.VPC](node-vpc.md).  
Obrigatório: sim  
Tipo: String

## Exemplo
<a name="node-route-table-example"></a>

```
SampleRouteTable:
  type: tosca.nodes.AWS.Networking.RouteTable
  properties: 
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing"
  requirements:
    vpc: SampleVPC
```

# AWS.Networking.Subnet
<a name="node-subnet"></a>

Uma sub-rede é um intervalo de endereços IP na VPC que precisa residir inteiramente em uma zona de disponibilidade. Você precisa especificar uma VPC, um bloco CIDR, uma zona de disponibilidade e uma tabela de rotas para sua sub-rede. Você também precisa definir se sua sub-rede é privada ou pública.

## Sintaxe
<a name="node-subnet-syntax"></a>

```
tosca.nodes.AWS.Networking.Subnet:
  properties:
    type: String
    availability\$1zone: String
    cidr\$1block: String
    ipv6\$1cidr\$1block: String
    ipv6\$1cidr\$1block\$1suffix: String        
    outpost\$1arn: String
    tags: List
  requirements:
    vpc: String
    route\$1table: String
```

## Propriedades
<a name="node-subnet-properties"></a>

 `type`    
Indica se as instâncias executadas nessa sub-rede recebem um IPv4 endereço público.  
Obrigatório: sim  
Tipo: String  
Valores possíveis: `PUBLIC` \$1 `PRIVATE`

 `availability_zone`    
A zona de disponibilidade da sub-rede. Esse campo é compatível com zonas de AWS disponibilidade em uma AWS região, por exemplo `us-west-2` (Oeste dos EUA (Oregon)). Ele também suporta Zonas AWS Locais dentro da Zona de Disponibilidade, por exemplo`us-west-2-lax-1a`.  
Obrigatório: sim  
Tipo: String

 `cidr_block`    
O bloco CIDR da sub-rede.  
Obrigatório: Não  
Tipo: String

 `ipv6_cidr_block`    
O bloco CIDR usado para criar a IPv6 sub-rede. Se você incluir essa propriedade, não inclua `ipv6_cidr_block_suffix`.  
Obrigatório: Não  
Tipo: String

 `ipv6_cidr_block_suffix`    
O sufixo hexadecimal de 2 dígitos do bloco IPv6 CIDR para a sub-rede criada na Amazon VPC. Use o seguinte formato: `2-digit hexadecimal::/subnetMask`.  
Se você incluir essa propriedade, não inclua `ipv6_cidr_block`.  
Obrigatório: Não  
Tipo: String

 `outpost_arn`    
O ARN em AWS Outposts que a sub-rede será criada. Adicione essa propriedade ao modelo de NSD se quiser executar nós autogerenciados do Amazon EKS no AWS Outposts. Para obter mais informações, consulte [Amazon EKS no AWS Outposts](https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts.html) no *Guia do usuário do Amazon EKS*.  
Se você adicionar essa propriedade ao modelo de NSD, precisará definir o valor da propriedade `availability_zone` como a zona de disponibilidade do AWS Outposts.  
Obrigatório: Não  
Tipo: String

 `tags`    
As tags a serem anexadas ao recurso.  
Obrigatório: Não  
Tipo: lista

## Requisitos
<a name="node-subnet-requirements"></a>

 `vpc`    
Um nó [AWS.Networking.VPC](node-vpc.md).  
Obrigatório: sim  
Tipo: String

 `route_table`    
Um [AWS.Networking. RouteTable](node-route-table.md)nodo.  
Obrigatório: sim  
Tipo: String

## Exemplo
<a name="node-subnet-example"></a>

```
SampleSubnet01:
  type: tosca.nodes.AWS.Networking.Subnet
  properties:
    type: "PUBLIC"
    availability_zone: "us-east-1a"
    cidr_block: "10.100.50.0/24"
    ipv6_cidr_block_suffix: "aa::/64"
    outpost_arn: "arn:aws:outposts:region:accountId:outpost/op-11223344EXAMPLE"
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing"
  requirements:
    vpc: SampleVPC
    route_table: SampleRouteTable
         
SampleSubnet02:
  type: tosca.nodes.AWS.Networking.Subnet
  properties:
    type: "PUBLIC"
    availability_zone: "us-west-2b"
    cidr_block: "10.100.50.0/24"
    ipv6_cidr_block: "2600:1f14:3758:ca00::/64"
  requirements:
    route_table: SampleRouteTable
    vpc: SampleVPC
```

# AWS.Implantação. VNFDeployment
<a name="node-vnf-deployment"></a>

As implantações de NF são modeladas fornecendo a infraestrutura e o aplicativo associado a ele. O atributo [cluster](#node_vnf_deployment_cluster) especifica o cluster EKS para hospedar seu NFs. O atributo [vnfs](#node_vnf_deployment_vnfs) especifica as funções de rede da sua implantação. Você também pode fornecer operações opcionais de ganchos do ciclo de vida do tipo [pre\$1create](#node_vnf_deployment_pre_create) e [post\$1create](#node_vnf_deployment_post_create) para executar instruções específicas da sua implantação, como chamar uma API do sistema de gerenciamento de inventário.

## Sintaxe
<a name="node-vnf-deployment-syntax"></a>

```
tosca.nodes.AWS.Deployment.VNFDeployment:
  requirements:
    deployment: String
    cluster: String
    vnfs: List
  interfaces:
    Hook:
      pre\$1create: String
      post\$1create: String
```

## Requisitos
<a name="node-vnf-deployment-requirements"></a>

 `deployment`    
Uma [AWS implantação. VNFDeployment](node-vnf.md)nodo.  
Obrigatório: Não  
Tipo: String

 `cluster`    
Um nó [AWS.Compute.EKS](node-eks.md).  
Obrigatório: sim  
Tipo: String

 `vnfs`    
Um nó [AWS.VNF](node-vnf.md).  
Obrigatório: sim  
Tipo: String

## Interfaces
<a name="node-vnf-deployment-interfaces"></a>

### Hooks
<a name="node-vnf-deployment-hooks"></a>

Define o estágio em que os ganchos do ciclo de vida são executados.

 `pre_create`    
Um [AWS. HookExecution](node-hook-execution.md)nodo. Esse hook é executado antes da implantação do nó `VNFDeployment`.  
Obrigatório: Não  
Tipo: String

 `post_create`    
Um [AWS. HookExecution](node-hook-execution.md)nodo. Esse hook é executado após a implantação do nó `VNFDeployment`.  
Obrigatório: Não  
Tipo: String

## Exemplo
<a name="node-vnf-deployment-example"></a>

```
SampleHelmDeploy:
  type: tosca.nodes.AWS.Deployment.VNFDeployment
  requirements:
    deployment: SampleHelmDeploy2
    cluster: SampleEKS
    vnfs:
      - vnf.SampleVNF
  interfaces:
    Hook:
      pre_create: SampleHook
```

# AWS.Networking.VPC
<a name="node-vpc"></a>

Você precisa especificar um bloco CIDR para sua nuvem privada virtual (VPC).

## Sintaxe
<a name="node-vpc-syntax"></a>

```
tosca.nodes.AWS.Networking.VPC:
  properties:
    cidr\$1block: String
    ipv6\$1cidr\$1block: String        
    dns\$1support: String
    tags: List
```

## Propriedades
<a name="node-vpc-properties"></a>

 `cidr_block`    
O intervalo de IPv4 rede para a VPC, em notação CIDR.  
Obrigatório: sim  
Tipo: String

 `ipv6_cidr_block`    
O bloco IPv6 CIDR usado para criar a VPC.  
Valor permitido: `AMAZON_PROVIDED`  
Obrigatório: Não  
Tipo: String

 `dns_support`    
Indica se as instâncias executadas na VPC obtêm nomes de host DNS.  
Obrigatório: Não  
Tipo: booliano  
Padrão: `false` 

 `tags`    
As tags a serem anexadas ao recurso.  
Obrigatório: Não  
Tipo: lista

## Exemplo
<a name="node-vpc-example"></a>

```
SampleVPC:
  type: tosca.nodes.AWS.Networking.VPC
  properties:
    cidr_block: "10.100.0.0/16"
    ipv6_cidr_block: "AMAZON_PROVIDED"
    dns_support: true
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing"
```

# AWS.Rede. NATGateway
<a name="node-nat-gateway"></a>

É possível definir um nó público ou privado do NAT Gateway em uma sub-rede. Para um gateway público, se você não fornecer um ID de alocação de IP elástico, o AWS TNB alocará um IP elástico para sua conta e o associará ao gateway.

## Sintaxe
<a name="node-nat-gateway-syntax"></a>

```
tosca.nodes.AWS.Networking.NATGateway:
  requirements:
    subnet: String
    internet\$1gateway: String
  properties:
    type: String
    eip\$1allocation\$1id: String
    tags: List
```

## Propriedades
<a name="node-nat-gateway-requirements"></a>

 `subnet`    
A referência do nó [AWS.Networking.Subnet](https://docs.aws.amazon.com/tnb/latest/ug/node-subnet.html).  
Obrigatório: sim  
Tipo: String

 `internet_gateway`    
O [AWS.Networking. InternetGateway](https://docs.aws.amazon.com/tnb/latest/ug/node-internet-gateway.html)referência de nó.  
Obrigatório: sim  
Tipo: String

## Propriedades
<a name="node-nat-gateway-properties"></a>

 `type`    
Indica se o gateway é público ou privado.  
Valor permitido: `PUBLIC`, `PRIVATE`  
Obrigatório: sim  
Tipo: String

 `eip_allocation_id`    
O ID que representa a alocação do endereço IP elástico.  
Obrigatório: Não  
Tipo: String

 `tags`    
As tags a serem anexadas ao recurso.  
Obrigatório: Não  
Tipo: lista

## Exemplo
<a name="node-nat-gateway-example"></a>

```
Free5GCNatGateway01:
  type: tosca.nodes.AWS.Networking.NATGateway
    requirements:
       subnet: Free5GCSubnet01
       internet_gateway: Free5GCIGW
    properties:
       type: PUBLIC
       eip_allocation_id: eipalloc-12345
```

# AWS.Networking.Route
<a name="node-route"></a>

Você pode definir um nó de rota que associe a rota de destino ao NAT Gateway como o recurso de destino e adicione a rota à tabela de rotas associada.

## Sintaxe
<a name="node-route-syntax"></a>

```
tosca.nodes.AWS.Networking.Route:
  properties:
    dest\$1cidr\$1blocks: List          
  requirements:
    nat\$1gateway: String
    route\$1table: String
```

## Propriedades
<a name="node-route-properties"></a>

 `dest_cidr_blocks`    
A lista de IPv4 rotas de destino para o recurso de destino.  
Obrigatório: Sim  
Tipo: lista  
Tipo de membro: string

## Requisitos
<a name="node-route-requirements"></a>

 `nat_gateway`    
O [AWS.Networking. NATGateway](https://docs.aws.amazon.com/tnb/latest/ug/node-nat-gateway.html)referência de nó.  
Obrigatório: sim  
Tipo: String

 `route_table`    
O [AWS.Networking. RouteTable](https://docs.aws.amazon.com/tnb/latest/ug/node-route-table.html)referência de nó.  
Obrigatório: sim  
Tipo: String

## Exemplo
<a name="node-route-example"></a>

```
Free5GCRoute:
  type: tosca.nodes.AWS.Networking.Route
  properties: 
    dest_cidr_blocks: 
      - 0.0.0.0/0
      - 10.0.0.0/28    
  requirements:
    nat_gateway: Free5GCNatGateway01
    route_table: Free5GCRouteTable
```

# AWS.Loja. SSMParameters
<a name="node-ssm"></a>

Você pode criar parâmetros SSM por meio do AWS TNB. Os parâmetros SSM que você cria são criados no SSM e prefixados pelo ID da instância de rede AWS TNB. Isso evita que os valores dos parâmetros sejam substituídos quando várias instâncias são instanciadas e atualizadas usando o mesmo modelo NSD.

## Sintaxe
<a name="node-ssm-syntax"></a>

```
tosca.nodes.AWS.Store.SSMParameters
  properties:
    parameters:
      name: String
      value: String         
    tags: List
```

## Propriedades
<a name="node-ssm-properties"></a>Parâmetros

 `name`    
O nome da propriedade ssm. Use o seguinte formato: `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+$`.  
O nome de cada parâmetro deve ter menos de 256 caracteres.  
Obrigatório: sim  
Tipo: String

 `value`    
O valor da propriedade ssm. Use um dos seguintes formatos:  
+ Para valores sem referências: `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+$`
+ Para referências estáticas: `^\$\{[a-zA-Z0-9]+\.(properties|capabilities|requirements)(\.([a-zA-Z0-9\-_]+))+\}$`
+ Para referências dinâmicas: `^\$\{[a-zA-Z0-9]+\.(name|id|arn)\}$`
O valor de cada parâmetro deve ser menor que 4 KB.  
Obrigatório: sim  
Tipo: String

 `tags`    
As tags que você pode anexar a uma propriedade SSM.  
Obrigatório: Não  
Tipo: lista

## Exemplo
<a name="node-ssm-example"></a>

```
SampleSSM
    type: tosca.nodes.AWS.Store.SSMParameters
    properties:
        parameters:
            - name: "Name1"
              value: "Value1"
            - name: "EKS_VERSION"
              value: "${SampleEKS.properties.version}"
            - name: "VPC_ID"
              value: "${SampleVPC.id}
            - name: "REGION"
              value: "${AWS::Region}
        tags:
            - "tagKey=tagValue"
```