Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aws-cli for openSUSE:Factory checked in at 2022-05-15 19:00:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aws-cli (Old) and /work/SRC/openSUSE:Factory/.aws-cli.new.1538 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aws-cli" Sun May 15 19:00:19 2022 rev:58 rq:976600 version:1.23.11 Changes: -------- --- /work/SRC/openSUSE:Factory/aws-cli/aws-cli.changes 2022-04-30 15:08:23.672421421 +0200 +++ /work/SRC/openSUSE:Factory/.aws-cli.new.1538/aws-cli.changes 2022-05-15 19:00:20.654404640 +0200 @@ -1,0 +2,8 @@ +Thu May 12 07:44:18 UTC 2022 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to version 1.23.11 + + For detailed changes see + https://github.com/aws/aws-cli/blob/1.23.11/CHANGELOG.rst +- Update Requires in spec file from setup.py + +------------------------------------------------------------------- Old: ---- 1.23.1.tar.gz New: ---- 1.23.11.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aws-cli.spec ++++++ --- /var/tmp/diff_new_pack.CvaSzT/_old 2022-05-15 19:00:21.114405186 +0200 +++ /var/tmp/diff_new_pack.CvaSzT/_new 2022-05-15 19:00:21.122405195 +0200 @@ -17,7 +17,7 @@ Name: aws-cli -Version: 1.23.1 +Version: 1.23.11 Release: 0 Summary: Amazon Web Services Command Line Interface License: Apache-2.0 @@ -35,7 +35,7 @@ Requires: python3 Requires: python3-PyYAML <= 6.0.0 Requires: python3-PyYAML >= 3.10 -Requires: python3-botocore >= 1.25.1 +Requires: python3-botocore >= 1.25.11 Requires: python3-colorama <= 0.4.5 Requires: python3-colorama >= 0.2.5 Requires: python3-docutils < 0.20 @@ -52,7 +52,7 @@ Requires: python Requires: python-PyYAML <= 5.5 Requires: python-PyYAML >= 3.10 -Requires: python-botocore >= 1.25.1 +Requires: python-botocore >= 1.25.11 Requires: python-colorama <= 0.4.5 Requires: python-colorama >= 0.2.5 Requires: python-docutils >= 0.10 ++++++ 1.23.1.tar.gz -> 1.23.11.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.10.json new/aws-cli-1.23.11/.changes/1.23.10.json --- old/aws-cli-1.23.1/.changes/1.23.10.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.10.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,17 @@ +[ + { + "category": "``ssm-contacts``", + "description": "Fixed an error in the DescribeEngagement example for AWS Incident Manager.", + "type": "api-change" + }, + { + "category": "``cloudcontrol``", + "description": "SDK release for Cloud Control API to include paginators for Python SDK.", + "type": "api-change" + }, + { + "category": "``evidently``", + "description": "Add detail message inside GetExperimentResults API response to indicate experiment result availability", + "type": "api-change" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.11.json new/aws-cli-1.23.11/.changes/1.23.11.json --- old/aws-cli-1.23.1/.changes/1.23.11.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.11.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,27 @@ +[ + { + "category": "``eks``", + "description": "Adds BOTTLEROCKET_ARM_64_NVIDIA and BOTTLEROCKET_x86_64_NVIDIA AMI types to EKS managed nodegroups", + "type": "api-change" + }, + { + "category": "``emr``", + "description": "Update emr command to latest version", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Added support for using NitroTPM and UEFI Secure Boot on EC2 instances.", + "type": "api-change" + }, + { + "category": "``compute-optimizer``", + "description": "Documentation updates for Compute Optimizer", + "type": "api-change" + }, + { + "category": "``migration-hub-refactor-spaces``", + "description": "AWS Migration Hub Refactor Spaces documentation only update to fix a formatting issue.", + "type": "api-change" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.2.json new/aws-cli-1.23.11/.changes/1.23.2.json --- old/aws-cli-1.23.1/.changes/1.23.2.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.2.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,37 @@ +[ + { + "category": "``rekognition``", + "description": "[``botocore``] This release adds support to configure stream-processor resources for label detections on streaming-videos. UpateStreamProcessor API is also launched with this release, which could be used to update an existing stream-processor.", + "type": "api-change" + }, + { + "category": "``cloudtrail``", + "description": "[``botocore``] Increases the retention period maximum to 2557 days. Deprecates unused fields of the ListEventDataStores API response. Updates documentation.", + "type": "api-change" + }, + { + "category": "``lookoutequipment``", + "description": "[``botocore``] This release adds the following new features: 1) Introduces an option for automatic schema creation 2) Now allows for Ingestion of data containing most common errors and allows automatic data cleaning 3) Introduces new API ListSensorStatistics that gives further information about the ingested data", + "type": "api-change" + }, + { + "category": "``iotwireless``", + "description": "[``botocore``] Add list support for event configurations, allow to get and update event configurations by resource type, support LoRaWAN events; Make NetworkAnalyzerConfiguration as a resource, add List, Create, Delete API support; Add FCntStart attribute support for ABP WirelessDevice.", + "type": "api-change" + }, + { + "category": "``amplify``", + "description": "[``botocore``] Documentation only update to support the Amplify GitHub App feature launch", + "type": "api-change" + }, + { + "category": "``chime-sdk-media-pipelines``", + "description": "[``botocore``] For Amazon Chime SDK meetings, the Amazon Chime Media Pipelines SDK allows builders to capture audio, video, and content share streams. You can also capture meeting events, live transcripts, and data messages. The pipelines save the artifacts to an Amazon S3 bucket that you designate.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "[``botocore``] Amazon SageMaker Autopilot adds support for custom validation dataset and validation ratio through the CreateAutoMLJob and DescribeAutoMLJob APIs.", + "type": "api-change" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.3.json new/aws-cli-1.23.11/.changes/1.23.3.json --- old/aws-cli-1.23.1/.changes/1.23.3.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.3.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,32 @@ +[ + { + "category": "``auditmanager``", + "description": "[``botocore``] This release adds documentation updates for Audit Manager. We provided examples of how to use the Custom_ prefix for the keywordValue attribute. We also provided more details about the DeleteAssessmentReport operation.", + "type": "api-change" + }, + { + "category": "``network-firewall``", + "description": "[``botocore``] AWS Network Firewall adds support for stateful threat signature AWS managed rule groups.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "[``botocore``] This release adds support to query the public key and creation date of EC2 Key Pairs. Additionally, the format (pem or ppk) of a key pair can be specified when creating a new key pair.", + "type": "api-change" + }, + { + "category": "``braket``", + "description": "[``botocore``] This release enables Braket Hybrid Jobs with Embedded Simulators to have multiple instances.", + "type": "api-change" + }, + { + "category": "``guardduty``", + "description": "[``botocore``] Documentation update for API description.", + "type": "api-change" + }, + { + "category": "``connect``", + "description": "[``botocore``] This release introduces an API for changing the current agent status of a user in Connect.", + "type": "api-change" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.4.json new/aws-cli-1.23.11/.changes/1.23.4.json --- old/aws-cli-1.23.1/.changes/1.23.4.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.4.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,27 @@ +[ + { + "category": "``rds``", + "description": "[``botocore``] Feature - Adds support for Internet Protocol Version 6 (IPv6) on RDS database instances.", + "type": "api-change" + }, + { + "category": "``codeguru-reviewer``", + "description": "[``botocore``] Amazon CodeGuru Reviewer now supports suppressing recommendations from being generated on specific files and directories.", + "type": "api-change" + }, + { + "category": "``ssm``", + "description": "[``botocore``] Update the StartChangeRequestExecution, adding TargetMaps to the Runbook parameter", + "type": "api-change" + }, + { + "category": "``mediaconvert``", + "description": "[``botocore``] AWS Elemental MediaConvert SDK nows supports creation of Dolby Vision profile 8.1, the ability to generate black frames of video, and introduces audio-only DASH and CMAF support.", + "type": "api-change" + }, + { + "category": "``wafv2``", + "description": "[``botocore``] You can now inspect all request headers and all cookies. You can now specify how to handle oversize body contents in your rules that inspect the body.", + "type": "api-change" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.5.json new/aws-cli-1.23.11/.changes/1.23.5.json --- old/aws-cli-1.23.1/.changes/1.23.5.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.5.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,17 @@ +[ + { + "category": "``organizations``", + "description": "[``botocore``] This release adds the INVALID_PAYMENT_INSTRUMENT as a fail reason and an error message.", + "type": "api-change" + }, + { + "category": "``synthetics``", + "description": "[``botocore``] CloudWatch Synthetics has introduced a new feature to provide customers with an option to delete the underlying resources that Synthetics canary creates when the user chooses to delete the canary.", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "[``botocore``] This release adds a new API called ListAssets to the Outposts SDK, which lists the hardware assets in an Outpost.", + "type": "api-change" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.6.json new/aws-cli-1.23.11/.changes/1.23.6.json --- old/aws-cli-1.23.1/.changes/1.23.6.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.6.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,27 @@ +[ + { + "category": "``ec2``", + "description": "[``botocore``] Adds support for allocating Dedicated Hosts on AWS Outposts. The AllocateHosts API now accepts an OutpostArn request parameter, and the DescribeHosts API now includes an OutpostArn response parameter.", + "type": "api-change" + }, + { + "category": "``s3``", + "description": "[``botocore``] Documentation only update for doc bug fixes for the S3 API docs.", + "type": "api-change" + }, + { + "category": "``kinesisvideo``", + "description": "[``botocore``] Add support for multiple image feature related APIs for configuring image generation and notification of a video stream. Add \"GET_IMAGES\" to the list of supported API names for the GetDataEndpoint API.", + "type": "api-change" + }, + { + "category": "``sagemaker``", + "description": "[``botocore``] SageMaker Autopilot adds new metrics for all candidate models generated by Autopilot experiments; RStudio on SageMaker now allows users to bring your own development environment in a custom image.", + "type": "api-change" + }, + { + "category": "``kinesis-video-archived-media``", + "description": "[``botocore``] Add support for GetImages API for retrieving images from a video stream", + "type": "api-change" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.7.json new/aws-cli-1.23.11/.changes/1.23.7.json --- old/aws-cli-1.23.1/.changes/1.23.7.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.7.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,22 @@ +[ + { + "category": "``ssm``", + "description": "[``botocore``] This release adds the TargetMaps parameter in SSM State Manager API.", + "type": "api-change" + }, + { + "category": "``backup``", + "description": "[``botocore``] Adds support to 2 new filters about job complete time for 3 list jobs APIs in AWS Backup", + "type": "api-change" + }, + { + "category": "``lightsail``", + "description": "[``botocore``] Documentation updates for Lightsail", + "type": "api-change" + }, + { + "category": "``iotsecuretunneling``", + "description": "[``botocore``] This release introduces a new API RotateTunnelAccessToken that allow revoking the existing tokens and generate new tokens", + "type": "api-change" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.8.json new/aws-cli-1.23.11/.changes/1.23.8.json --- old/aws-cli-1.23.1/.changes/1.23.8.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.8.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,22 @@ +[ + { + "category": "``ec2``", + "description": "[``botocore``] Amazon EC2 I4i instances are powered by 3rd generation Intel Xeon Scalable processors and feature up to 30 TB of local AWS Nitro SSD storage", + "type": "api-change" + }, + { + "category": "``kendra``", + "description": "[``botocore``] AWS Kendra now supports hierarchical facets for a query. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/filtering.html", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "[``botocore``] AWS IoT Jobs now allows you to create up to 100,000 active continuous and snapshot jobs by using concurrency control.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "[``botocore``] AWS DataSync now supports a new ObjectTags Task API option that can be used to control whether Object Tags are transferred.", + "type": "api-change" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/.changes/1.23.9.json new/aws-cli-1.23.11/.changes/1.23.9.json --- old/aws-cli-1.23.1/.changes/1.23.9.json 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/.changes/1.23.9.json 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,42 @@ +[ + { + "category": "``rds``", + "description": "[``botocore``] Various documentation improvements.", + "type": "api-change" + }, + { + "category": "``redshift``", + "description": "[``botocore``] Introduces new field 'LoadSampleData' in CreateCluster operation. Customers can now specify 'LoadSampleData' option during creation of a cluster, which results in loading of sample data in the cluster that is created.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "[``botocore``] Add new state values for IPAMs, IPAM Scopes, and IPAM Pools.", + "type": "api-change" + }, + { + "category": "``mediapackage``", + "description": "[``botocore``] This release adds Dvb Dash 2014 as an available profile option for Dash Origin Endpoints.", + "type": "api-change" + }, + { + "category": "``securityhub``", + "description": "[``botocore``] Documentation updates for Security Hub API reference", + "type": "api-change" + }, + { + "category": "eks get-token", + "description": "Add support for respecting API version found in KUBERNETES_EXEC_INFO environment variable", + "type": "enhancement" + }, + { + "category": "``location``", + "description": "[``botocore``] Amazon Location Service now includes a MaxResults parameter for ListGeofences requests.", + "type": "api-change" + }, + { + "category": "eks update-kubeconfig", + "description": "Update default API version to v1beta1", + "type": "enhancement" + } +] \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/CHANGELOG.rst new/aws-cli-1.23.11/CHANGELOG.rst --- old/aws-cli-1.23.1/CHANGELOG.rst 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/CHANGELOG.rst 2022-05-10 20:06:51.000000000 +0200 @@ -2,6 +2,106 @@ CHANGELOG ========= +1.23.11 +======= + +* api-change:``eks``: Adds BOTTLEROCKET_ARM_64_NVIDIA and BOTTLEROCKET_x86_64_NVIDIA AMI types to EKS managed nodegroups +* api-change:``emr``: Update emr command to latest version +* api-change:``ec2``: Added support for using NitroTPM and UEFI Secure Boot on EC2 instances. +* api-change:``compute-optimizer``: Documentation updates for Compute Optimizer +* api-change:``migration-hub-refactor-spaces``: AWS Migration Hub Refactor Spaces documentation only update to fix a formatting issue. + + +1.23.10 +======= + +* api-change:``ssm-contacts``: Fixed an error in the DescribeEngagement example for AWS Incident Manager. +* api-change:``cloudcontrol``: SDK release for Cloud Control API to include paginators for Python SDK. +* api-change:``evidently``: Add detail message inside GetExperimentResults API response to indicate experiment result availability + + +1.23.9 +====== + +* api-change:``rds``: [``botocore``] Various documentation improvements. +* api-change:``redshift``: [``botocore``] Introduces new field 'LoadSampleData' in CreateCluster operation. Customers can now specify 'LoadSampleData' option during creation of a cluster, which results in loading of sample data in the cluster that is created. +* api-change:``ec2``: [``botocore``] Add new state values for IPAMs, IPAM Scopes, and IPAM Pools. +* api-change:``mediapackage``: [``botocore``] This release adds Dvb Dash 2014 as an available profile option for Dash Origin Endpoints. +* api-change:``securityhub``: [``botocore``] Documentation updates for Security Hub API reference +* enhancement:eks get-token: Add support for respecting API version found in KUBERNETES_EXEC_INFO environment variable +* api-change:``location``: [``botocore``] Amazon Location Service now includes a MaxResults parameter for ListGeofences requests. +* enhancement:eks update-kubeconfig: Update default API version to v1beta1 + + +1.23.8 +====== + +* api-change:``ec2``: [``botocore``] Amazon EC2 I4i instances are powered by 3rd generation Intel Xeon Scalable processors and feature up to 30 TB of local AWS Nitro SSD storage +* api-change:``kendra``: [``botocore``] AWS Kendra now supports hierarchical facets for a query. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/filtering.html +* api-change:``iot``: [``botocore``] AWS IoT Jobs now allows you to create up to 100,000 active continuous and snapshot jobs by using concurrency control. +* api-change:``datasync``: [``botocore``] AWS DataSync now supports a new ObjectTags Task API option that can be used to control whether Object Tags are transferred. + + +1.23.7 +====== + +* api-change:``ssm``: [``botocore``] This release adds the TargetMaps parameter in SSM State Manager API. +* api-change:``backup``: [``botocore``] Adds support to 2 new filters about job complete time for 3 list jobs APIs in AWS Backup +* api-change:``lightsail``: [``botocore``] Documentation updates for Lightsail +* api-change:``iotsecuretunneling``: [``botocore``] This release introduces a new API RotateTunnelAccessToken that allow revoking the existing tokens and generate new tokens + + +1.23.6 +====== + +* api-change:``ec2``: [``botocore``] Adds support for allocating Dedicated Hosts on AWS Outposts. The AllocateHosts API now accepts an OutpostArn request parameter, and the DescribeHosts API now includes an OutpostArn response parameter. +* api-change:``s3``: [``botocore``] Documentation only update for doc bug fixes for the S3 API docs. +* api-change:``kinesisvideo``: [``botocore``] Add support for multiple image feature related APIs for configuring image generation and notification of a video stream. Add "GET_IMAGES" to the list of supported API names for the GetDataEndpoint API. +* api-change:``sagemaker``: [``botocore``] SageMaker Autopilot adds new metrics for all candidate models generated by Autopilot experiments; RStudio on SageMaker now allows users to bring your own development environment in a custom image. +* api-change:``kinesis-video-archived-media``: [``botocore``] Add support for GetImages API for retrieving images from a video stream + + +1.23.5 +====== + +* api-change:``organizations``: [``botocore``] This release adds the INVALID_PAYMENT_INSTRUMENT as a fail reason and an error message. +* api-change:``synthetics``: [``botocore``] CloudWatch Synthetics has introduced a new feature to provide customers with an option to delete the underlying resources that Synthetics canary creates when the user chooses to delete the canary. +* api-change:``outposts``: [``botocore``] This release adds a new API called ListAssets to the Outposts SDK, which lists the hardware assets in an Outpost. + + +1.23.4 +====== + +* api-change:``rds``: [``botocore``] Feature - Adds support for Internet Protocol Version 6 (IPv6) on RDS database instances. +* api-change:``codeguru-reviewer``: [``botocore``] Amazon CodeGuru Reviewer now supports suppressing recommendations from being generated on specific files and directories. +* api-change:``ssm``: [``botocore``] Update the StartChangeRequestExecution, adding TargetMaps to the Runbook parameter +* api-change:``mediaconvert``: [``botocore``] AWS Elemental MediaConvert SDK nows supports creation of Dolby Vision profile 8.1, the ability to generate black frames of video, and introduces audio-only DASH and CMAF support. +* api-change:``wafv2``: [``botocore``] You can now inspect all request headers and all cookies. You can now specify how to handle oversize body contents in your rules that inspect the body. + + +1.23.3 +====== + +* api-change:``auditmanager``: [``botocore``] This release adds documentation updates for Audit Manager. We provided examples of how to use the Custom_ prefix for the keywordValue attribute. We also provided more details about the DeleteAssessmentReport operation. +* api-change:``network-firewall``: [``botocore``] AWS Network Firewall adds support for stateful threat signature AWS managed rule groups. +* api-change:``ec2``: [``botocore``] This release adds support to query the public key and creation date of EC2 Key Pairs. Additionally, the format (pem or ppk) of a key pair can be specified when creating a new key pair. +* api-change:``braket``: [``botocore``] This release enables Braket Hybrid Jobs with Embedded Simulators to have multiple instances. +* api-change:``guardduty``: [``botocore``] Documentation update for API description. +* api-change:``connect``: [``botocore``] This release introduces an API for changing the current agent status of a user in Connect. + + +1.23.2 +====== + +* api-change:``rekognition``: [``botocore``] This release adds support to configure stream-processor resources for label detections on streaming-videos. UpateStreamProcessor API is also launched with this release, which could be used to update an existing stream-processor. +* api-change:``cloudtrail``: [``botocore``] Increases the retention period maximum to 2557 days. Deprecates unused fields of the ListEventDataStores API response. Updates documentation. +* api-change:``lookoutequipment``: [``botocore``] This release adds the following new features: 1) Introduces an option for automatic schema creation 2) Now allows for Ingestion of data containing most common errors and allows automatic data cleaning 3) Introduces new API ListSensorStatistics that gives further information about the ingested data +* api-change:``iotwireless``: [``botocore``] Add list support for event configurations, allow to get and update event configurations by resource type, support LoRaWAN events; Make NetworkAnalyzerConfiguration as a resource, add List, Create, Delete API support; Add FCntStart attribute support for ABP WirelessDevice. +* api-change:``amplify``: [``botocore``] Documentation only update to support the Amplify GitHub App feature launch +* api-change:``chime-sdk-media-pipelines``: [``botocore``] For Amazon Chime SDK meetings, the Amazon Chime Media Pipelines SDK allows builders to capture audio, video, and content share streams. You can also capture meeting events, live transcripts, and data messages. The pipelines save the artifacts to an Amazon S3 bucket that you designate. +* api-change:``sagemaker``: [``botocore``] Amazon SageMaker Autopilot adds support for custom validation dataset and validation ratio through the CreateAutoMLJob and DescribeAutoMLJob APIs. + + 1.23.1 ====== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/awscli/__init__.py new/aws-cli-1.23.11/awscli/__init__.py --- old/aws-cli-1.23.1/awscli/__init__.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/awscli/__init__.py 2022-05-10 20:06:51.000000000 +0200 @@ -17,7 +17,7 @@ """ import os -__version__ = '1.23.1' +__version__ = '1.23.11' # # Get our data path to be added to botocore's search path diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/awscli/customizations/eks/get_token.py new/aws-cli-1.23.11/awscli/customizations/eks/get_token.py --- old/aws-cli-1.23.1/awscli/customizations/eks/get_token.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/awscli/customizations/eks/get_token.py 2022-05-10 20:06:51.000000000 +0200 @@ -13,6 +13,8 @@ import base64 import botocore import json +import os +import sys from datetime import datetime, timedelta from botocore.signers import RequestSigner @@ -26,6 +28,33 @@ AUTH_API_VERSION = "2011-06-15" AUTH_SIGNING_VERSION = "v4" +ALPHA_API = "client.authentication.k8s.io/v1alpha1" +BETA_API = "client.authentication.k8s.io/v1beta1" +V1_API = "client.authentication.k8s.io/v1" + +FULLY_SUPPORTED_API_VERSIONS = [ + V1_API, + BETA_API, +] +DEPRECATED_API_VERSIONS = [ + ALPHA_API, +] + +ERROR_MSG_TPL = ( + "{0} KUBERNETES_EXEC_INFO, defaulting to {1}. This is likely a " + "bug in your Kubernetes client. Please update your Kubernetes " + "client." +) +UNRECOGNIZED_MSG_TPL = ( + "Unrecognized API version in KUBERNETES_EXEC_INFO, defaulting to " + "{0}. This is likely due to an outdated AWS " + "CLI. Please update your AWS CLI." +) +DEPRECATION_MSG_TPL = ( + "Kubeconfig user entry is using deprecated API version {0}. Run " + "'aws eks update-kubeconfig' to update." +) + # Presigned url timeout in seconds URL_TIMEOUT = 60 @@ -39,32 +68,40 @@ class GetTokenCommand(BasicCommand): NAME = 'get-token' - DESCRIPTION = ("Get a token for authentication with an Amazon EKS cluster. " - "This can be used as an alternative to the " - "aws-iam-authenticator.") + DESCRIPTION = ( + "Get a token for authentication with an Amazon EKS cluster. " + "This can be used as an alternative to the " + "aws-iam-authenticator." + ) ARG_TABLE = [ { 'name': 'cluster-name', - 'help_text': ("Specify the name of the Amazon EKS cluster to create a token for."), - 'required': True + 'help_text': ( + "Specify the name of the Amazon EKS cluster to create a token for." + ), + 'required': True, }, { 'name': 'role-arn', - 'help_text': ("Assume this role for credentials when signing the token."), - 'required': False - } + 'help_text': ( + "Assume this role for credentials when signing the token." + ), + 'required': False, + }, ] def get_expiration_time(self): - token_expiration = datetime.utcnow() + timedelta(minutes=TOKEN_EXPIRATION_MINS) + token_expiration = datetime.utcnow() + timedelta( + minutes=TOKEN_EXPIRATION_MINS + ) return token_expiration.strftime('%Y-%m-%dT%H:%M:%SZ') def _run_main(self, parsed_args, parsed_globals): client_factory = STSClientFactory(self._session) sts_client = client_factory.get_sts_client( - region_name=parsed_globals.region, - role_arn=parsed_args.role_arn) + region_name=parsed_globals.region, role_arn=parsed_args.role_arn + ) token = TokenGenerator(sts_client).get_token(parsed_args.cluster_name) # By default STS signs the url for 15 minutes so we are creating a @@ -74,28 +111,94 @@ full_object = { "kind": "ExecCredential", - "apiVersion": "client.authentication.k8s.io/v1alpha1", + "apiVersion": self.discover_api_version(), "spec": {}, "status": { "expirationTimestamp": token_expiration, - "token": token - } + "token": token, + }, } uni_print(json.dumps(full_object)) uni_print('\n') return 0 + def discover_api_version(self): + """ + Parses the KUBERNETES_EXEC_INFO environment variable and returns the + API version. If the environment variable is empty, malformed, or + invalid, return the v1alpha1 response and print a message to stderr. + + If the v1alpha1 API is specified explicitly, a message is printed to + stderr with instructions to update. + + :return: The client authentication API version + :rtype: string + """ + # At the time Kubernetes v1.29 is released upstream (approx Dec 2023), + # "v1beta1" will be removed. At or around that time, EKS will likely + # support v1.22 through v1.28, in which client API version "v1beta1" + # will be supported by all EKS versions. + fallback_api_version = ALPHA_API + + error_prefixes = { + "error": "Error parsing", + "empty": "Empty", + } + + exec_info_raw = os.environ.get("KUBERNETES_EXEC_INFO", "") + if not exec_info_raw: + # All kube clients should be setting this. Otherewise, we'll return + # the fallback and write an error. + uni_print( + ERROR_MSG_TPL.format( + error_prefixes["empty"], + fallback_api_version, + ), + sys.stderr, + ) + uni_print("\n", sys.stderr) + return fallback_api_version + try: + exec_info = json.loads(exec_info_raw) + except json.JSONDecodeError: + # The environment variable was malformed + uni_print( + ERROR_MSG_TPL.format( + error_prefixes["error"], + fallback_api_version, + ), + sys.stderr, + ) + uni_print("\n", sys.stderr) + return fallback_api_version + + api_version_raw = exec_info.get("apiVersion") + if api_version_raw in FULLY_SUPPORTED_API_VERSIONS: + return api_version_raw + elif api_version_raw in DEPRECATED_API_VERSIONS: + uni_print(DEPRECATION_MSG_TPL.format(ALPHA_API), sys.stderr) + uni_print("\n", sys.stderr) + return api_version_raw + else: + uni_print( + UNRECOGNIZED_MSG_TPL.format(fallback_api_version), + sys.stderr, + ) + uni_print("\n", sys.stderr) + return fallback_api_version + class TokenGenerator(object): def __init__(self, sts_client): self._sts_client = sts_client def get_token(self, cluster_name): - """ Generate a presigned url token to pass to kubectl. """ + """Generate a presigned url token to pass to kubectl.""" url = self._get_presigned_url(cluster_name) token = TOKEN_PREFIX + base64.urlsafe_b64encode( - url.encode('utf-8')).decode('utf-8').rstrip('=') + url.encode('utf-8') + ).decode('utf-8').rstrip('=') return token def _get_presigned_url(self, cluster_name): @@ -112,9 +215,7 @@ self._session = session def get_sts_client(self, region_name=None, role_arn=None): - client_kwargs = { - 'region_name': region_name - } + client_kwargs = {'region_name': region_name} if role_arn is not None: creds = self._get_role_credentials(region_name, role_arn) client_kwargs['aws_access_key_id'] = creds['AccessKeyId'] @@ -127,18 +228,17 @@ def _get_role_credentials(self, region_name, role_arn): sts = self._session.create_client('sts', region_name) return sts.assume_role( - RoleArn=role_arn, - RoleSessionName='EKSGetTokenAuth' + RoleArn=role_arn, RoleSessionName='EKSGetTokenAuth' )['Credentials'] def _register_cluster_name_handlers(self, sts_client): sts_client.meta.events.register( 'provide-client-params.sts.GetCallerIdentity', - self._retrieve_cluster_name + self._retrieve_cluster_name, ) sts_client.meta.events.register( 'before-sign.sts.GetCallerIdentity', - self._inject_cluster_name_header + self._inject_cluster_name_header, ) def _retrieve_cluster_name(self, params, context, **kwargs): @@ -147,5 +247,6 @@ def _inject_cluster_name_header(self, request, **kwargs): if 'eks_cluster' in request.context: - request.headers[ - CLUSTER_NAME_HEADER] = request.context['eks_cluster'] + request.headers[CLUSTER_NAME_HEADER] = request.context[ + 'eks_cluster' + ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/awscli/customizations/eks/update_kubeconfig.py new/aws-cli-1.23.11/awscli/customizations/eks/update_kubeconfig.py --- old/aws-cli-1.23.1/awscli/customizations/eks/update_kubeconfig.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/awscli/customizations/eks/update_kubeconfig.py 2022-05-10 20:06:51.000000000 +0200 @@ -31,10 +31,9 @@ DEFAULT_PATH = os.path.expanduser("~/.kube/config") -# Use the endpoint for kubernetes 1.10 -# To get the most recent endpoint we will need to -# Do a check on the cluster's version number -API_VERSION = "client.authentication.k8s.io/v1alpha1" +# At the time EKS no longer supports Kubernetes v1.21 (probably ~Dec 2023), +# this can be safely changed to default to writing "v1" +API_VERSION = "client.authentication.k8s.io/v1beta1" class UpdateKubeconfigCommand(BasicCommand): NAME = 'update-kubeconfig' @@ -306,7 +305,7 @@ "--cluster-name", self._cluster_name, ]), - ("command", "aws") + ("command", "aws"), ])) ])) ]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/awscli/customizations/emr/createcluster.py new/aws-cli-1.23.11/awscli/customizations/emr/createcluster.py --- old/aws-cli-1.23.1/awscli/customizations/emr/createcluster.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/awscli/customizations/emr/createcluster.py 2022-05-10 20:06:51.000000000 +0200 @@ -36,6 +36,8 @@ ARG_TABLE = [ {'name': 'release-label', 'help_text': helptext.RELEASE_LABEL}, + {'name': 'os-release-label', + 'help_text': helptext.OS_RELEASE_LABEL}, {'name': 'ami-version', 'help_text': helptext.AMI_VERSION}, {'name': 'instance-groups', @@ -199,6 +201,10 @@ params, 'AdditionalInfo', parsed_args.additional_info) emrutils.apply_dict(params, 'LogUri', parsed_args.log_uri) + if parsed_args.os_release_label is not None: + emrutils.apply_dict(params, 'OSReleaseLabel', + parsed_args.os_release_label) + if parsed_args.log_encryption_kms_key_id is not None: emrutils.apply_dict(params, 'LogEncryptionKmsKeyId', parsed_args.log_encryption_kms_key_id) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/awscli/customizations/emr/helptext.py new/aws-cli-1.23.11/awscli/customizations/emr/helptext.py --- old/aws-cli-1.23.1/awscli/customizations/emr/helptext.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/awscli/customizations/emr/helptext.py 2022-05-10 20:06:51.000000000 +0200 @@ -125,6 +125,11 @@ ' and later. Use <code>--ami-version</code> for earlier versions.' ' You cannot specify both a release label and AMI version.</p>') +OS_RELEASE_LABEL = ( + '<p>Specifies a particular Amazon Linux release for all nodes in a cluster' + ' launch request. If a release is not specified, EMR uses the latest validated' + ' Amazon Linux release for cluster launch.</p>') + CONFIGURATIONS = ( '<p>Specifies a JSON file that contains configuration classifications,' ' which you can use to customize applications that Amazon EMR installs' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/awscli/examples/apigateway/put-integration.rst new/aws-cli-1.23.11/awscli/examples/apigateway/put-integration.rst --- old/aws-cli-1.23.1/awscli/examples/apigateway/put-integration.rst 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/awscli/examples/apigateway/put-integration.rst 2022-05-10 20:06:51.000000000 +0200 @@ -14,4 +14,4 @@ Command:: - aws apigateway put-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --type AWS --integration-http-method POST --uri 'arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:function_name/invocations' + aws apigateway put-integration --rest-api-id 1234123412 --resource-id a1b2c3 --http-method GET --type AWS --integration-http-method POST --uri 'arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:123412341234:function:function_name/invocations' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/awscli/examples/eks/get-token.rst new/aws-cli-1.23.11/awscli/examples/eks/get-token.rst --- old/aws-cli-1.23.1/awscli/examples/eks/get-token.rst 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/awscli/examples/eks/get-token.rst 2022-05-10 20:06:51.000000000 +0200 @@ -10,7 +10,7 @@ { "kind": "ExecCredential", - "apiVersion": "client.authentication.k8s.io/v1alpha1", + "apiVersion": "client.authentication.k8s.io/v1beta1", "spec": {}, "status": { "expirationTimestamp": "2019-08-14T18:44:27Z", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/awscli/examples/emr/create-cluster-examples.rst new/aws-cli-1.23.11/awscli/examples/emr/create-cluster-examples.rst --- old/aws-cli-1.23.1/awscli/examples/emr/create-cluster-examples.rst 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/awscli/examples/emr/create-cluster-examples.rst 2022-05-10 20:06:51.000000000 +0200 @@ -524,3 +524,12 @@ --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=1,InstanceType=m4.large \ --auto-termination-policy IdleTimeout=100 + +The following ``create-cluster`` example creates an Amazon EMR cluster that uses the "--os-release-label" to define an Amazon Linux release for cluster launch :: + + aws emr create-cluster \ + --release-label emr-6.6.0 \ + --os-release-label 2.0.20220406.1 \ + --service-role EMR_DefaultRole \ + --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole \ + --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large InstanceGroupType=CORE,InstanceCount=1,InstanceType=m4.large diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/awscli/examples/emr/create-cluster-synopsis.txt new/aws-cli-1.23.11/awscli/examples/emr/create-cluster-synopsis.txt --- old/aws-cli-1.23.1/awscli/examples/emr/create-cluster-synopsis.txt 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/awscli/examples/emr/create-cluster-synopsis.txt 2022-05-10 20:06:51.000000000 +0200 @@ -1,6 +1,7 @@ create-cluster --release-label <value> | --ami-version <value> --instance-fleets <value> | --instance-groups <value> | --instance-type <value> --instance-count <value> + [--os-release-label <value>] [--auto-terminate | --no-auto-terminate] [--use-default-roles] [--service-role <value>] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/doc/source/conf.py new/aws-cli-1.23.11/doc/source/conf.py --- old/aws-cli-1.23.1/doc/source/conf.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/doc/source/conf.py 2022-05-10 20:06:51.000000000 +0200 @@ -50,9 +50,9 @@ # built documents. # # The short X.Y version. -version = '1.23' +version = '1.23.' # The full version, including alpha/beta/rc tags. -release = '1.23.1' +release = '1.23.11' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/setup.cfg new/aws-cli-1.23.11/setup.cfg --- old/aws-cli-1.23.1/setup.cfg 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/setup.cfg 2022-05-10 20:06:51.000000000 +0200 @@ -3,7 +3,7 @@ [metadata] requires_dist = - botocore==1.25.1 + botocore==1.25.11 docutils>=0.10,<0.16 s3transfer>=0.5.0,<0.6.0 PyYAML>=3.10,<5.5 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/setup.py new/aws-cli-1.23.11/setup.py --- old/aws-cli-1.23.1/setup.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/setup.py 2022-05-10 20:06:51.000000000 +0200 @@ -24,7 +24,7 @@ install_requires = [ - 'botocore==1.25.1', + 'botocore==1.25.11', 'docutils>=0.10,<0.16', 's3transfer>=0.5.0,<0.6.0', 'PyYAML>=3.10,<5.5', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/test_get_token.py new/aws-cli-1.23.11/tests/functional/eks/test_get_token.py --- old/aws-cli-1.23.1/tests/functional/eks/test_get_token.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/test_get_token.py 2022-05-10 20:06:51.000000000 +0200 @@ -13,6 +13,7 @@ import base64 from datetime import datetime import json +import os from awscli.testutils import mock from awscli.testutils import BaseAWSCommandParamsTest @@ -35,19 +36,24 @@ response, _, _ = self.run_cmd(cmd) return json.loads(response) - def assert_url_correct(self, response, - expected_endpoint='sts.amazonaws.com', - expected_signing_region='us-east-1', - has_session_token=False): + def assert_url_correct( + self, + response, + expected_endpoint='sts.amazonaws.com', + expected_signing_region='us-east-1', + has_session_token=False, + ): url = self._get_url(response) url_components = urlparse.urlparse(url) self.assertEqual(url_components.netloc, expected_endpoint) parsed_qs = urlparse.parse_qs(url_components.query) self.assertIn( - expected_signing_region, parsed_qs['X-Amz-Credential'][0]) + expected_signing_region, parsed_qs['X-Amz-Credential'][0] + ) if has_session_token: self.assertEqual( - [self.session_token], parsed_qs['X-Amz-Security-Token']) + [self.session_token], parsed_qs['X-Amz-Security-Token'] + ) else: self.assertNotIn('X-Amz-Security-Token', parsed_qs) @@ -56,12 +62,20 @@ def _get_url(self, response): token = response['status']['token'] - b64_token = token[len(self.expected_token_prefix):].encode() + b64_token = token[len(self.expected_token_prefix) :].encode() missing_padding = len(b64_token) % 4 if missing_padding: b64_token += b'=' * (4 - missing_padding) return base64.urlsafe_b64decode(b64_token).decode() + def set_kubernetes_exec_info(self, api_version): + # Set KUBERNETES_EXEC_INFO env var with default payload and provided + # api version + self.environ['KUBERNETES_EXEC_INFO'] = ( + '{"kind":"ExecCredential",' + f'"apiVersion":"client.authentication.k8s.io/{api_version}",' + '"spec":{"interactive":true}}' + ) @mock.patch('awscli.customizations.eks.get_token.datetime') def test_get_token(self, mock_datetime): @@ -78,7 +92,7 @@ "expirationTimestamp": "2019-10-23T23:14:00Z", "token": mock.ANY, # This is asserted in later cases }, - } + }, ) def test_url(self): @@ -95,7 +109,7 @@ self.assert_url_correct( response, expected_endpoint='sts.amazonaws.com', - expected_signing_region='us-east-1' + expected_signing_region='us-east-1', ) def test_url_with_arn(self): @@ -115,13 +129,9 @@ self.assertEqual(assume_role_call[0].name, 'AssumeRole') self.assertEqual( assume_role_call[1], - { - 'RoleArn': self.role_arn, - 'RoleSessionName': 'EKSGetTokenAuth' - } + {'RoleArn': self.role_arn, 'RoleSessionName': 'EKSGetTokenAuth'}, ) - self.assert_url_correct( - response, has_session_token=True) + self.assert_url_correct(response, has_session_token=True) def test_token_has_no_padding(self): cmd = 'eks get-token --cluster-name %s' % self.cluster_name @@ -141,5 +151,110 @@ self.assert_url_correct( response, expected_endpoint='sts.cn-north-1.amazonaws.com.cn', - expected_signing_region='cn-north-1' + expected_signing_region='cn-north-1', + ) + + def test_api_version_discovery_deprecated(self): + self.set_kubernetes_exec_info('v1alpha1') + cmd = 'eks get-token --cluster-name %s' % self.cluster_name + stdout, stderr, _ = self.run_cmd(cmd) + response = json.loads(stdout) + + self.assertEqual( + response["apiVersion"], + "client.authentication.k8s.io/v1alpha1", + ) + + self.assertEqual( + stderr, + ( + "Kubeconfig user entry is using deprecated API " + "version client.authentication.k8s.io/v1alpha1. Run 'aws eks update-kubeconfig' to update.\n" + ), + ) + + def test_api_version_discovery_malformed(self): + self.environ['KUBERNETES_EXEC_INFO'] = ( + '{{"kind":"ExecCredential",' + '"apiVersion":"client.authentication.k8s.io/v1alpha1",' + '"spec":{"interactive":true}}' + ) + cmd = 'eks get-token --cluster-name %s' % self.cluster_name + stdout, stderr, _ = self.run_cmd(cmd) + response = json.loads(stdout) + + self.assertEqual( + response["apiVersion"], + "client.authentication.k8s.io/v1alpha1", + ) + + self.assertEqual( + stderr, + ( + "Error parsing KUBERNETES_EXEC_INFO, defaulting to client.authentication.k8s.io/v1alpha1. " + "This is likely a bug in your Kubernetes client. Please update your Kubernetes client.\n" + ), + ) + + def test_api_version_discovery_empty(self): + cmd = 'eks get-token --cluster-name %s' % self.cluster_name + stdout, stderr, _ = self.run_cmd(cmd) + response = json.loads(stdout) + + self.assertEqual( + response["apiVersion"], + "client.authentication.k8s.io/v1alpha1", + ) + + self.assertEqual( + stderr, + ( + "Empty KUBERNETES_EXEC_INFO, defaulting to client.authentication.k8s.io/v1alpha1. " + "This is likely a bug in your Kubernetes client. Please update your Kubernetes client.\n" + ), + ) + + def test_api_version_discovery_v1(self): + self.set_kubernetes_exec_info('v1') + cmd = 'eks get-token --cluster-name %s' % self.cluster_name + stdout, stderr, _ = self.run_cmd(cmd) + response = json.loads(stdout) + + self.assertEqual( + response["apiVersion"], + "client.authentication.k8s.io/v1", + ) + + self.assertEqual(stderr, "") + + def test_api_version_discovery_v1beta1(self): + self.set_kubernetes_exec_info('v1beta1') + cmd = 'eks get-token --cluster-name %s' % self.cluster_name + stdout, stderr, _ = self.run_cmd(cmd) + response = json.loads(stdout) + + self.assertEqual( + response["apiVersion"], + "client.authentication.k8s.io/v1beta1", + ) + + self.assertEqual(stderr, "") + + def test_api_version_discovery_unknown(self): + self.set_kubernetes_exec_info('v2') + cmd = 'eks get-token --cluster-name %s' % self.cluster_name + stdout, stderr, _ = self.run_cmd(cmd) + response = json.loads(stdout) + + self.assertEqual( + response["apiVersion"], + "client.authentication.k8s.io/v1alpha1", + ) + + self.assertEqual( + stderr, + ( + "Unrecognized API version in KUBERNETES_EXEC_INFO, defaulting to client.authentication.k8s.io/v1alpha1. " + "This is likely due to an outdated AWS CLI. Please update your AWS CLI.\n" + ), ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/test_kubeconfig.py new/aws-cli-1.23.11/tests/functional/eks/test_kubeconfig.py --- old/aws-cli-1.23.1/tests/functional/eks/test_kubeconfig.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/test_kubeconfig.py 2022-05-10 20:06:51.000000000 +0200 @@ -95,7 +95,7 @@ """ old_path = os.path.abspath(get_testdata(config)) new_path = os.path.join(self._temp_directory, config) - shutil.copy2(old_path, + shutil.copy2(old_path, new_path) return new_path @@ -119,14 +119,14 @@ ]) loaded_config = self._loader.load_kubeconfig(simple_path) self.assertEqual(loaded_config.content, content) - self._validator.validate_config.called_with(Kubeconfig(simple_path, + self._validator.validate_config.called_with(Kubeconfig(simple_path, content)) def test_load_noexist(self): no_exist_path = os.path.join(self._temp_directory, "this_does_not_exist") loaded_config = self._loader.load_kubeconfig(no_exist_path) - self.assertEqual(loaded_config.content, + self.assertEqual(loaded_config.content, _get_new_kubeconfig_content()) self._validator.validate_config.called_with( Kubeconfig(no_exist_path, _get_new_kubeconfig_content())) @@ -134,10 +134,10 @@ def test_load_empty(self): empty_path = self._clone_config("valid_empty_existing") loaded_config = self._loader.load_kubeconfig(empty_path) - self.assertEqual(loaded_config.content, + self.assertEqual(loaded_config.content, _get_new_kubeconfig_content()) self._validator.validate_config.called_with( - Kubeconfig(empty_path, + Kubeconfig(empty_path, _get_new_kubeconfig_content())) def test_load_directory(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/test_update_kubeconfig.py new/aws-cli-1.23.11/tests/functional/eks/test_update_kubeconfig.py --- old/aws-cli-1.23.1/tests/functional/eks/test_update_kubeconfig.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/test_update_kubeconfig.py 2022-05-10 20:06:51.000000000 +0200 @@ -58,14 +58,14 @@ self.create_client_patch = mock.patch( 'botocore.session.Session.create_client' ) - + self.mock_create_client = self.create_client_patch.start() self.session = get_session() self.client = mock.Mock() self.client.describe_cluster.return_value = describe_cluster_response() self.mock_create_client.return_value = self.client - + self.command = UpdateKubeconfigCommand(self.session) self.maxDiff = None @@ -102,7 +102,7 @@ self.addCleanup(shutil.rmtree, self._temp_directory) if files is not None: for file in files: - shutil.copy2(get_testdata(file), + shutil.copy2(get_testdata(file), self._get_temp_config(file)) return self._temp_directory @@ -116,7 +116,7 @@ to put in the environment variable :type configs: list """ - return build_environment([self._get_temp_config(config) + return build_environment([self._get_temp_config(config) for config in configs]) def assert_config_state(self, config_name, correct_output_name): @@ -125,7 +125,7 @@ as the testdata named correct_output_name. Should be called after initialize_tempfiles. - :param config_name: The filename (not the path) of the tempfile + :param config_name: The filename (not the path) of the tempfile to compare :type config_name: str @@ -189,7 +189,7 @@ verbose=False): """ Run update-kubeconfig in a temp directory, - This directory will have copies of all testdata files whose names + This directory will have copies of all testdata files whose names are listed in configs. The KUBECONFIG environment variable will be set to contain the configs listed in env_variable_configs (regardless of whether they exist). @@ -384,7 +384,7 @@ configs = ["valid_old_data"] passed = "valid_old_data" environment = [] - + self.assert_cmd(configs, passed, environment) self.assert_config_state("valid_old_data", "output_combined") @@ -394,7 +394,7 @@ environment = ["valid_old_data", "output_combined", "output_single"] - + self.assert_cmd(configs, passed, environment) self.assert_config_state("valid_old_data", "output_combined") @@ -415,3 +415,10 @@ self.assert_cmd(configs, passed, environment) self.assert_config_state("valid_changed_ordering", "output_combined_changed_ordering") + def test_update_old_api_version(self): + configs = ["valid_old_api_version"] + passed = "valid_old_api_version" + environment = [] + + self.assert_cmd(configs, passed, environment) + self.assert_config_state("valid_old_api_version", "valid_old_api_version_updated") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/invalid_string_cluster_entry new/aws-cli-1.23.11/tests/functional/eks/testdata/invalid_string_cluster_entry --- old/aws-cli-1.23.1/tests/functional/eks/testdata/invalid_string_cluster_entry 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/invalid_string_cluster_entry 2022-05-10 20:06:51.000000000 +0200 @@ -13,7 +13,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/invalid_string_clusters new/aws-cli-1.23.11/tests/functional/eks/testdata/invalid_string_clusters --- old/aws-cli-1.23.1/tests/functional/eks/testdata/invalid_string_clusters 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/invalid_string_clusters 2022-05-10 20:06:51.000000000 +0200 @@ -12,7 +12,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/invalid_string_context_entry new/aws-cli-1.23.11/tests/functional/eks/testdata/invalid_string_context_entry --- old/aws-cli-1.23.1/tests/functional/eks/testdata/invalid_string_context_entry 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/invalid_string_context_entry 2022-05-10 20:06:51.000000000 +0200 @@ -13,7 +13,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/invalid_string_contexts new/aws-cli-1.23.11/tests/functional/eks/testdata/invalid_string_contexts --- old/aws-cli-1.23.1/tests/functional/eks/testdata/invalid_string_contexts 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/invalid_string_contexts 2022-05-10 20:06:51.000000000 +0200 @@ -12,7 +12,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/output_combined new/aws-cli-1.23.11/tests/functional/eks/testdata/output_combined --- old/aws-cli-1.23.1/tests/functional/eks/testdata/output_combined 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/output_combined 2022-05-10 20:06:51.000000000 +0200 @@ -24,7 +24,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 @@ -36,7 +36,7 @@ - name: arn:aws:eks:region:111222333444:cluster/ExampleCluster user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - region diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/output_combined_changed_ordering new/aws-cli-1.23.11/tests/functional/eks/testdata/output_combined_changed_ordering --- old/aws-cli-1.23.1/tests/functional/eks/testdata/output_combined_changed_ordering 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/output_combined_changed_ordering 2022-05-10 20:06:51.000000000 +0200 @@ -2,7 +2,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 @@ -14,7 +14,7 @@ - name: arn:aws:eks:region:111222333444:cluster/ExampleCluster user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - region diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/output_single new/aws-cli-1.23.11/tests/functional/eks/testdata/output_single --- old/aws-cli-1.23.1/tests/functional/eks/testdata/output_single 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/output_single 2022-05-10 20:06:51.000000000 +0200 @@ -16,7 +16,7 @@ - name: arn:aws:eks:region:111222333444:cluster/ExampleCluster user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - region diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_cluster new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_cluster --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_cluster 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_cluster 2022-05-10 20:06:51.000000000 +0200 @@ -13,7 +13,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_cluster2 new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_cluster2 --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_cluster2 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_cluster2 2022-05-10 20:06:51.000000000 +0200 @@ -15,7 +15,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_context new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_context --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_context 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_context 2022-05-10 20:06:51.000000000 +0200 @@ -13,7 +13,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_context2 new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_context2 --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_context2 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_context2 2022-05-10 20:06:51.000000000 +0200 @@ -15,7 +15,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_user new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_user --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_bad_user 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_bad_user 2022-05-10 20:06:51.000000000 +0200 @@ -15,7 +15,7 @@ users: - user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_changed_ordering new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_changed_ordering --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_changed_ordering 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_changed_ordering 2022-05-10 20:06:51.000000000 +0200 @@ -2,7 +2,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_existing new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_existing --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_existing 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_existing 2022-05-10 20:06:51.000000000 +0200 @@ -16,7 +16,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_no_cluster new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_no_cluster --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_no_cluster 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_no_cluster 2022-05-10 20:06:51.000000000 +0200 @@ -11,7 +11,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_no_context new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_no_context --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_no_context 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_no_context 2022-05-10 20:06:51.000000000 +0200 @@ -11,7 +11,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_no_current_context new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_no_current_context --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_no_current_context 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_no_current_context 2022-05-10 20:06:51.000000000 +0200 @@ -15,7 +15,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_old_api_version new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_old_api_version --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_old_api_version 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_old_api_version 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,27 @@ +apiVersion: v1 +clusters: +- cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpWR1Z6ZEdsdVp5QkVZWFJoRFFwVVpYTjBhVzVuSUVSaGRHRU5DbFJsYzNScGJtY2dSR0YwWVEwS2EzVmlaWEp1WlhSbGN6QWVGdzBLVkdWemRHbHVaeUJFWVhSaERRcFVaWE4wYVc1bklFUmhkR0ZWQkFNVERRcHJkV0psY201bGRHVnpNQUVpTUEwS1ZHVnpkR2x1WnlCRVlYUmhEUXBVWlhOMGFXNW5JRVJoZEdFTkNsUmxjM1JwYm1jZ1JHRjBZY3UvR1FnbmFTcDNZaHBDTWhGVVpYTjBhVzVuSUVSaGRHRXl3clZqeEpWNjNwNFVHRmpZdHdGR1drUldJVkV1VkdWemRHbHVaeUJFWVhSaGJzT0MxSVJiTDhPd0lpMVhiWGg2VkdWemRHbHVaeUJFWVhSaFpXVndTTk9VVUZKNmN5QWJaaFpnWVNkTUV3MEtGMVJsYzNScGJtY2dSR0YwWVFZRFZSMFBBUUVFQkFNQ0FsUmxjM1JwYm1jZ1JHRjBZUUV3RFFvR0NTcElEUXBVWlhOMGFXNW5JRVJoZEdGcEgxc1pPRTNMa3lrMU9DWUNHUloyTEZjM3paOCtHell3WEZSbGMzUnBibWNnUkdGMFlYMUR5NjFNMVlGV1AxWVRIMVJsYzNScGJtY2dSR0YwWVd0aE5oMVphM2dWUDBGaGNSWjdKaW9oZVc4N1JsUmxjM1JwYm1jZ1JHRjBZUVpIVHd4NE9IdzZmZz09DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t + server: https://endpoint.amazonaws.com + name: arn:aws:eks:region:111222333444:cluster/ExampleCluster +contexts: +- context: + cluster: arn:aws:eks:region:111222333444:cluster/ExampleCluster + user: arn:aws:eks:region:111222333444:cluster/ExampleCluster + name: arn:aws:eks:region:111222333444:cluster/ExampleCluster +current-context: arn:aws:eks:region:111222333444:cluster/ExampleCluster +kind: Config +preferences: {} +users: +- name: arn:aws:eks:region:111222333444:cluster/ExampleCluster + user: + exec: + apiVersion: client.authentication.k8s.io/v1alpha1 + args: + - --region + - us-west-2 + - eks + - get-token + - --cluster-name + - ExampleCluster + command: aws diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_old_api_version_updated new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_old_api_version_updated --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_old_api_version_updated 1970-01-01 01:00:00.000000000 +0100 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_old_api_version_updated 2022-05-10 20:06:51.000000000 +0200 @@ -0,0 +1,27 @@ +apiVersion: v1 +clusters: +- cluster: + certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpWR1Z6ZEdsdVp5QkVZWFJoRFFwVVpYTjBhVzVuSUVSaGRHRU5DbFJsYzNScGJtY2dSR0YwWVEwS2EzVmlaWEp1WlhSbGN6QWVGdzBLVkdWemRHbHVaeUJFWVhSaERRcFVaWE4wYVc1bklFUmhkR0ZWQkFNVERRcHJkV0psY201bGRHVnpNQUVpTUEwS1ZHVnpkR2x1WnlCRVlYUmhEUXBVWlhOMGFXNW5JRVJoZEdFTkNsUmxjM1JwYm1jZ1JHRjBZY3UvR1FnbmFTcDNZaHBDTWhGVVpYTjBhVzVuSUVSaGRHRXl3clZqeEpWNjNwNFVHRmpZdHdGR1drUldJVkV1VkdWemRHbHVaeUJFWVhSaGJzT0MxSVJiTDhPd0lpMVhiWGg2VkdWemRHbHVaeUJFWVhSaFpXVndTTk9VVUZKNmN5QWJaaFpnWVNkTUV3MEtGMVJsYzNScGJtY2dSR0YwWVFZRFZSMFBBUUVFQkFNQ0FsUmxjM1JwYm1jZ1JHRjBZUUV3RFFvR0NTcElEUXBVWlhOMGFXNW5JRVJoZEdGcEgxc1pPRTNMa3lrMU9DWUNHUloyTEZjM3paOCtHell3WEZSbGMzUnBibWNnUkdGMFlYMUR5NjFNMVlGV1AxWVRIMVJsYzNScGJtY2dSR0YwWVd0aE5oMVphM2dWUDBGaGNSWjdKaW9oZVc4N1JsUmxjM1JwYm1jZ1JHRjBZUVpIVHd4NE9IdzZmZz09DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t + server: https://endpoint.amazonaws.com + name: arn:aws:eks:region:111222333444:cluster/ExampleCluster +contexts: +- context: + cluster: arn:aws:eks:region:111222333444:cluster/ExampleCluster + user: arn:aws:eks:region:111222333444:cluster/ExampleCluster + name: arn:aws:eks:region:111222333444:cluster/ExampleCluster +current-context: arn:aws:eks:region:111222333444:cluster/ExampleCluster +kind: Config +preferences: {} +users: +- name: arn:aws:eks:region:111222333444:cluster/ExampleCluster + user: + exec: + apiVersion: client.authentication.k8s.io/v1beta1 + args: + - --region + - region + - eks + - get-token + - --cluster-name + - ExampleCluster + command: aws diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_old_data new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_old_data --- old/aws-cli-1.23.1/tests/functional/eks/testdata/valid_old_data 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/functional/eks/testdata/valid_old_data 2022-05-10 20:06:51.000000000 +0200 @@ -24,7 +24,7 @@ - name: arn:aws:eks:us-west-2:111222333444:cluster/Existing user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - --region - us-west-2 @@ -36,7 +36,7 @@ - name: arn:aws:eks:region:111222333444:cluster/ExampleCluster user: exec: - apiVersion: client.authentication.k8s.io/v1alpha1 + apiVersion: client.authentication.k8s.io/v1beta1 args: - token - -i diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aws-cli-1.23.1/tests/unit/customizations/emr/test_create_cluster_release_label.py new/aws-cli-1.23.11/tests/unit/customizations/emr/test_create_cluster_release_label.py --- old/aws-cli-1.23.1/tests/unit/customizations/emr/test_create_cluster_release_label.py 2022-04-26 20:09:56.000000000 +0200 +++ new/aws-cli-1.23.11/tests/unit/customizations/emr/test_create_cluster_release_label.py 2022-05-10 20:06:51.000000000 +0200 @@ -1495,6 +1495,21 @@ } self.assert_params_for_cmd(cmd, result) + def test_create_cluster_with_os_release_label(self): + test_os_release_label = '2.0.20220406.1' + cmd = (self.prefix + '--release-label emr-6.6.0' + + ' --os-release-label ' + test_os_release_label + + ' --instance-groups ' + DEFAULT_INSTANCE_GROUPS_ARG) + result = \ + { + 'Name': DEFAULT_CLUSTER_NAME, + 'Instances': DEFAULT_INSTANCES, + 'ReleaseLabel': 'emr-6.6.0', + 'VisibleToAllUsers': True, + 'Tags': [], + 'OSReleaseLabel': test_os_release_label + } + self.assert_params_for_cmd(cmd, result) if __name__ == "__main__": unittest.main()