

Il s’agit du nouveau *Guide de référence des modèles CloudFormation *. Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le [guide de AWS CloudFormation l'utilisateur](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# `Fn::Cidr`
<a name="intrinsic-function-reference-cidr"></a>

La fonction intrinsèque `Fn::Cidr` renvoie un tableau de blocs d'adresse CIDR. Le nombre de blocs d'adresse CIDR renvoyés dépend du paramètre `count`.

## Déclaration
<a name="intrinsic-function-reference-cidr-declaration"></a>

### JSON
<a name="intrinsic-function-reference-cidr-syntax.json"></a>

```
{ "Fn::Cidr" : [{{ipBlock}}, {{count}}, {{cidrBits}}]}
```

### YAML
<a name="intrinsic-function-reference-cidr-syntax.yaml"></a>

Syntaxe pour le nom complet de la fonction :

```
Fn::Cidr: 
  - {{ipBlock}}
  - {{count}}
  - {{cidrBits}}
```

Syntaxe pour la forme courte :

```
!Cidr [ {{ipBlock}}, {{count}}, {{cidrBits}} ]
```

## Parameters
<a name="intrinsic-function-reference-cidr-parameters"></a>

ipBlock  <a name="ipBlock"></a>
Bloc d'adresse CIDR spécifié par l'utilisateur à fractionner en plus petits blocs d'adresse CIDR.

count  <a name="count"></a>
Le nombre de CIDRs à générer. La plage valide est comprise entre 1 et 256.

cidrBits  <a name="cidrBits"></a>
Nombre de bits de sous-réseau pour le bloc CIDR. Par exemple, spécifier la valeur « 8 » pour ce paramètre crée un bloc CIDR avec un masque « /24 ».  
Les bits de sous-réseaux sont l'inverse du masque de sous-réseau. Pour calculer les bits d'hôte requis pour un sous-réseau donné, soustrayez les bits de sous-réseau de 32 pour IPv4 ou 128 pour. IPv6

## Valeur renvoyée
<a name="intrinsic-function-reference-cidr-return-values"></a>

Tableau de blocs d'adresse CIDR.

## Exemple
<a name="intrinsic-function-reference-cidr-examples"></a>

### Utilisation de base
<a name="intrinsic-function-reference-cidr-example1"></a>

Cet exemple crée 6 CIDRs avec un masque de sous-réseau « /27 » à l'intérieur d'un CIDR avec un masque « /24 ».

#### JSON
<a name="intrinsic-function-reference-cidr-example1.json"></a>

```
{ "Fn::Cidr" : [ "192.168.0.0/24", "6", "5"] }
```

#### YAML
<a name="intrinsic-function-reference-cidr-example1.yaml"></a>

```
!Cidr [ "192.168.0.0/24", 6, 5 ]
```

### Création d'un IPv6 VPC activé
<a name="intrinsic-function-reference-cidr-example2"></a>

Cet exemple de modèle crée un sous-réseau IPv6 activé.

#### JSON
<a name="intrinsic-function-reference-cidr-example2.json"></a>

```
{
    "Resources": {
        "ExampleVpc": {
            "Type": "AWS::EC2::VPC",
            "Properties": {
                "CidrBlock": "10.0.0.0/16"
            }
        },
        "IPv6CidrBlock": {
            "Type": "AWS::EC2::VPCCidrBlock",
            "Properties": {
                "AmazonProvidedIpv6CidrBlock": true,
                "VpcId": {
                    "Ref": "ExampleVpc"
                }
            }
        },
        "ExampleSubnet": {
            "Type": "AWS::EC2::Subnet",
            "DependsOn": "IPv6CidrBlock",
            "Properties": {
                "AssignIpv6AddressOnCreation": true,
                "CidrBlock": {
                    "Fn::Select": [
                        0,
                        {
                            "Fn::Cidr": [
                                {
                                    "Fn::GetAtt": [
                                        "ExampleVpc",
                                        "CidrBlock"
                                    ]
                                },
                                1,
                                8
                            ]
                        }
                    ]
                },
                "Ipv6CidrBlock": {
                    "Fn::Select": [
                        0,
                        {
                            "Fn::Cidr": [
                                {
                                    "Fn::Select": [
                                        0,
                                        {
                                            "Fn::GetAtt": [
                                                "ExampleVpc",
                                                "Ipv6CidrBlocks"
                                            ]
                                        }
                                    ]
                                },
                                1,
                                64
                            ]
                        }
                    ]
                },
                "VpcId": {
                    "Ref": "ExampleVpc"
                }
            }
        }
    }
}
```

#### YAML
<a name="intrinsic-function-reference-cidr-example2.yaml"></a>

```
Resources:
  ExampleVpc:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
  IPv6CidrBlock:
    Type: AWS::EC2::VPCCidrBlock
    Properties:
      AmazonProvidedIpv6CidrBlock: true
      VpcId: !Ref ExampleVpc
  ExampleSubnet:
    Type: AWS::EC2::Subnet
    DependsOn: IPv6CidrBlock
    Properties:
      AssignIpv6AddressOnCreation: true
      CidrBlock: !Select
        - 0
        - !Cidr
          - !GetAtt ExampleVpc.CidrBlock
          - 1
          - 8
      Ipv6CidrBlock: !Select
        - 0
        - !Cidr
          - !Select
            - 0
            - !GetAtt ExampleVpc.Ipv6CidrBlocks
          - 1
          - 64
      VpcId: !Ref ExampleVpc
```

## Fonctions prises en charge
<a name="intrinsic-function-reference-cidr-functions"></a>

Vous pouvez utiliser les fonctions suivantes dans une fonction `Fn::Cidr` :
+ [`Fn::Select`](intrinsic-function-reference-select.md)
+ [`Ref`](intrinsic-function-reference-ref.md)