1
votes

Comment mettre des balises sur des ressources API Gateway V2 à l'aide d'un modèle YAML CloudFormation

Comment placer des balises sur les ressources suivantes à l'aide d'un modèle CloudFormation:

  • AWS :: ApiGatewayV2 :: Api
  • AWS :: ApiGatewayV2 :: DomainName
  • AWS :: ApiGatewayV2 :: Stage

Pour une ressource AWS :: ApiGatewayV2 :: Api générique, j'ai essayé ce qui suit dans la section Ressources du modèle CloudFormation:

Tags: !Sub |
  {
    "TagKey1": "MyFirstTag",
    "TagKey2": "${MySecondTagAsParameter}"
  }

Dans CloudFormation Vue des événements d'Amazon Management Console, la ressource a échoué pour la raison suivante:

Échec de la validation de la propriété: la [valeur de la propriété {/ Tags} ne correspond pas au type {Map}]

J'ai recherché le Type, qui semblait être Json dans le documentation :

 Tags: !Sub "{ \"TagKey1\" : \"MyFirstTag\", \"TagKey2\" : \"${MySecondTagAsParameter}\"}"

Ce qui m'a poussé à essayer ce qui suit:

Tags
  The collection of tags. Each tag element is associated with a given resource.
  Required: No
  Type: Json
  Update requires: No interruption
  Required: No

Cela n'a pas non plus fonctionné, ce qui m'a incité à essayer les littéraux YAML:

MyApi:
  Type: 'AWS::ApiGatewayV2::Api'
  Properties:
    Name: MyApi
    ProtocolType: WEBSOCKET
    RouteSelectionExpression: $request.body.action
    ApiKeySelectionExpression: $request.header.x-api-key
    Tags:
      - Key: TagKey1
        Value: MyFirstTag
      - Key: TagKey2
        Value: !Ref MySecondTagAsParameter

Cela n'a pas fonctionné non plus.


0 commentaires

3 Réponses :


2
votes

Ce qui suit a fait l'affaire:

Tags:
  TagKey1: MyFirstTag
  TagKey2: !Ref MySecondTagAsParameter


0 commentaires

0
votes

Vous étiez très proche de la solution de type json :

      Tags: { "TagKey1": "MyFirstTag",
              "TagKey2": !Ref MySecondTagAsParameter}


0 commentaires

0
votes

Pour moi, la syntaxe suivante a fonctionné:

Tags: 
  - 
    Key: "keyname1"
    Value: "value1"
  - 
    Key: "keyname2"
    Value: "value2"

Source: Documentation AWS


0 commentaires