0

Je suis nouveau dans le monde AWS Cloudformation. J'essaye de créer un modèle de configuration d'elasticbeanstalk. Car c'est l'un des paramètres, j'ai besoin d'utiliser deux groupes de sécurité. Alors, je l'ai donné comme suitAWS Cloudformation: comment référencer plusieurs groupes de sécurité dans la configuration AWS elastic beanstalk

MyConfigurationTemplate: 
    Type: AWS::ElasticBeanstalk::ConfigurationTemplate 
    Properties: 
    Properties: 
    ApplicationName: MyApplication 
    Description: A default Application 
    SolutionStackName: SolutionStack 
    OptionSettings: 
    .... 
    .... 
    - Namespace: aws:autoscaling:launchconfiguration 
    OptionName: SecurityGroups 
    Value: 
     !If 
     - ConditionIsTrue 
     - [!Ref FirstGroup, !ImportValue SecondGroup] 
     - !Ref FirstGroup 
    .... 
    .... 

j'ai lu AWS docs here, qui SecurityGroups une liste et nous pouvons fournir une liste seprated par des virgules. Mais ça ne marche pas pour moi. AWS lancers francs erreur suivant

Valeur de la propriété La valeur doit être de type String

J'ai essayé de donner valeur des groupes de sécurité façons, mais aucun d'entre eux travaillaient.

1) "! Réf FirstGroup,! ImportValue SecondGroup"

2)! Réf FirstGroup,! ImportValue SecondGroup

Toute idée comment cette liste des groupes de sécurité devraient être fournis?

Répondre

0

Je l'ai eu moi-même avec quelques essais et erreurs. Comme il accepte la liste séparée par des virgules. Nous devons utiliser ! Joindre comme suit.

MyConfigurationTemplate: 
Type: AWS::ElasticBeanstalk::ConfigurationTemplate 
Properties: 
    ApplicationName: MyApplication 
    Description: A default Application 
    SolutionStackName: SolutionStack 
    OptionSettings: 
    .... 
    .... 
    - Namespace: aws:autoscaling:launchconfiguration 
    OptionName: SecurityGroups 
    Value: 
    !If 
     - ConditionIsTrue 
     - !Join [',', [!Ref FirstGroup, !ImportValue SecondGroup]] 
     - !Ref FirstGroup 
    .... 
    ....