aws / aws-cli

Universal Command Line Interface for Amazon Web Services
Other
15.14k stars 4.02k forks source link

Add --change-set-name to aws cloudformation deploy command #5435

Open y3ti opened 3 years ago

y3ti commented 3 years ago

Is your feature request related to a problem? Please describe.

I would like to have CI/CD process which looks like this:

  1. Create a new change set for review:
aws cloudformation deploy \
    --stack-name XXX \
    --change-set-name ${BRANCH_NAME}-${BUILD_ID} \
    --no-execute-changeset \
    ...
  1. Display what will be changed:
aws cloudformation describe-change-set \
    --stack-name XXX \
    --change-set-name ${BRANCH_NAME}-${BUILD_ID} \
    ...
  1. Wait for confirmation
  2. Execute change set
aws cloudformation change-set-execute \
    --stack-name XXX \
    --change-set-name ${BRANCH_NAME}-${BUILD_ID} \
    ...

Describe the solution you'd like

I would like to add a new parameter --change-set-name to the deploy command, so CI/CD service can set its own name for the new change set.

Describe alternatives you've considered

  1. Use aws cloudformation create-change-set

It doesn't solve problems that deploy command solves, for example I don't need to think about --change-set-type (CREATE or UPDATE).

  1. Query (filter) the output of aws cloudformation deploy --no-execute-changeset

A change set name awscli-cloudformation-package-deploy-* is not descriptive and I would like to have better names in logs and CloudFormation UI :)

I can try to impelement this new feature as my first pull request, but first I would like to know what do you think :)

kdaily commented 3 years ago

Hi @y3ti,

I think this makes sense since the deploy action IS creating a change set.

I'm going to pass this over to the CloudFormation team that supports this AWS CLI customization. I'll let them know that you're interested in opening a PR.