

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Plantilla de descriptor de servicio de red
<a name="nsd-template"></a>

Define una plantilla de descriptor de servicio de red (NSD).

## Sintaxis
<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>

Cuando desee transferir dinámicamente un parámetro, como el bloque de CIDR para el nodo de VPC, puede usar la sintaxis `{ get_input: input-parameter-name }` y definir los parámetros en la plantilla de NSD. A continuación, reutilice el parámetro en la misma plantilla de NSD.

En el siguiente ejemplo se muestra cómo definir y utilizar 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 }
```

## Importación de VNFD
<a name="vnfd-import"></a>

 `descriptor_id`    
El UUID del descriptor.  
Obligatorio: sí  
Tipo: cadena  
Patrón: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`

 `namespace`    
El nombre único.  
Obligatorio: sí  
Tipo: cadena

## Plantilla de topología
<a name="nsd-topology-template"></a>

 `node_templates`    
Los posibles nodos TOSCA son AWS :  
+ [AWS.NS](node-ns.md)
+ [AWS.Compute.EKS](node-eks.md)
+ [AWS.compute.EKS. AuthRole](node-eks-authrole.md)
+ [AWS.Computar. EKSManagedNodo](node-eks-managed-node.md)
+ [AWS.Compute. EKSSelfManagedNode](node-eks-self-managed.md)
+ [AWS.Computar. PlacementGroup](node-compute-placement-group.md)
+ [AWS.Computar. UserData](node-compute-user-data.md)
+ [AWS.Redes. SecurityGroup](node-networking-security-group.md)
+ [AWS.Redes. SecurityGroupEgressRule](node-networking-security-group-egress-rule.md)
+ [AWS.Redes. 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.Redes. InternetGateway](node-internet-gateway.md)
+ [AWS.Redes. RouteTable](node-route-table.md)
+ [AWS.Networking.Subnet](node-subnet.md)
+ [AWS.Despliegue. VNFDeployment](node-vnf-deployment.md)
+ [AWS.Networking.VPC](node-vpc.md)
+ [AWS.Redes. NATGateway](node-nat-gateway.md)
+ [AWS.Networking.Route](node-route.md)

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

Define un nodo AWS de servicio de red (NS).

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

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

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

 `descriptor_id`    
El UUID del descriptor.  
Obligatorio: sí  
Tipo: cadena  
Patrón: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`

 `descriptor_version`    
La versión del NSD.  
Obligatorio: sí  
Tipo: cadena  
Patrón: `^[0-9]{1,5}\\.[0-9]{1,5}\\.[0-9]{1,5}.*`

 `descriptor_name`    
El nombre del descriptor.  
Obligatorio: sí  
Tipo: cadena

## Ejemplo
<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>

Proporcione el nombre del clúster, la versión de Kubernetes deseada y una función que permita al plano de control de Kubernetes administrar los recursos que necesita. AWS NFs Los complementos de la interfaz de red de contenedores (CNI) de Multus están habilitados. Puede conectar varias interfaces de red y aplicar una configuración de red avanzada a las funciones de red basadas en Kubernetes. También debe especificar el acceso al punto de conexión del clúster y las subredes del clúster.

## Sintaxis
<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. Propiedades que definen el uso de la interfaz de red de contenedores (CNI) de Multus. 

Si incluye `multus`, especifique las propiedades `enabled` y `multus_role`.

 `enabled`    
Indica si la capacidad de Multus predeterminada está habilitada.  
Obligatorio: sí  
Tipo: Booleano

 `multus_role`    
La función de administración de la interfaz de red de Multus.  
Obligatorio: sí  
Tipo: cadena<a name="node_eks_ebs_csi"></a>`ebs_csi`

Propiedades que definen el controlador de la interfaz de almacenamiento de contenedores (CSI) de Amazon EBS instalado en el clúster de Amazon EKS.

Habilite este complemento para usar nodos autogestionados de Amazon EKS en AWS Outposts, Zonas AWS Locales o Regiones de AWS. Para obtener más información, consulte [controlador de CSI de Amazon Elastic Block Store](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) en la **Guía del usuario de Amazon EKS**.

 `enabled`    
Indica si el controlador de CSI de Amazon EBS está instalado.  
Obligatorio: no  
Tipo: booleano

 `version`    
La versión del complemento de controlador de CSI de Amazon EBS. La versión debe coincidir con una de las versiones devueltas por la *DescribeAddonVersions*acción. Para obtener más información, consulte la *referencia [DescribeAddonVersions](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html)de la API de Amazon EKS*   
Obligatorio: no  
Tipo: cadena

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

 `version`    
La versión de Kubernetes para el clúster. AWS Telco Network Builder es compatible con las versiones 1.25 a 1.32 de Kubernetes.  
Obligatorio: sí  
Tipo: cadena  
Valores posibles: 1,25 \$1 1,26 \$1 1,27 \$1 1,28 \$1 1,29 \$1 1,30 \$1 1,31 \$1 1,32

 `access`    
El acceso al punto de conexión del clúster.  
Obligatorio: sí  
Tipo: cadena  
Valores posibles: `PRIVATE` \$1 `PUBLIC` \$1 `ALL`

 `cluster_role`    
El rol de administración de clústeres.  
Obligatorio: sí  
Tipo: cadena

 `tags`    
Etiquetas que deben asociarse a este recurso.  
Obligatorio: no  
Tipo: lista

 `ip_family`    
Indica la familia de IP de las direcciones de servicio y pod del clúster.  
Valor permitido: `IPv4`, `IPv6`  
Valor predeterminado: `IPv4`  
Obligatorio: no  
Tipo: cadena

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

 `subnets`    
Un nodo [AWS.Networking.Subnet](node-subnet.md).  
Obligatorio: sí  
Tipo: lista

## Ejemplo
<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>

An AuthRole le permite añadir funciones de IAM al clúster de Amazon EKS para que los usuarios puedan acceder al clúster `aws-auth` `ConfigMap` de Amazon EKS mediante una función de IAM.

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

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

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

 `role_mappings`    
Lista de asignaciones que definen los roles de IAM que deben añadirse al clúster de Amazon EKS `aws-auth` `ConfigMap`.    
 `arn`    
El ARN del rol de IAM.  
Obligatorio: sí  
Tipo: cadena  
 `groups`    
Grupos de Kubernetes para asignarlos a la función definida en `arn`.  
Obligatorio: no  
Tipo: lista

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

 `clusters`    
Un nodo [AWS.Compute.EKS](node-eks.md).  
Obligatorio: sí  
Tipo: lista

## Ejemplo
<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.Compute. EKSManagedNodo
<a name="node-eks-managed-node"></a>

AWS TNB es compatible con los grupos de nodos gestionados por EKS para automatizar el aprovisionamiento y la administración del ciclo de vida de los nodos ( EC2 instancias de Amazon) para los clústeres de Amazon EKS Kubernetes. Para crear un grupo de nodos de EKS, haga lo siguiente:
+ Elija Amazon Machine Images (AMI) para los nodos de trabajo de su clúster proporcionando el ID de la AMI o el tipo de AMI.
+ Proporcione un par de EC2 claves de Amazon para el acceso SSH y las propiedades de escalado de su grupo de nodos.
+ Asegúrese de que su grupo de nodos esté asociado a un clúster de Amazon EKS.
+ Proporcione las subredes de los nodos de trabajo.
+ Si lo desea, adjunte grupos de seguridad, etiquetas de nodos y un grupo de ubicación a su grupo de nodos.

## Sintaxis
<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`

