This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.
== Summary ==
As a result of the publication of the
the original version of 'awscli' is no longer necessary. This would
mark the retirement of the original AWS CLI package version in favor
of the awscli version 2. The AWS CLI version 2 is the most recent
major version of the AWS CLI and supports all of the latest features.
Some features introduced in version 2 are not backported to version 1
and users must upgrade to access those features.
== Owner ==
* Name: [[User:davdunc| David Duncan]] [[User:limb | Gwyn Ciesla]]
* Email: davdunc at amazon dot com, gwync AT protonmail DOT com
== Detailed Description ==
The AWS CLI v2 has been
for more than 2 years. There has been a considerable amount of
discussion around the decisions made upstream and attempts to create
collaborative efforts with the new Amazon Linux 2023 led to a lot of
discussions related to the supporting libraries included in the
Runtime] bindings. It took a long time to find a model that was
consistent and appropriate. A fair amount of effort went into building
this on multiple occasions. Nikola Forro completed work on the package
integration and is actively working on support for packit with the
upstream providers. Since the awscli version is in what we would
consider a maintenance phase, there are many new services and features
that are not available without the awscli2. See the
new features and changes] in the 'Migration Guide' section of the AWS
Documentation for more details on variations in the functionality and
moving your workflow to the later release.
== Feedback ==
== Benefit to Fedora ==
The benefit to Fedora is that users will have access to the most
recent command line tooling for working with Amazon Web Services
features and services. They will have access to new features of the
CLI as well as consistency in the docker and AWS Cloudshell
experiences. That means more consistency in pipeline requirements and
other programmatic access
== Scope ==
* Proposal owners:
Identify the awscli as retired. No additional branches will be built
in support of new releases
* Other developers:
developers will need to review the breaking changes and determine if
they are affected. Issues may require changes to manage pager support
or identify the results encoding where necessary in scripting.
* Release engineering: [https://pagure.io/releng/issues
#Releng issue number]
use of the AWS CLI version 1 in fedora-infra scripts will need to be
tested with the awscli2 prior to the retirement.
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with Community Initiatives:
We believe that this is consistent with Community initiatives.
== Upgrade/compatibility impact ==
From the AWS Documentation, the following breaking changes are expected:
* Environment variable added to set text file encoding
* Binary parameters are passed as base64-encoded strings by default
* Improved Amazon S3 handling of file properties and tags for multipart copies
* No automatic retrieval of http:// or https:// URLs for parameters
* Pager used for all output by default
* Timestamp output values are standardized to ISO 8601 format
* Improved handling of CloudFormation deployments that result in no changes
* Changed default behavior for Regional Amazon S3 endpoint for us-east-1 Region
* Changed default behavior for Regional AWS STS endpoints
* ecr get-login removed and replaced with ecr get-login-password
* AWS CLI version 2 support for plugins is changing
* Hidden alias support removed
* The api_versions configuration file setting is not supported
* AWS CLI version 2 uses only Signature v4 to authenticate Amazon S3 requests
* AWS CLI version 2 is more consistent with paging parameters
* AWS CLI version 2 provides more consistent return codes across all commands
== How To Test ==
No special requirements are necessary for testing.
== User Experience ==
The AWS CLI version 2 covers all of the functionality of the version 1
of the AWS CLI. The AWS CLI version 1 is set to be retired in the
future and it would not be beneficial to any of the users to continue
to take dependencies upon it as it is already not the latest version
of the AWS CLI. There are some "breaking" changes from version 1 that
might require you to change your scripts. For a list of breaking
changes in version 2, see
Breaking changes] in the AWS CLI version 2 User Guide.
== Dependencies ==
No currently known dependencies, but an email was sent to the devel
mailing list to provide more visibility for anyone using it actively.
== Contingency Plan ==
In the event that this version is not retired, both versions will be
maintained. The awscli2 already includes a `Provides: awscli`
directive and that would probably need to be removed to ensure that we
distinguish between the two major releases.
== Documentation ==
The AWS CLI v2 provides a
Migration Guide] for users who are moving from the AWS CLI version 1
'awscli' to the AWS CLI version 2 'awscli2'.
== Release Notes ==
The 'awscli' package has been retired and replaced with the awscli2.
The awscli2 is the most recent major version of the AWS CLI and
supports all of the latest features. Some features introduced in
version 2 are not backported to version 1 and you must upgrade to
access those features. There are some "breaking" changes from version
1 that might require you to change your scripts. For a list of
breaking changes in version 2, see Migrating from AWS CLI version 1 to
Community Platform Engineering Team
Red Hat EMEA