Por ejemplo, tengo esta plantilla CF que solicita estos parámetros
----- cftemplate.yaml ----- ... Parameters: **Subnet: Description: Subnet for the Instance Type: 'AWS::EC2::Subnet::Id' SecurityGroups: Description: Security Group for Instance Type: 'List<AWS::EC2::SecurityGroup::Id>'** ... Resources: EC2Instance: Type: AWS::EC2::Instance Properties: ... **SubnetId: !Ref Subnet SecurityGroupIds: !Ref SecurityGroups** ... ----- cftemplate.yaml -----Para implementar la pila, uso este comando:
aws cloudformation create-stack --stack-name StackName --template-body file://cftemplate.yaml --parameters file://params.jsonDonde params.json contiene:
----- params.json ----- [ { "ParameterKey":"Subnet", "ParameterValue":"subnet-11111111" }, { "ParameterKey":"SecurityGroups", "ParameterValue":"sg-111111111", "ParameterValue":"sg-222222222" } ] ----- params.json -----Ahora, mi objetivo es eliminar el uso del archivo .json. ¿Alguien sabe la sintaxis abreviada del comando que debería lograr el mismo efecto que el comando anterior? Parece que no puedo encontrar esto en la documentación en línea. ¡Gracias por adelantado!
El equivalente de la línea de comando sería (un poco reformateado para aclarar):
aws cloudformation create-stack \ --stack-name StackName \ --template-body file://cftemplate.yaml \ --parameters ParameterKey=Subnet,ParameterValue=subnet-11111111 ParameterKey=SecurityGroups,ParameterValue=sg-111111111\\,sg-222222222En lo anterior, la atención a los espacios y las comas es importante.
Verifiqué el comando usando mis propios parámetros y mi cuenta de sandbox:
aws cloudformation create-stack --stack-name StackName --template-body file://instance.yaml --parameters ParameterKey=Subnet,ParameterValue=subnet-0ae6ce0f9bbf52251 ParameterKey=SecurityGroups,ParameterValue=sg-06d2a3e9c8aa99620\\,sg-004d23d188ec1146flo cual es correcto y da como resultado el inicio del proceso de implementación de la pila:
{ "StackId": "arn:aws:cloudformation:us-east-1:xxxxxx:stack/StackName/61fbacd0-d3b0-11ea-970a-0ad23187ddb2" }es posible que desee echar un vistazo a la lluvia cli. Está desarrollado pero alguien del equipo de formación en la nube y es mucho mejor que aws cli.
De la documentación cli,
$ aws cloudformation create-stack help ... "--parameters" (list) A list of "Parameter" structures that specify input parameters for the stack. For more information, see the Parameter data type. Shorthand Syntax: ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ... JSON Syntax: [ { "ParameterKey": "string", "ParameterValue": "string", "UsePreviousValue": true|false, "ResolvedValue": "string" } ... ] ...donde los elementos de la lista están separados por espacios.