Propiedades que definen los parámetros informáticos del grupo de nodos gestionado por Amazon EKS, como los tipos de EC2 instancias de Amazon y la EC2 instancia de Amazon AMIs.

 `ami_type`    
El tipo de AMI compatible con Amazon EKS.  
Obligatorio: sí  
Tipo: cadena  
Valores posibles: `AL2_x86_64` \$1 \$1 `AL2_x86_64_GPU` \$1 `AL2_ARM_64` \$1 `AL2023_x86_64` \$1 `AL2023_ARM_64` \$1 `AL2023_x86_64_NVIDIA` \$1 \$1 `AL2023_x86_64_NEURON` \$1 `CUSTOM` \$1 `BOTTLEROCKET_ARM_64` \$1 `BOTTLEROCKET_x86_64` `BOTTLEROCKET_ARM_64_NVIDIA` `BOTTLEROCKET_x86_64_NVIDIA`

 `ami_id`    
Es el ID de la AMI.  
Obligatorio: no  
Tipo: cadena  
Si ambos `ami_type` y `ami_id` se especifican en la plantilla, AWS TNB utilizará solo el `ami_id` valor para crear`EKSManagedNode`.

 `instance_types`    
El tamaño de la instancia.  
Obligatorio: sí  
Tipo: lista

 `key_pair`    
El par de EC2 claves para habilitar el acceso SSH.  
Obligatorio: sí  
Tipo: cadena

 `root_volume_encryption`    
Habilita el cifrado de Amazon EBS para el volumen raíz de Amazon EBS. Si no se proporciona esta propiedad, AWS TNB cifra los volúmenes raíz de Amazon EBS de forma predeterminada.  
Obligatorio: no  
Predeterminado: true  
Tipo: Booleano

 `root_volume_encryption_key_arn`    
El ARN de la AWS KMS clave. AWS TNB admite el ARN de clave normal, el ARN de clave multirregional y el ARN de alias.  
Obligatorio: no  
Tipo: cadena  
+ Si `root_volume_encryption` es falso, no lo incluya. `root_volume_encryption_key_arn`
+ AWS TNB admite el cifrado del volumen raíz de las AMI respaldadas por Amazon EBS.
+ Si el volumen raíz de la AMI ya está cifrado, debe incluirlo `root_volume_encryption_key_arn` para que AWS TNB vuelva a cifrar el volumen raíz.
+  Si el volumen raíz de la AMI no está cifrado, AWS TNB lo utiliza `root_volume_encryption_key_arn` para cifrar el volumen raíz.

  Si no la incluye`root_volume_encryption_key_arn`, AWS TNB utilizará la clave predeterminada proporcionada por AWS Key Management Service para cifrar el volumen raíz.
+ AWS TNB no descifra una AMI cifrada.

 `root_volume_size`    
El tamaño del volumen raíz de Amazon Elastic Block Store en GiBs.  
Obligatorio: no  
Predeterminado: 20  
Tipo: entero  
Valores posibles: de 1 a 16.384<a name="node_eks_managed_node_scaling"></a>`scaling`

Propiedades que definen los parámetros de escalado del grupo de nodos gestionado por Amazon EKS, como el número deseado de EC2 instancias de Amazon y el número mínimo y máximo de EC2 instancias de Amazon en el grupo de nodos.

 `desired_size`    
El número de instancias que contiene NodeGroup.  
Obligatorio: sí  
Tipo: entero

 `min_size`    
El número mínimo de instancias que contiene NodeGroup.  
Obligatorio: sí  
Tipo: entero

 `max_size`    
El número máximo de instancias que contiene NodeGroup.  
Obligatorio: sí  
Tipo: entero

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

 `node_role`    
El ARN de la función de IAM asociada a la instancia de Amazon. EC2   
Obligatorio: sí  
Tipo: cadena

 `tags`    
Las etiquetas que deben asociarse al recurso.  
Obligatorio: no  
Tipo: lista

 `kubernetes_version`    
