bash-my-aws / bash-my-aws

Bash-my-AWS provides simple but powerful CLI commands for managing AWS resources

Home Page:https://bash-my-aws.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Confirm compatibility with AWS CLI version 2

mbailey opened this issue · comments

AWS CLI v2 is now generally available

Breaking Changes – Migrating from AWS CLI version 1 to version 2

  • AWS CLI version 2 now passes binary parameters as base64-encoded strings by default
    • kms-encrypt: #295
      • input from STDIN will be base64 encoded (unless aws-cli v1 in use).
    • keypair-create: #297
      Now uses fileb:// instead of file:// as we don't want to store our public keys base64 encoded
  • AWS CLI version 2 improves Amazon S3 handling of file properties and tags when performing multipart copies
    • BMA doesn't do S3 copies
  • AWS CLI version 2 no longer automatically retrieves http:// or https:// URLs for parameters
    • BMA doesn't depend on this functionality
  • AWS CLI version 2 uses a paging program for all output by default.
    • It only seems to do this if STDOUT for the command is a TTY.
    • Most BMA commands pipe the output to other commands
    • prefer not to use export AWS_PAGER="" as this won't work for people sourcing BMA functions
  • AWS CLI version 2 now returns all timestamp output values in ISO 8601 format
    • What's up with the milliseconds?: 2014-09-03T11:25:58.174000+00:00
    • This used to be shorter!: 2019-12-17T09:53:41.480Z
    • aws/aws-cli#5045
  • AWS CLI version 2 improves handling of AWS CloudFormation deployments that result in no changes
  • AWS CLI version 2 uses Amazon S3 keys more consistently
    • BMA not impacted
  • AWS CLI version 2 uses the correct Amazon S3 regional endpoint for us-east-1 Region
    • Shouldn't impact BMA
  • AWS CLI version 2 uses regional AWS STS endpoints by default
    • Shouldn't impact BMA
  • AWS CLI version 2 replaces ecr get-login with ecr get-login-password
    • BMA doesn't use it
  • AWS CLI version 2 support for plugins is changing
    • BMA doesn't use them
  • AWS CLI version 2 no longer supports "hidden" aliases
    • BMA doesn't use any of them

AWS CLI version 2 improves handling of AWS CloudFormation deployments that result in no changes

I'm seeing no change in behaviour when using stack-update.

$ BMA_DEBUG=true stack-update noop 
aws-cli/2.0.2 Python/3.7.3 Linux/5.4.20-200.fc31.x86_64 botocore/2.0.0dev6
Single arg magic!
stack!
stack='noop' template='./noop.yml' params=''
Resolved arguments: noop ./noop.yml 

An error occurred (ValidationError) when calling the UpdateStack operation: No updates are to be performed.
$ BMA_AWSCLI=~/.local/bin/aws BMA_DEBUG=true stack-update noop 
aws-cli/1.16.314 Python/3.7.6 Linux/5.4.20-200.fc31.x86_64 botocore/1.13.50
Single arg magic!
stack!
stack='noop' template='./noop.yml' params=''
Resolved arguments: noop ./noop.yml 

An error occurred (ValidationError) when calling the UpdateStack operation: No updates are to be performed.