La versión de Kubernetes para el grupo de nodos gestionados. AWS TNB es compatible con las versiones 1.25 a 1.32 de Kubernetes. Considere lo siguiente:  
+ Especifique la opción o. `kubernetes_version` `ami_id` No especifique ambos.
+ `kubernetes_version`Debe ser menor o igual que AWS.Compute. EKSManagedVersión de nodo.
+ Puede haber una diferencia de 3 versiones entre el AWS.Compute. EKSManagedVersión de nodo y. `kubernetes_version`
+ Si no `ami_id` se `kubernetes_version` especifica ni, AWS TNB utilizará la AMI más reciente de la `AWS.Compute.EKSManagedNode` versión para crear `EKSManagedNode`
Obligatorio: no  
Tipo: cadena  
Valores posibles: 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`    
Un nodo [AWS.Compute.EKS](node-eks.md).  
Obligatorio: sí  
Tipo: cadena

 `subnets`    
Un nodo [AWS.Networking.Subnet](node-subnet.md).  
Obligatorio: sí  
Tipo: lista

 `network_interfaces`    
Un nodo [AWS.Networking.ENI](node-eni.md). Asegúrese de que las interfaces de red y las subredes estén configuradas en la misma zona de disponibilidad o se producirá un error en la instanciación.  
[Al configurarlo`network_interfaces`, AWS TNB obtiene el permiso correspondiente de la `multus_role` propiedad si la ha incluido en el nodo ENIs AWS.Compute.EKS. `multus`](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html) [De lo contrario, AWS TNB obtiene el permiso correspondiente de la propiedad node\$1role. ENIs ](#node_eks_managed_node_node_role)  
Obligatorio: no  
Tipo: lista

 `security_groups`    
[Un .Networking.AWS SecurityGroup](node-networking-security-group.md)nodo.  
Obligatorio: no  
Tipo: lista

 `placement_group`    
Un [tosca.nodes.AWS.Compute. PlacementGroup](node-compute-placement-group.md)nodo.  
Obligatorio: no  
Tipo: cadena

 `user_data`    
Un [tosca.nodes.AWS.Compute. UserData](node-compute-user-data.md)referencia de nodo. Se pasa un script de datos de usuario a las EC2 instancias de Amazon lanzadas por el grupo de nodos gestionado. Agregue los permisos necesarios para ejecutar datos de usuario personalizados al node\$1role pasado al grupo de nodos.  
Obligatorio: no  
Tipo: cadena

 `labels`    
Una lista de etiquetas de nodos. Una etiqueta de nodo debe tener un nombre y un valor. Cree una etiqueta con los siguientes criterios:  
+ El nombre y el valor deben estar separados por`=`.
+ El nombre y el valor pueden tener hasta 63 caracteres cada uno.
+ La etiqueta puede incluir letras (A-Z, a-z), números (0-9) y los siguientes caracteres: `[-, _, ., *, ?]`
+ El nombre y el valor deben empezar y terminar con un alfanumérico o un carácter. `?` `*`
Por ejemplo, `myLabelName1=*NodeLabelValue1`  
Obligatorio: no  
Tipo: lista

## Ejemplo
<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.Calcular. EKSSelfManagedNode
<a name="node-eks-self-managed"></a>

AWS TNB es compatible con los nodos autogestionados de Amazon EKS para automatizar el aprovisionamiento y la administración del ciclo de vida de los nodos ( EC2 instancias de Amazon) para los clústeres de Amazon EKS Kubernetes. Para crear un grupo de nodos de Amazon EKS, haga lo siguiente:
+ Elija Amazon Machine Images (AMI) para los nodos de trabajadores del clúster proporcionando el ID de la AMI.
+ Proporcione un par de EC2 claves de Amazon para el acceso SSH.
+ Asegúrese de que su grupo de nodos esté asociado a un clúster de Amazon EKS.
+ Proporcione el tipo de instancia y los tamaños deseado, mínimo y máximo.
+ Proporcione las subredes de los nodos de trabajo.
+ Si lo desea, adjunte grupos de seguridad, etiquetas de nodos y un grupo de ubicación a su grupo de nodos.

## Sintaxis
<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`

Propiedades que definen los parámetros informáticos de los nodos autogestionados de Amazon EKS, como los tipos de instancias de Amazon y la EC2 instancia de Amazon EC2 . AMIs

 `ami_id`    
El ID de AMI utilizado para lanzar la instancia. AWS TNB admite instancias que aprovechan IMDSv2. Para obtener más información, consulte [Versión IMDS](imds-version.md).  
Puede actualizar el ID de AMI de`EKSSelfManagedNode`. La versión de Amazon EKS de la AMI debe ser igual o tener hasta 2 versiones anteriores a la versión de clúster de Amazon EKS. Por ejemplo, si la versión del clúster de Amazon EKS es 1.31, la versión de la AMI de Amazon EKS debe ser 1.31, 1.30 o 1.29.
Obligatorio: sí  
Tipo: cadena

 `instance_type`    
El tamaño de la instancia.  
Obligatorio: sí  
Tipo: cadena

 `key_pair`    
El par de EC2 claves de Amazon para habilitar el acceso SSH.  
Obligatorio: sí  
Tipo: cadena

 `root_volume_encryption`    
Habilita el cifrado de Amazon EBS para el volumen raíz de Amazon EBS. Si no se proporciona esta propiedad, AWS TNB cifra los volúmenes raíz de Amazon EBS de forma predeterminada.  
Obligatorio: no  
Predeterminado: true  
Tipo: Booleano

 `root_volume_encryption_key_arn`    
El ARN de la AWS KMS clave. AWS TNB admite el ARN de clave normal, el ARN de clave multirregional y el ARN de alias.  
Obligatorio: no  
Tipo: cadena  
+ Si `root_volume_encryption` es falso, no lo incluya. `root_volume_encryption_key_arn`
+ AWS TNB admite el cifrado del volumen raíz de las AMI respaldadas por Amazon EBS.
+ Si el volumen raíz de la AMI ya está cifrado, debe incluirlo `root_volume_encryption_key_arn` para que AWS TNB vuelva a cifrar el volumen raíz.
+  Si el volumen raíz de la AMI no está cifrado, AWS TNB lo utiliza `root_volume_encryption_key_arn` para cifrar el volumen raíz.

  Si no lo incluye`root_volume_encryption_key_arn`, AWS TNB lo utiliza AWS Managed Services para cifrar el volumen raíz.
+ AWS TNB no descifra una AMI cifrada.

 `root_volume_size`    
El tamaño del volumen raíz de Amazon Elastic Block Store en GiBs.  
Obligatorio: no  
Predeterminado: 20  
Tipo: entero  
Valores posibles: de 1 a 16.384<a name="node_eks_self_managed_node_scaling"></a>`scaling`

Propiedades que definen los parámetros de escalado de los nodos autogestionados de Amazon EKS, como el número deseado de EC2 instancias de Amazon y el número mínimo y máximo de EC2 instancias de Amazon en el grupo de nodos.

 `desired_size`    
El número de instancias que contiene. NodeGroup  
Obligatorio: sí  
Tipo: entero

 `min_size`    
El número mínimo de instancias que contiene NodeGroup.  
Obligatorio: sí  
Tipo: entero

 `max_size`    
El número máximo de instancias que contiene NodeGroup.  
Obligatorio: sí  
Tipo: entero

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

 `node_role`    
El ARN de la función de IAM asociada a la instancia de Amazon. EC2   
Obligatorio: sí  
Tipo: cadena

 `tags`    
Las etiquetas que deben asociarse al recurso. Las etiquetas se propagarán a las instancias creadas por el recurso.  
Obligatorio: no  
Tipo: lista

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

 `cluster`    
Un nodo [AWS.Compute.EKS](node-eks.md).  
Obligatorio: sí  
Tipo: cadena

 `subnets`    
Un nodo [AWS.Networking.Subnet](node-subnet.md).  
Obligatorio: sí  
Tipo: lista

 `network_interfaces`    
Un nodo [AWS.Networking.ENI](node-eni.md). Asegúrese de que las interfaces de red y las subredes estén configuradas en la misma zona de disponibilidad o se producirá un error en la instanciación.  
[Al configurarlo`network_interfaces`, AWS TNB obtiene el permiso correspondiente ENIs de la `multus_role` propiedad si la incluyó en el nodo `multus` AWS.Compute.EKS.](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html) [De lo contrario, AWS TNB obtiene el permiso correspondiente de la propiedad node\$1role. ENIs ](#node_eks_self_managed_node_role)  
Obligatorio: no  
Tipo: lista

 `security_groups`    
[Un .Networking.AWS SecurityGroup](node-networking-security-group.md)nodo.  
Obligatorio: no  
Tipo: lista

 `placement_group`    
Un [tosca.nodes.AWS.Compute. PlacementGroup](node-compute-placement-group.md)nodo.  
Obligatorio: no  
Tipo: cadena

 `user_data`    
Un [tosca.nodes.AWS.Compute. UserData](node-compute-user-data.md)referencia de nodo. Se pasa un script de datos de usuario a las EC2 instancias de Amazon lanzadas por el grupo de nodos autogestionado. Agregue los permisos necesarios para ejecutar datos de usuario personalizados al node\$1role pasado al grupo de nodos.  
Obligatorio: no  
Tipo: cadena

 `labels`    
Una lista de etiquetas de nodos. Una etiqueta de nodo debe tener un nombre y un valor. Cree una etiqueta con los siguientes criterios:  
+ El nombre y el valor deben estar separados por`=`.
+ El nombre y el valor pueden tener hasta 63 caracteres cada uno.
+ La etiqueta puede incluir letras (A-Z, a-z), números (0-9) y los siguientes caracteres: `[-, _, ., *, ?]`
+ El nombre y el valor deben empezar y terminar con un alfanumérico o un carácter. `?` `*`
Por ejemplo, `myLabelName1=*NodeLabelValue1`  
Obligatorio: no  
Tipo: lista

## Ejemplo
<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.Calcular. PlacementGroup
<a name="node-compute-placement-group"></a>

Un PlacementGroup nodo admite diferentes estrategias para colocar EC2 instancias de Amazon.

Cuando lanzas un Amazon nuevo EC2instance, el EC2 servicio de Amazon intenta colocar la instancia de forma que todas las instancias estén distribuidas en el hardware subyacente para minimizar los fallos correlacionados. Sin embargo, los *grupos de ubicación* influyen en la ubicación de un grupo de instancias *interdependientes* para satisfacer las necesidades de la carga de trabajo.

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

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

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

 `strategy`    
La estrategia que se utilizará para colocar las EC2 instancias de Amazon.  
Obligatorio: sí  
Tipo: cadena  
Valores posibles: CLUSTER \$1 PARTITION \$1 SPREAD\$1HOST \$1 SPREAD\$1RACK  
+ **CLUSTER**: agrupa las instancias unas cerca de otras dentro de una zona de disponibilidad. Esta estrategia permite que las cargas de trabajo alcancen el rendimiento de red de baja latencia necesario para una node-to-node comunicación estrechamente acoplada, típica de las aplicaciones de computación de alto rendimiento (HPC).
+ **PARTITION**: distribuye las instancias entre las particiones lógicas de modo que los grupos de instancias de una partición no compartan el hardware subyacente con los grupos de instancias de las demás particiones. Esta estrategia suelen utilizarla grandes cargas de trabajo distribuidas y replicadas, como Hadoop, Cassandra y Kafka.
+ **SPREAD\$1RACK**: coloca estrictamente un pequeño grupo de instancias en distintos equipos de hardware subyacentes para reducir los fallos correlacionados.
+ **SPREAD\$1HOST**: solo puede usar con grupos de ubicación de Outpost. Coloca un pequeño grupo de instancias en distintos equipos de hardware subyacentes para reducir los fallos correlacionados.

 `partition_count`    
El número de particiones.  
Obligatorio: obligatorio solo cuando `strategy` está establecido en `PARTITION`.  
Tipo: entero  
Valores posibles: 1 \$1 2 \$13 \$1 4 \$1 5 \$1 6 \$1 7

 `tags`    
Las etiquetas que puede adjuntar al recurso de grupo con ubicación.  
Obligatorio: no  
Tipo: lista

## Ejemplo
<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.Computación. UserData
<a name="node-compute-user-data"></a>

AWS TNB admite el lanzamiento de EC2 instancias de Amazon con datos de usuario personalizados, a través del UserData nodo del Network Service Descriptor (NSD). Para obtener más información sobre los datos de usuario personalizados, consulte [Datos de usuario y scripts de shell](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts) en la *Guía del EC2 usuario de Amazon*.

Durante la instanciación de la red, AWS TNB proporciona el registro de la EC2 instancia de Amazon en el clúster mediante un script de datos de usuario. Cuando también se proporcionan datos de usuario personalizados, AWS TNB fusiona ambos scripts y los pasa como un [script multimime](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-mime-multi) a Amazon. EC2 El script de datos de usuario personalizado se ejecuta antes que el script de registro de Amazon EKS.

Para utilizar variables personalizadas en el script de datos de usuario, añada un signo de exclamación `!` después de la llave abierta `{`. Por ejemplo, para utilizar `MyVariable` en el script, introduzca: `{!MyVariable}`

**nota**  
AWS TNB admite scripts de datos de usuario de hasta 7 KB de tamaño.
Como AWS TNB procesa y renderiza el script de `multimime` datos de usuario, asegúrese de que el script cumpla con todas las reglas. CloudFormation CloudFormation 

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

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

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

 `implementation`    
La ruta relativa a la definición del script de datos de usuario. El formato debe ser: `./scripts/script_name.sh`  
Obligatorio: sí  
Tipo: cadena

 `content_type`    
Tipo de contenido del script de datos de usuario.  
Obligatorio: sí  
Tipo: cadena  
Valores posibles: `x-shellscript`

## Ejemplo
<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.Redes. SecurityGroup
<a name="node-networking-security-group"></a>

AWS TNB admite grupos de seguridad para automatizar el aprovisionamiento de los grupos de [ EC2seguridad de Amazon que puede adjuntar a los grupos](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html) de nodos del clúster Kubernetes de Amazon EKS.

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

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

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

 `description`    
La descripción del grupo de seguridad. Puede usar hasta 255 caracteres para describir el grupo. Solo puede incluir letras (A-Z y a-z), números (0-9), espacios y los siguientes caracteres especiales: .\$1-:/()\$1,@[]\$1=&;\$1\$1\$1\$1\$1  
Obligatorio: sí  
Tipo: cadena

 `name`    
Un nombre para el grupo de seguridad. Puede utilizar hasta 255 caracteres para el nombre. Solo puede incluir letras (A-Z y a-z), números (0-9), espacios y los siguientes caracteres especiales: .\$1-:/()\$1,@[]\$1=&;\$1\$1\$1\$1\$1  
Obligatorio: sí  
Tipo: cadena

 `tags`    
Las etiquetas que puede adjuntar al recurso de grupo de seguridad.  
Obligatorio: no  
Tipo: lista

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

 `vpc`    
Un nodo [AWS.Networking.VPC](node-vpc.md).  
Obligatorio: sí  
Tipo: cadena

## Ejemplo
<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.Redes. SecurityGroupEgressRule
<a name="node-networking-security-group-egress-rule"></a>

AWS TNB admite reglas de salida de grupos de seguridad para automatizar el aprovisionamiento de las reglas de salida de grupos de EC2 seguridad de Amazon que se pueden adjuntar a .Networking. AWS SecurityGroup. Tenga en cuenta que debe proporcionar un cidr\$1 ip/destination\$1security\$1group/destination \$1prefix\$1list como destino del tráfico de salida.

## Sintaxis
<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
```

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

 `cidr_ip`    
El rango de direcciones en formato CIDR. IPv4 Debe especificar un rango de CIDR que permita el tráfico de salida.  
Obligatorio: no  
Tipo: cadena

 `cidr_ipv6`    
El rango IPv6 de direcciones en formato CIDR, para el tráfico de salida. Debe especificar un grupo de seguridad de destino (`destination_security_group` o `destination_prefix_list`) o un rango de CIDR (`cidr_ip` o `cidr_ipv6`).  
Obligatorio: no  
Tipo: cadena

 `description`    
Descripción de una regla del grupo de seguridad de salida. Puede usar hasta 255 caracteres para describir la regla.  
Obligatorio: no  
Tipo: cadena

 `destination_prefix_list`    
El identificador de lista de prefijos de una lista de prefijos gestionada por Amazon VPC existente. Este es el destino de las instancias del grupo de nodos asociado al grupo de seguridad. Para obtener más información sobre listas de prefijos administrados, consulte la [Lista de prefijos administrados](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html) en la *Guía del usuario de Amazon VPC*.  
Obligatorio: no  
Tipo: cadena

 `from_port`    
Si el protocolo es TCP o UDP, es el inicio del rango de puertos. Si el protocolo es ICMP o ICMPv6, este es el número de tipo. Un valor de -1 indica los ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 códigos.  
Obligatorio: no  
Tipo: entero

 `ip_protocol`    
El nombre del protocolo IP (tcp, udp, icmp, icmpv6) o el número de protocolo. Utilice -1 para especificar todos los protocolos. Al autorizar las reglas del grupo de seguridad, si especifica -1 o un número de protocolo que no sea tcp, udp, icmp o icmpv6 permite el tráfico en todos los puertos, independientemente del rango de puertos que especifique. Para tcp, udp e icmp debe especificar un rango de puertos. Para icmpv6, el rango de puertos es opcional; si se omite el rango de puertos, se permite el tráfico para todos los tipos y códigos.  
Obligatorio: sí  
Tipo: cadena

 `to_port`    
Si el protocolo es TCP o UDP, es el final del rango de puertos. Si el protocolo es ICMP o ICMPv6, este es el código. Un valor de -1 indica los ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 códigos.  
Obligatorio: no  
Tipo: entero

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

 `security_group`    
El identificador del grupo de seguridad al que se añade esta regla.  
Obligatorio: sí  
Tipo: cadena

 `destination_security_group`    
El identificador o la referencia TOSCA del grupo de seguridad de destino al que se permite el tráfico de salida.  
Obligatorio: no  
Tipo: cadena

## Ejemplo
<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.Redes. SecurityGroupIngressRule
<a name="node-networking-security-group-ingress-rule"></a>

AWS TNB admite las reglas de entrada de grupos de seguridad para automatizar el aprovisionamiento de las reglas de entrada de grupos de EC2 seguridad de Amazon, que se pueden adjuntar a .Networking. AWS SecurityGroup. Tenga en cuenta que debe proporcionar un cidr\$1 ip/source\$1security\$1group/source \$1prefix\$1list como origen del tráfico de entrada.

## Sintaxis
<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
```

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

 `cidr_ip`    
El rango de direcciones en formato CIDR. IPv4 Debe especificar un rango de CIDR que permita el tráfico de entrada.  
Obligatorio: no  
Tipo: cadena

 `cidr_ipv6`    
El rango IPv6 de direcciones en formato CIDR, para el tráfico de entrada. Debe especificar un grupo de seguridad de origen (`source_security_group` o `source_prefix_list`) o un rango de CIDR (`cidr_ip` o `cidr_ipv6`).  
Obligatorio: no  
Tipo: cadena

 `description`    
La descripción de una regla del grupo de seguridad de entrada. Puede usar hasta 255 caracteres para describir la regla.  
Obligatorio: no  
Tipo: cadena

 `source_prefix_list`    
El identificador de lista de prefijos de una lista de prefijos gestionada por Amazon VPC existente. Esta es la fuente desde la que se permitirá recibir tráfico a las instancias del grupo de nodos asociadas al grupo de seguridad. Para obtener más información sobre listas de prefijos administrados, consulte la [Lista de prefijos administrados](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html) en la *Guía del usuario de Amazon VPC*.  
Obligatorio: no  
Tipo: cadena

 `from_port`    
Si el protocolo es TCP o UDP, es el inicio del rango de puertos. Si el protocolo es ICMP o ICMPv6, este es el número de tipo. Un valor de -1 indica los ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 códigos.  
Obligatorio: no  
Tipo: entero

 `ip_protocol`    
El nombre del protocolo IP (tcp, udp, icmp, icmpv6) o el número de protocolo. Utilice -1 para especificar todos los protocolos. Al autorizar las reglas del grupo de seguridad, si especifica -1 o un número de protocolo que no sea tcp, udp, icmp o icmpv6 permite el tráfico en todos los puertos, independientemente del rango de puertos que especifique. Para tcp, udp e icmp debe especificar un rango de puertos. Para icmpv6, el rango de puertos es opcional; si se omite el rango de puertos, se permite el tráfico para todos los tipos y códigos.  
Obligatorio: sí  
Tipo: cadena

 `to_port`    
Si el protocolo es TCP o UDP, es el final del rango de puertos. Si el protocolo es ICMP o ICMPv6, este es el código. Un valor de -1 indica los ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 códigos.  
Obligatorio: no  
Tipo: entero

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

 `security_group`    
El identificador del grupo de seguridad al que se añade esta regla.  
Obligatorio: sí  
Tipo: cadena

 `source_security_group`    
El identificador o la referencia TOSCA del grupo de seguridad de origen desde el que se va a permitir el tráfico de entrada.  
Obligatorio: no  
Tipo: cadena

## Ejemplo
<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>

Puede importar los siguientes AWS recursos a AWS TNB:
+ VPC
+ Subred
+ Tabla de enrutamiento
+ Puerta de enlace de Internet
+ Security Group

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

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

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

 `resource_type`    
El tipo de recurso que se importa a AWS TNB.  
Obligatorio: no  
Tipo: lista

 `resource_id`    
El identificador del recurso que se importa a AWS TNB.  
Obligatorio: no  
Tipo: lista

## Ejemplo
<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>

Una interfaz de red es un componente de red lógico en una VPC que representa una tarjeta de red virtual. A una interfaz de red se le asigna una dirección IP automática o manualmente en función de su subred. Tras implementar una EC2 instancia de Amazon en una subred, puede adjuntarle una interfaz de red o desconectar una interfaz de red de esa instancia de Amazon y volver a conectarla a otra EC2 instancia de Amazon EC2 de esa subred. El índice del dispositivo identifica la posición en el orden en que se adjunta.

## Sintaxis
<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
```

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

 `device_index`    
El índice del dispositivo debe ser mayor que cero.  
Obligatorio: sí  
Tipo: entero

 `source_dest_check`    
Indica si la interfaz de red comprueba el origen y el destino. Un valor de `true` significa que la comprobación está habilitada y un valor de `false` significa que la comprobación está deshabilitada.  
Valor permitido: verdadero, falso  
Predeterminado: true  
Obligatorio: no  
Tipo: booleano

 `tags`    
Las etiquetas que deben asociarse al recurso.  
Obligatorio: no  
Tipo: lista

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

 `subnet`    
Un nodo [AWS.Networking.Subnet](node-subnet.md).  
Obligatorio: sí  
Tipo: cadena

 `security_groups`    
Un [AWS.Networking. SecurityGroup](node-networking-security-group.md)nodo.  
Obligatorio: no  
Tipo: cadena

## Ejemplo
<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>

Un enlace de ciclo de vida le permite ejecutar sus propios scripts como parte de la instanciación de su infraestructura y red.

## Sintaxis
<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`

Propiedades del motor de ejecución de enlaces que ejecuta los guiones de enlace.

 `type`    
Tipo de motor de ejecución de enlaces.  
Obligatorio: no  
Tipo: cadena  
Valores posibles: `CODE_BUILD` 

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

 `definition`    
[Un AWS. HookDefinitionNodo .Bash.](node-hook-bash.md)  
Obligatorio: sí  
Tipo: cadena

 `vpc`    
Un nodo [AWS.Networking.VPC](node-vpc.md).  
Obligatorio: sí  
Tipo: cadena

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

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

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

Define un nodo AWS de Internet Gateway.

## Sintaxis
<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`

Propiedades que definen la conexión de enrutamiento dentro de la VPC. Debe incluir la propiedad `dest_cidr` o `ipv6_dest_cidr`.

 `dest_cidr`    
El bloque IPv4 CIDR utilizado para la coincidencia de destino. Esta propiedad se utiliza para crear una ruta en `RouteTable` y su valor se utiliza como `DestinationCidrBlock`.  
Obligatorio: no si se ha incluido la propiedad `ipv6_dest_cidr`.  
Tipo: cadena

 `ipv6_dest_cidr`    
El bloque IPv6 CIDR utilizado para la coincidencia de destino.  
Obligatorio: no si se ha incluido la propiedad `dest_cidr`.  
Tipo: cadena

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

 `tags`    
Las etiquetas que deben asociarse al recurso.  
Obligatorio: no  
Tipo: lista

 `egress_only`    
Una IPv6 propiedad específica. Indica si la puerta de enlace de Internet es solo para la comunicación de salida o no. Si `egress_only` es verdadero, debe definir la propiedad `ipv6_dest_cidr`.  
Obligatorio: no  
Tipo: booleano

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

 `vpc`    
Un nodo [AWS.Networking.VPC](node-vpc.md).  
Obligatorio: sí  
Tipo: cadena

 `route_table`    
Una [AWS.Networking. RouteTable](node-route-table.md)nodo.  
Obligatorio: sí  
Tipo: cadena

## Ejemplo
<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.Redes. RouteTable
<a name="node-route-table"></a>

Las tablas de enrutamiento contienen conjuntos de reglas, denominadas rutas, que determinan hacia dónde se dirige el tráfico de red desde las subredes de la VPC o puerta de enlace. Debe asociar una tabla de enrutamiento a una VPC.

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

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

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

 `tags`    
Etiquetas que deben asociarse a este recurso.  
Obligatorio: no  
Tipo: lista

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

 `vpc`    
Un nodo [AWS.Networking.VPC](node-vpc.md).  
Obligatorio: sí  
Tipo: cadena

## Ejemplo
<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>

Una subred es un rango de direcciones IP en su VPC, y debe residir completamente en una zona de disponibilidad. Debe especificar una VPC, un bloque de CIDR, una zona de disponibilidad y una tabla de enrutamiento para la subred. También debe definir si su subred es privada o pública.

## Sintaxis
<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
```

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

 `type`    
Indica si las instancias lanzadas en esta subred reciben una dirección pública. IPv4  
Obligatorio: sí  
Tipo: cadena  
Los valores posibles son: `PUBLIC` \$1 `PRIVATE`

 `availability_zone`    
La zona de disponibilidad de la subred. Este campo admite las zonas de AWS disponibilidad de una AWS región, por ejemplo `us-west-2` (EE.UU. Oeste (Oregón)). También es compatible con las Zonas AWS Locales dentro de la Zona de Disponibilidad, por ejemplo`us-west-2-lax-1a`.  
Obligatorio: sí  
Tipo: cadena

 `cidr_block`    
El bloque de CIDR de la subred.  
Obligatorio: no  
Tipo: cadena

 `ipv6_cidr_block`    
El bloque CIDR utilizado para crear la IPv6 subred. Si se incluye esta propiedad, no incluya `ipv6_cidr_block_suffix`.  
Obligatorio: no  
Tipo: cadena

 `ipv6_cidr_block_suffix`    
El sufijo hexadecimal de 2 dígitos del bloque IPv6 CIDR para la subred creada a través de Amazon VPC. Use el siguiente formato `2-digit hexadecimal::/subnetMask`  
Si se incluye esta propiedad, no incluya `ipv6_cidr_block`.  
Obligatorio: no  
Tipo: cadena

 `outpost_arn`    
El ARN en el AWS Outposts que se creará la subred. Añada esta propiedad a la plantilla de NSD si desea lanzar nodos autogestionados de Amazon EKS en AWS Outposts. Para obtener más información, consulte [Amazon EKS en AWS Outposts](https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts.html) en la *Guía del usuario de Amazon EKS*.  
Si añade esta propiedad a la plantilla de NSD, debe establecer el valor de la propiedad `availability_zone` en la Zona de disponibilidad de AWS Outposts.  
Obligatorio: no  
Tipo: cadena

 `tags`    
Las etiquetas que deben asociarse al recurso.  
Obligatorio: no  
Tipo: lista

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

 `vpc`    
Un nodo [AWS.Networking.VPC](node-vpc.md).  
Obligatorio: sí  
Tipo: cadena

 `route_table`    
[Un AWS.Networking. RouteTable](node-route-table.md)nodo.  
Obligatorio: sí  
Tipo: cadena

## Ejemplo
<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.Despliegue. VNFDeployment
<a name="node-vnf-deployment"></a>

Las implementaciones de NF se modelan proporcionando la infraestructura y la aplicación asociadas a ellas. El atributo de [clúster](#node_vnf_deployment_cluster) especifica el clúster de EKS que alojará su NFs. El atributo [vnfs](#node_vnf_deployment_vnfs) especifica las funciones de red de su implementación. También puede proporcionar operaciones opcionales de enlace de ciclo de vida del tipo [pre\$1create y [post\$1create](#node_vnf_deployment_post_create)](#node_vnf_deployment_pre_create) para ejecutar instrucciones específicas de su implementación, como llamar a la API del sistema de gestión de inventario.

## Sintaxis
<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`    
Un [AWS.Deployment. VNFDeployment](node-vnf.md)nodo.  
Obligatorio: no  
Tipo: cadena

 `cluster`    
Un nodo [AWS.Compute.EKS](node-eks.md).  
Obligatorio: sí  
Tipo: cadena

 `vnfs`    
Un nodo [AWS.VNF](node-vnf.md).  
Obligatorio: sí  
Tipo: cadena

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

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

Define la etapa en la que se ejecutan los enlaces del ciclo de vida.

 `pre_create`    
Un [AWS. HookExecution](node-hook-execution.md)nodo. Este enlace se ejecuta antes de que se implemente el nodo `VNFDeployment`.  
Obligatorio: no  
Tipo: cadena

 `post_create`    
Un [AWS. HookExecution](node-hook-execution.md)nodo. Este enlace se ejecuta después de la implementación del nodo `VNFDeployment`.  
Obligatorio: no  
Tipo: cadena

## Ejemplo
<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>

Debe especificar un bloque de CIDR para su nube privada virtual (VPC).

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

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

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

 `cidr_block`    
El rango IPv4 de redes de la VPC, en notación CIDR.  
Obligatorio: sí  
Tipo: cadena

 `ipv6_cidr_block`    
El bloque IPv6 CIDR utilizado para crear la VPC.  
Valor permitido: `AMAZON_PROVIDED`  
Obligatorio: no  
Tipo: cadena

 `dns_support`    
Especifica si las instancias lanzadas en la VPC obtienen nombres de host de DNS.  
Obligatorio: no  
Tipo: booleano  
Valor predeterminado: `false` 

 `tags`    
Etiquetas que deben asociarse a este recurso.  
Obligatorio: no  
Tipo: lista

## Ejemplo
<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.Redes. NATGateway
<a name="node-nat-gateway"></a>

Puede definir un nodo de puerta de enlace de NAT público o privado a través de una subred. En el caso de una puerta de enlace pública, si no proporciona una ID de asignación de IP elástica, AWS TNB asignará una IP elástica a su cuenta y la asociará a la puerta de enlace.

## Sintaxis
<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
```

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

 `subnet`    
La referencia del nodo [AWS.Networking.Subnet](https://docs.aws.amazon.com/tnb/latest/ug/node-subnet.html).  
Obligatorio: sí  
Tipo: cadena

 `internet_gateway`    
El [AWS.Networking. InternetGateway](https://docs.aws.amazon.com/tnb/latest/ug/node-internet-gateway.html)referencia de nodo.  
Obligatorio: sí  
Tipo: cadena

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

 `type`    
Indica si la puerta de enlace es pública o privada.  
Valor permitido: `PUBLIC`, `PRIVATE`  
Obligatorio: sí  
Tipo: cadena

 `eip_allocation_id`    
El ID que representa la asignación de la dirección IP elástica.  
Obligatorio: no  
Tipo: cadena

 `tags`    
Etiquetas que deben asociarse a este recurso.  
Obligatorio: no  
Tipo: lista

## Ejemplo
<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>

Puede definir un nodo de ruta que asocie la ruta de destino a la puerta de enlace NAT como recurso de destino y agregue la ruta a la tabla de rutas asociada.

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

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

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

 `dest_cidr_blocks`    
La lista de IPv4 rutas de destino al recurso de destino.  
Obligatorio: sí  
Tipo: lista  
Tipo de miembro: cadena

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

 `nat_gateway`    
El [AWS.Networking. NATGateway](https://docs.aws.amazon.com/tnb/latest/ug/node-nat-gateway.html)referencia de nodo.  
Obligatorio: sí  
Tipo: cadena

 `route_table`    
El [AWS.Networking. RouteTable](https://docs.aws.amazon.com/tnb/latest/ug/node-route-table.html)referencia de nodo.  
Obligatorio: sí  
Tipo: cadena

## Ejemplo
<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.Tienda. SSMParameters
<a name="node-ssm"></a>

Puede crear parámetros SSM a través de TNB. AWS Los parámetros SSM que cree se crean en SSM y llevan como prefijo el ID de la AWS instancia de red TNB. Esto evita que los valores de los parámetros se anulen cuando se instancian y actualizan varias instancias con la misma plantilla NSD.

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

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

## Propiedades
<a name="node-ssm-properties"></a>Parámetros

 `name`    
El nombre de la propiedad ssm. Use el siguiente formato `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+$`  
El nombre de cada parámetro debe tener menos de 256 caracteres.  
Obligatorio: sí  
Tipo: cadena

 `value`    
El valor de la propiedad ssm. Utilice uno de los siguientes formatos:  
+ Para valores sin referencias: `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+$`
+ Para referencias estáticas: `^\$\{[a-zA-Z0-9]+\.(properties|capabilities|requirements)(\.([a-zA-Z0-9\-_]+))+\}$`
+ Para referencias dinámicas: `^\$\{[a-zA-Z0-9]+\.(name|id|arn)\}$`
El valor de cada parámetro debe ser inferior a 4 KB.  
Obligatorio: sí  
Tipo: cadena

 `tags`    
Las etiquetas que puede adjuntar a una propiedad de SSM.  
Obligatorio: no  
Tipo: lista

## Ejemplo
<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"
```