From 4e63b63d7ce828cd97ed07ad2d0148b680489b59 Mon Sep 17 00:00:00 2001 From: Steve Yoo <106777148+hssyoo@users.noreply.github.com> Date: Mon, 6 Jan 2025 16:47:26 -0500 Subject: [PATCH 1/4] Expose `--bucket-name-prefix` and `--bucket-region` to `s3 ls` (#9189) --- .../next-release/enhancement-s3ls-20704.json | 5 ++ awscli/customizations/s3/subcommands.py | 40 ++++++++- tests/functional/s3/test_ls_command.py | 20 +++++ .../customizations/s3/test_subcommands.py | 89 ++++++++++++++++--- 4 files changed, 138 insertions(+), 16 deletions(-) create mode 100644 .changes/next-release/enhancement-s3ls-20704.json diff --git a/.changes/next-release/enhancement-s3ls-20704.json b/.changes/next-release/enhancement-s3ls-20704.json new file mode 100644 index 000000000000..a98c6c6bb8a8 --- /dev/null +++ b/.changes/next-release/enhancement-s3ls-20704.json @@ -0,0 +1,5 @@ +{ + "type": "enhancement", + "category": "``s3 ls``", + "description": "Expose low-level ``ListBuckets` parameters ``Prefix`` and ``BucketRegion`` to high-level ``s3 ls`` command as ``--bucket-name-prefix`` and ``--bucket-region``." +} diff --git a/awscli/customizations/s3/subcommands.py b/awscli/customizations/s3/subcommands.py index e5a3f8a4d4fe..e0f79b90bcbe 100644 --- a/awscli/customizations/s3/subcommands.py +++ b/awscli/customizations/s3/subcommands.py @@ -462,6 +462,26 @@ 'help_text': 'Indicates the algorithm used to create the checksum for the object.' } +BUCKET_NAME_PREFIX = { + 'name': 'bucket-name-prefix', + 'help_text': ( + 'Limits the response to bucket names that begin with the specified ' + 'bucket name prefix.' + ) +} + +BUCKET_REGION = { + 'name': 'bucket-region', + 'help_text': ( + 'Limits the response to buckets that are located in the specified ' + 'Amazon Web Services Region. The Amazon Web Services Region must be ' + 'expressed according to the Amazon Web Services Region code, such as ' + 'us-west-2 for the US West (Oregon) Region. For a list of the valid ' + 'values for all of the Amazon Web Services Regions, see ' + 'https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region' + ) +} + TRANSFER_ARGS = [DRYRUN, QUIET, INCLUDE, EXCLUDE, ACL, FOLLOW_SYMLINKS, NO_FOLLOW_SYMLINKS, NO_GUESS_MIME_TYPE, SSE, SSE_C, SSE_C_KEY, SSE_KMS_KEY_ID, SSE_C_COPY_SOURCE, @@ -494,7 +514,8 @@ class ListCommand(S3Command): USAGE = " or NONE" ARG_TABLE = [{'name': 'paths', 'nargs': '?', 'default': 's3://', 'positional_arg': True, 'synopsis': USAGE}, RECURSIVE, - PAGE_SIZE, HUMAN_READABLE, SUMMARIZE, REQUEST_PAYER] + PAGE_SIZE, HUMAN_READABLE, SUMMARIZE, REQUEST_PAYER, + BUCKET_NAME_PREFIX, BUCKET_REGION] def _run_main(self, parsed_args, parsed_globals): super(ListCommand, self)._run_main(parsed_args, parsed_globals) @@ -508,7 +529,11 @@ def _run_main(self, parsed_args, parsed_globals): path = path[5:] bucket, key = find_bucket_key(path) if not bucket: - self._list_all_buckets(parsed_args.page_size) + self._list_all_buckets( + parsed_args.page_size, + parsed_args.bucket_name_prefix, + parsed_args.bucket_region, + ) elif parsed_args.dir_op: # Then --recursive was specified. self._list_all_objects_recursive( @@ -572,11 +597,20 @@ def _display_page(self, response_data, use_basename=True): uni_print(print_str) self._at_first_page = False - def _list_all_buckets(self, page_size=None): + def _list_all_buckets( + self, + page_size=None, + prefix=None, + bucket_region=None, + ): paginator = self.client.get_paginator('list_buckets') paging_args = { 'PaginationConfig': {'PageSize': page_size} } + if prefix: + paging_args['Prefix'] = prefix + if bucket_region: + paging_args['BucketRegion'] = bucket_region iterator = paginator.paginate(**paging_args) diff --git a/tests/functional/s3/test_ls_command.py b/tests/functional/s3/test_ls_command.py index 4b730c2621b9..4df626f8b600 100644 --- a/tests/functional/s3/test_ls_command.py +++ b/tests/functional/s3/test_ls_command.py @@ -215,3 +215,23 @@ def test_accesspoint_arn(self): self.run_cmd('s3 ls s3://%s' % arn, expected_rc=0) call_args = self.operations_called[0][1] self.assertEqual(call_args['Bucket'], arn) + + def test_list_buckets_uses_bucket_name_prefix(self): + stdout, _, _ = self.run_cmd('s3 ls --bucket-name-prefix myprefix', expected_rc=0) + call_args = self.operations_called[0][1] + self.assertEqual(call_args['Prefix'], 'myprefix') + + def test_list_buckets_uses_bucket_region(self): + stdout, _, _ = self.run_cmd('s3 ls --bucket-region us-west-1', expected_rc=0) + call_args = self.operations_called[0][1] + self.assertEqual(call_args['BucketRegion'], 'us-west-1') + + def test_list_objects_ignores_bucket_name_prefix(self): + stdout, _, _ = self.run_cmd('s3 ls s3://mybucket --bucket-name-prefix myprefix', expected_rc=0) + call_args = self.operations_called[0][1] + self.assertEqual(call_args['Prefix'], '') + + def test_list_objects_ignores_bucket_region(self): + stdout, _, _ = self.run_cmd('s3 ls s3://mybucket --bucket-region us-west-1', expected_rc=0) + call_args = self.operations_called[0][1] + self.assertNotIn('BucketRegion', call_args) diff --git a/tests/unit/customizations/s3/test_subcommands.py b/tests/unit/customizations/s3/test_subcommands.py index 53016bbdb04c..09dd0a3db667 100644 --- a/tests/unit/customizations/s3/test_subcommands.py +++ b/tests/unit/customizations/s3/test_subcommands.py @@ -88,11 +88,27 @@ def setUp(self): self.session.create_client.return_value.get_paginator.return_value\ .paginate.return_value = [{'Contents': [], 'CommonPrefixes': []}] + def _get_fake_kwargs(self, override=None): + fake_kwargs = { + 'paths': 's3://', + 'dir_op': False, + 'human_readable': False, + 'summarize': False, + 'page_size': None, + 'request_payer': None, + 'bucket_name_prefix': None, + 'bucket_region': None, + } + fake_kwargs.update(override or {}) + + return fake_kwargs + def test_ls_command_for_bucket(self): ls_command = ListCommand(self.session) - parsed_args = FakeArgs(paths='s3://mybucket/', dir_op=False, - page_size='5', human_readable=False, - summarize=False, request_payer=None) + parsed_args = FakeArgs(**self._get_fake_kwargs({ + 'paths': 's3://mybucket/', + 'page_size': '5', + })) parsed_globals = mock.Mock() ls_command._run_main(parsed_args, parsed_globals) call = self.session.create_client.return_value.list_objects_v2 @@ -113,9 +129,7 @@ def test_ls_command_with_no_args(self): ls_command = ListCommand(self.session) parsed_global = FakeArgs(region=None, endpoint_url=None, verify_ssl=None) - parsed_args = FakeArgs(dir_op=False, paths='s3://', - human_readable=False, summarize=False, - request_payer=None, page_size=None) + parsed_args = FakeArgs(**self._get_fake_kwargs()) ls_command._run_main(parsed_args, parsed_global) call = self.session.create_client.return_value.list_buckets paginate = self.session.create_client.return_value.get_paginator\ @@ -137,14 +151,61 @@ def test_ls_command_with_no_args(self): 's3', region_name=None, endpoint_url=None, verify=None, config=None)) + def test_ls_with_bucket_name_prefix(self): + ls_command = ListCommand(self.session) + parsed_args = FakeArgs(**self._get_fake_kwargs({ + 'bucket_name_prefix': 'myprefix', + })) + parsed_globals = FakeArgs( + region=None, + endpoint_url=None, + verify_ssl=None, + ) + ls_command._run_main(parsed_args, parsed_globals) + call = self.session.create_client.return_value.list_objects + paginate = self.session.create_client.return_value.get_paginator\ + .return_value.paginate + # We should make no operation calls. + self.assertEqual(call.call_count, 0) + self.session.create_client.return_value.get_paginator.\ + assert_called_with('list_buckets') + ref_call_args = { + 'PaginationConfig': {'PageSize': None}, + 'Prefix': 'myprefix', + } + + paginate.assert_called_with(**ref_call_args) + + def test_ls_with_bucket_region(self): + ls_command = ListCommand(self.session) + parsed_args = FakeArgs(**self._get_fake_kwargs({ + 'bucket_region': 'us-west-1', + })) + parsed_globals = FakeArgs( + region=None, + endpoint_url=None, + verify_ssl=None, + ) + ls_command._run_main(parsed_args, parsed_globals) + call = self.session.create_client.return_value.list_objects + paginate = self.session.create_client.return_value.get_paginator\ + .return_value.paginate + # We should make no operation calls. + self.assertEqual(call.call_count, 0) + self.session.create_client.return_value.get_paginator.\ + assert_called_with('list_buckets') + ref_call_args = { + 'PaginationConfig': {'PageSize': None}, + 'BucketRegion': 'us-west-1', + } + + paginate.assert_called_with(**ref_call_args) + def test_ls_with_verify_argument(self): - options = {'default': 's3://', 'nargs': '?'} ls_command = ListCommand(self.session) parsed_global = FakeArgs(region='us-west-2', endpoint_url=None, verify_ssl=False) - parsed_args = FakeArgs(paths='s3://', dir_op=False, - human_readable=False, summarize=False, - request_payer=None, page_size=None) + parsed_args = FakeArgs(**self._get_fake_kwargs({})) ls_command._run_main(parsed_args, parsed_global) # Verify get_client get_client = self.session.create_client @@ -155,9 +216,11 @@ def test_ls_with_verify_argument(self): def test_ls_with_requester_pays(self): ls_command = ListCommand(self.session) - parsed_args = FakeArgs(paths='s3://mybucket/', dir_op=False, - human_readable=False, summarize=False, - request_payer='requester', page_size='5') + parsed_args = FakeArgs(**self._get_fake_kwargs({ + 'paths': 's3://mybucket/', + 'page_size': '5', + 'request_payer': 'requester', + })) parsed_globals = mock.Mock() ls_command._run_main(parsed_args, parsed_globals) call = self.session.create_client.return_value.list_objects From 25984d5c92e0a2d1cc59d24f17da692872bfe790 Mon Sep 17 00:00:00 2001 From: jonathan343 <43360731+jonathan343@users.noreply.github.com> Date: Tue, 7 Jan 2025 13:04:35 -0500 Subject: [PATCH 2/4] Remove examples for iot1click-devices and iot1click-projects (#9187) --- .../claim-devices-by-claim-code.rst | 15 --------- .../iot1click-devices/describe-device.rst | 27 ---------------- .../finalize-device-claim.rst | 14 -------- .../iot1click-devices/get-device-methods.rst | 30 ----------------- .../initiate-device-claim.rst | 14 -------- .../invoke-device-method.rst | 24 -------------- .../iot1click-devices/list-device-events.rst | 32 ------------------- .../iot1click-devices/list-devices.rst | 26 --------------- .../list-tags-for-resource.rst | 17 ---------- .../iot1click-devices/tag-resource.rst | 20 ------------ .../iot1click-devices/unclaim-device.rst | 14 -------- .../iot1click-devices/untag-resource.rst | 12 ------- .../iot1click-devices/update-device-state.rst | 11 ------- .../associate-device-with-placement.rst | 13 -------- .../iot1click-projects/create-placement.rst | 12 ------- .../iot1click-projects/create-project.rst | 27 ---------------- .../iot1click-projects/delete-placement.rst | 11 ------- .../iot1click-projects/delete-project.rst | 10 ------ .../iot1click-projects/describe-placement.rst | 24 -------------- .../iot1click-projects/describe-project.rst | 32 ------------------- .../disassociate-device-from-placement.rst | 12 ------- .../get-devices-in-placement.rst | 17 ---------- .../iot1click-projects/list-placements.rst | 21 ------------ .../iot1click-projects/list-projects.rst | 21 ------------ .../list-tags-for-resource.rst | 17 ---------- .../iot1click-projects/tag-resource.rst | 20 ------------ .../iot1click-projects/untag-resource.rst | 11 ------- .../iot1click-projects/update-placement.rst | 21 ------------ .../iot1click-projects/update-project.rst | 11 ------- 29 files changed, 536 deletions(-) delete mode 100644 awscli/examples/iot1click-devices/claim-devices-by-claim-code.rst delete mode 100644 awscli/examples/iot1click-devices/describe-device.rst delete mode 100644 awscli/examples/iot1click-devices/finalize-device-claim.rst delete mode 100644 awscli/examples/iot1click-devices/get-device-methods.rst delete mode 100644 awscli/examples/iot1click-devices/initiate-device-claim.rst delete mode 100644 awscli/examples/iot1click-devices/invoke-device-method.rst delete mode 100644 awscli/examples/iot1click-devices/list-device-events.rst delete mode 100644 awscli/examples/iot1click-devices/list-devices.rst delete mode 100644 awscli/examples/iot1click-devices/list-tags-for-resource.rst delete mode 100644 awscli/examples/iot1click-devices/tag-resource.rst delete mode 100644 awscli/examples/iot1click-devices/unclaim-device.rst delete mode 100644 awscli/examples/iot1click-devices/untag-resource.rst delete mode 100644 awscli/examples/iot1click-devices/update-device-state.rst delete mode 100644 awscli/examples/iot1click-projects/associate-device-with-placement.rst delete mode 100644 awscli/examples/iot1click-projects/create-placement.rst delete mode 100644 awscli/examples/iot1click-projects/create-project.rst delete mode 100644 awscli/examples/iot1click-projects/delete-placement.rst delete mode 100644 awscli/examples/iot1click-projects/delete-project.rst delete mode 100644 awscli/examples/iot1click-projects/describe-placement.rst delete mode 100644 awscli/examples/iot1click-projects/describe-project.rst delete mode 100644 awscli/examples/iot1click-projects/disassociate-device-from-placement.rst delete mode 100644 awscli/examples/iot1click-projects/get-devices-in-placement.rst delete mode 100644 awscli/examples/iot1click-projects/list-placements.rst delete mode 100644 awscli/examples/iot1click-projects/list-projects.rst delete mode 100644 awscli/examples/iot1click-projects/list-tags-for-resource.rst delete mode 100644 awscli/examples/iot1click-projects/tag-resource.rst delete mode 100644 awscli/examples/iot1click-projects/untag-resource.rst delete mode 100644 awscli/examples/iot1click-projects/update-placement.rst delete mode 100644 awscli/examples/iot1click-projects/update-project.rst diff --git a/awscli/examples/iot1click-devices/claim-devices-by-claim-code.rst b/awscli/examples/iot1click-devices/claim-devices-by-claim-code.rst deleted file mode 100644 index 6cc1c3eb4ed7..000000000000 --- a/awscli/examples/iot1click-devices/claim-devices-by-claim-code.rst +++ /dev/null @@ -1,15 +0,0 @@ -**To claim one or more AWS IoT 1-Click devices using a claim code** - -The following ``claim-devices-by-claim-code`` example claims the specified AWS IoT 1-Click device using a claim code (instead of a device ID). :: - - aws iot1click-devices claim-devices-by-claim-code \ - --claim-code C-123EXAMPLE - -Output:: - - { - "Total": 9 - "ClaimCode": "C-123EXAMPLE" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/describe-device.rst b/awscli/examples/iot1click-devices/describe-device.rst deleted file mode 100644 index b89d99bc72fb..000000000000 --- a/awscli/examples/iot1click-devices/describe-device.rst +++ /dev/null @@ -1,27 +0,0 @@ -**To describe a device** - -The following ``describe-device`` example describes the specified device. :: - - aws iot1click-devices describe-device \ - --device-id G030PM0123456789 - -Output:: - - { - "DeviceDescription": { - "Arn": "arn:aws:iot1click:us-west-2:012345678901:devices/G030PM0123456789", - "Attributes": { - "projectRegion": "us-west-2", - "projectName": "AnytownDumpsters", - "placementName": "customer217", - "deviceTemplateName": "empty-dumpster-request" - }, - "DeviceId": "G030PM0123456789", - "Enabled": false, - "RemainingLife": 99.9, - "Type": "button", - "Tags": {} - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/finalize-device-claim.rst b/awscli/examples/iot1click-devices/finalize-device-claim.rst deleted file mode 100644 index 6999dc44006a..000000000000 --- a/awscli/examples/iot1click-devices/finalize-device-claim.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To finalize a claim request for an AWS IoT 1-Click device using a device ID** - -The following ``finalize-device-claim`` example finalizes a claim request for the specified AWS IoT 1-Click device using a device ID (instead of a claim code). :: - - aws iot1click-devices finalize-device-claim \ - --device-id G030PM0123456789 - -Output:: - - { - "State": "CLAIMED" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/get-device-methods.rst b/awscli/examples/iot1click-devices/get-device-methods.rst deleted file mode 100644 index df8392d94032..000000000000 --- a/awscli/examples/iot1click-devices/get-device-methods.rst +++ /dev/null @@ -1,30 +0,0 @@ -**To list the available methods for a device** - -The following ``get-device-methods`` example lists the available methods for a device. :: - - aws iot1click-devices get-device-methods \ - --device-id G030PM0123456789 - -Output:: - - { - "DeviceMethods": [ - { - "MethodName": "getDeviceHealthParameters" - }, - { - "MethodName": "setDeviceHealthMonitorCallback" - }, - { - "MethodName": "getDeviceHealthMonitorCallback" - }, - { - "MethodName": "setOnClickCallback" - }, - { - "MethodName": "getOnClickCallback" - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/initiate-device-claim.rst b/awscli/examples/iot1click-devices/initiate-device-claim.rst deleted file mode 100644 index 1899d1deb474..000000000000 --- a/awscli/examples/iot1click-devices/initiate-device-claim.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To initiate a claim request for an AWS IoT 1-Click device using a device ID** - -The following ``initiate-device-claim`` example initiates a claim request for the specified AWS IoT 1-Click device using a device ID (instead of a claim code). :: - - aws iot1click-devices initiate-device-claim \ - --device-id G030PM0123456789 - -Output:: - - { - "State": "CLAIM_INITIATED" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/invoke-device-method.rst b/awscli/examples/iot1click-devices/invoke-device-method.rst deleted file mode 100644 index 26889f1bb6e5..000000000000 --- a/awscli/examples/iot1click-devices/invoke-device-method.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To invoke a device method on a device** - -The following ``invoke-device-method`` example invokes the specified method on a device. :: - - aws iot1click-devices invoke-device-method \ - --cli-input-json file://invoke-device-method.json - -Contents of ``invoke-device-method.json``:: - - { - "DeviceId": "G030PM0123456789", - "DeviceMethod": { - "DeviceType": "device", - "MethodName": "getDeviceHealthParameters" - } - } - -Output:: - - { - "DeviceMethodResponse": "{\"remainingLife\": 99.8}" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/list-device-events.rst b/awscli/examples/iot1click-devices/list-device-events.rst deleted file mode 100644 index 51ed175560c7..000000000000 --- a/awscli/examples/iot1click-devices/list-device-events.rst +++ /dev/null @@ -1,32 +0,0 @@ -**To list a device's events for a specified time range** - -The following ``list-device-events`` example lists the specified device's events for the specified time range. :: - - aws iot1click-devices list-device-events \ - --device-id G030PM0123456789 \ - --from-time-stamp 2019-07-17T15:45:12.880Z --to-time-stamp 2019-07-19T15:45:12.880Z - -Output:: - - { - "Events": [ - { - "Device": { - "Attributes": {}, - "DeviceId": "G030PM0123456789", - "Type": "button" - }, - "StdEvent": "{\"clickType\": \"SINGLE\", \"reportedTime\": \"2019-07-18T23:47:55.015Z\", \"certificateId\": \"fe8798a6c97c62ef8756b80eeefdcf2280f3352f82faa8080c74cc4f4a4d1811\", \"remainingLife\": 99.85000000000001, \"testMode\": false}" - }, - { - "Device": { - "Attributes": {}, - "DeviceId": "G030PM0123456789", - "Type": "button" - }, - "StdEvent": "{\"clickType\": \"DOUBLE\", \"reportedTime\": \"2019-07-19T00:14:41.353Z\", \"certificateId\": \"fe8798a6c97c62ef8756b80eeefdcf2280f3352f82faa8080c74cc4f4a4d1811\", \"remainingLife\": 99.8, \"testMode\": false}" - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/list-devices.rst b/awscli/examples/iot1click-devices/list-devices.rst deleted file mode 100644 index ef3d317cee27..000000000000 --- a/awscli/examples/iot1click-devices/list-devices.rst +++ /dev/null @@ -1,26 +0,0 @@ -**To list the devices of a specified type** - -The following ``list-devices`` example lists the devices of a specified type. :: - - aws iot1click-devices list-devices \ - --device-type button - -This command produces no output. - -Output:: - - { - "Devices": [ - { - "remainingLife": 99.9, - "attributes": { - "arn": "arn:aws:iot1click:us-west-2:123456789012:devices/G030PM0123456789", - "type": "button", - "deviceId": "G030PM0123456789", - "enabled": false - } - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/list-tags-for-resource.rst b/awscli/examples/iot1click-devices/list-tags-for-resource.rst deleted file mode 100644 index 89cdc329f6f9..000000000000 --- a/awscli/examples/iot1click-devices/list-tags-for-resource.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To list the tags for a device** - -The following ``list-tags-for-resource`` example list the tags for the specified device. :: - - aws iot1click-devices list-tags-for-resource \ - --resource-arn "arn:aws:iot1click:us-west-2:012345678901:devices/G030PM0123456789" - -Output:: - - { - "Tags": { - "Driver Phone": "123-555-0199", - "Driver": "Jorge Souza" - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/tag-resource.rst b/awscli/examples/iot1click-devices/tag-resource.rst deleted file mode 100644 index 51ef0a043953..000000000000 --- a/awscli/examples/iot1click-devices/tag-resource.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To add tags to a device AWS resource** - -The following ``tag-resource`` example adds two tags to the specified resource. :: - - aws iot1click-devices tag-resource \ - --cli-input-json file://devices-tag-resource.json - -Contents of ``devices-tag-resource.json``:: - - { - "ResourceArn": "arn:aws:iot1click:us-west-2:123456789012:devices/G030PM0123456789", - "Tags": { - "Driver": "Jorge Souza", - "Driver Phone": "123-555-0199" - } - } - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/unclaim-device.rst b/awscli/examples/iot1click-devices/unclaim-device.rst deleted file mode 100644 index c69c5086452b..000000000000 --- a/awscli/examples/iot1click-devices/unclaim-device.rst +++ /dev/null @@ -1,14 +0,0 @@ -**To unclaim (deregister) a device from your AWS account** - -The following ``unclaim-device`` example unclaims (deregisters) the specified device from your AWS account. :: - - aws iot1click-devices unclaim-device \ - --device-id G030PM0123456789 - -Output:: - - { - "State": "UNCLAIMED" - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/untag-resource.rst b/awscli/examples/iot1click-devices/untag-resource.rst deleted file mode 100644 index 6ce9efe73dbb..000000000000 --- a/awscli/examples/iot1click-devices/untag-resource.rst +++ /dev/null @@ -1,12 +0,0 @@ -**To remove tags from a device AWS resource** - -The following ``untag-resource`` example removes the tags with the names ``Driver Phone`` and ``Driver`` from the specified device resource. :: - - aws iot1click-devices untag-resource \ - --resource-arn "arn:aws:iot1click:us-west-2:123456789012:projects/AnytownDumpsters" \ - --tag-keys "Driver Phone" "Driver" - - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-devices/update-device-state.rst b/awscli/examples/iot1click-devices/update-device-state.rst deleted file mode 100644 index 4d0b6c1b682d..000000000000 --- a/awscli/examples/iot1click-devices/update-device-state.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To update the ``enabled`` state for a device** - -The following ``update-device-state`` sets the state of the specified device to ``enabled``. :: - - aws iot1click-devices update-device-state \ - --device-id G030PM0123456789 \ - --enabled - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/associate-device-with-placement.rst b/awscli/examples/iot1click-projects/associate-device-with-placement.rst deleted file mode 100644 index 37f928793e33..000000000000 --- a/awscli/examples/iot1click-projects/associate-device-with-placement.rst +++ /dev/null @@ -1,13 +0,0 @@ -**To associate an AWS IoT 1-Click device with an existing placement** - -The following ``associate-device-with-placement`` example associates the specified AWS IoT 1-Click device with an existing placement. :: - - aws iot1click-projects associate-device-with-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 \ - --device-template-name empty-dumpster-request \ - --device-id G030PM0123456789 - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/create-placement.rst b/awscli/examples/iot1click-projects/create-placement.rst deleted file mode 100644 index 28feb09ea97b..000000000000 --- a/awscli/examples/iot1click-projects/create-placement.rst +++ /dev/null @@ -1,12 +0,0 @@ -**To create an AWS IoT 1-Click placement for a project** - -The following ``create-placement`` example create an AWS IoT 1-Click placement for the specified project. :: - - aws iot1click-projects create-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 \ - --attributes "{"location": "123 Any Street Anytown, USA 10001", "phone": "123-456-7890"}" - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/create-project.rst b/awscli/examples/iot1click-projects/create-project.rst deleted file mode 100644 index 4ece7ec5cd46..000000000000 --- a/awscli/examples/iot1click-projects/create-project.rst +++ /dev/null @@ -1,27 +0,0 @@ -**To create an AWS IoT 1-Click project for zero or more placements** - -The following ``create-project`` example creates an AWS IoT 1-Click project for a placement. - - aws iot1click-projects create-project \ - --cli-input-json file://create-project.json - -Contents of ``create-project.json``:: - - { - "projectName": "AnytownDumpsters", - "description": "All dumpsters in the Anytown region.", - "placementTemplate": { - "defaultAttributes": { - "City" : "Anytown" - }, - "deviceTemplates": { - "empty-dumpster-request" : { - "deviceType": "button" - } - } - } - } - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/delete-placement.rst b/awscli/examples/iot1click-projects/delete-placement.rst deleted file mode 100644 index 1a76fcbcb601..000000000000 --- a/awscli/examples/iot1click-projects/delete-placement.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To delete a placement from a project** - -The following ``delete-placement`` example deletes the specified placement from a project. :: - - aws iot1click-projects delete-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/delete-project.rst b/awscli/examples/iot1click-projects/delete-project.rst deleted file mode 100644 index 936810b449ab..000000000000 --- a/awscli/examples/iot1click-projects/delete-project.rst +++ /dev/null @@ -1,10 +0,0 @@ -**To delete a project from your AWS account** - -The following ``delete-project`` example deletes the specified project from your AWS account. :: - - aws iot1click-projects delete-project \ - --project-name AnytownDumpsters - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/describe-placement.rst b/awscli/examples/iot1click-projects/describe-placement.rst deleted file mode 100644 index 980e175ea77e..000000000000 --- a/awscli/examples/iot1click-projects/describe-placement.rst +++ /dev/null @@ -1,24 +0,0 @@ -**To describe a placement for a project** - -The following ``describe-placement`` example describes a placement for the specified project. :: - - aws iot1click-projects describe-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 - -Output:: - - { - "placement": { - "projectName": "AnytownDumpsters", - "placementName": "customer217", - "attributes": { - "phone": "123-555-0110", - "location": "123 Any Street Anytown, USA 10001" - }, - "createdDate": 1563488454, - "updatedDate": 1563488454 - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/describe-project.rst b/awscli/examples/iot1click-projects/describe-project.rst deleted file mode 100644 index f57a786e400a..000000000000 --- a/awscli/examples/iot1click-projects/describe-project.rst +++ /dev/null @@ -1,32 +0,0 @@ -**To describe an AWS IoT 1-Click project** - -The following ``describe-project`` example describes the specified AWS IoT 1-Click project. :: - - aws iot1click-projects describe-project \ - --project-name AnytownDumpsters - -Output:: - - { - "project": { - "arn": "arn:aws:iot1click:us-west-2:012345678901:projects/AnytownDumpsters", - "projectName": "AnytownDumpsters", - "description": "All dumpsters in the Anytown region.", - "createdDate": 1563483100, - "updatedDate": 1563483100, - "placementTemplate": { - "defaultAttributes": { - "City": "Anytown" - }, - "deviceTemplates": { - "empty-dumpster-request": { - "deviceType": "button", - "callbackOverrides": {} - } - } - }, - "tags": {} - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/disassociate-device-from-placement.rst b/awscli/examples/iot1click-projects/disassociate-device-from-placement.rst deleted file mode 100644 index b66f2e844866..000000000000 --- a/awscli/examples/iot1click-projects/disassociate-device-from-placement.rst +++ /dev/null @@ -1,12 +0,0 @@ -**To disassociate a device from a placement** - -The following ``disassociate-device-from-placement`` example disassociates the specified device from a placement. :: - - aws iot1click-projects disassociate-device-from-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 \ - --device-template-name empty-dumpster-request - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/get-devices-in-placement.rst b/awscli/examples/iot1click-projects/get-devices-in-placement.rst deleted file mode 100644 index 2ef62a3b942d..000000000000 --- a/awscli/examples/iot1click-projects/get-devices-in-placement.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To list all devices in a placement contained in a project** - -The following ``get-devices-in-placement`` example lists all devices in a the specified placement contained in the specified project. :: - - aws iot1click-projects get-devices-in-placement \ - --project-name AnytownDumpsters \ - --placement-name customer217 - -Output:: - - { - "devices": { - "empty-dumpster-request": "G030PM0123456789" - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/list-placements.rst b/awscli/examples/iot1click-projects/list-placements.rst deleted file mode 100644 index e28fd28ca049..000000000000 --- a/awscli/examples/iot1click-projects/list-placements.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To list all AWS IoT 1-Click placements for a project** - -The following ``list-placements`` example lists all AWS IoT 1-Click placements for the specified project. :: - - aws iot1click-projects list-placements \ - --project-name AnytownDumpsters - -Output:: - - { - "placements": [ - { - "projectName": "AnytownDumpsters", - "placementName": "customer217", - "createdDate": 1563488454, - "updatedDate": 1563488454 - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/list-projects.rst b/awscli/examples/iot1click-projects/list-projects.rst deleted file mode 100644 index 54efeedf4349..000000000000 --- a/awscli/examples/iot1click-projects/list-projects.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To list all AWS IoT 1-Click projects** - -The following ``list-projects`` example list all AWS IoT 1-Click projects in your account. :: - - aws iot1click-projects list-projects - -Output:: - - { - "projects": [ - { - "arn": "arn:aws:iot1click:us-west-2:012345678901:projects/AnytownDumpsters", - "projectName": "AnytownDumpsters", - "createdDate": 1563483100, - "updatedDate": 1563483100, - "tags": {} - } - ] - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/list-tags-for-resource.rst b/awscli/examples/iot1click-projects/list-tags-for-resource.rst deleted file mode 100644 index 5ccba4fa102f..000000000000 --- a/awscli/examples/iot1click-projects/list-tags-for-resource.rst +++ /dev/null @@ -1,17 +0,0 @@ -**To list the tags for a project resource** - -The following ``list-tags-for-resource`` example list the tags for the specified project resource. :: - - aws iot1click-projects list-tags-for-resource \ - --resource-arn "arn:aws:iot1click:us-west-2:123456789012:projects/AnytownDumpsters" - -Output:: - - { - "tags": { - "Manager": "Li Juan", - "Account": "45215" - } - } - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/tag-resource.rst b/awscli/examples/iot1click-projects/tag-resource.rst deleted file mode 100644 index 8dc43f58acc1..000000000000 --- a/awscli/examples/iot1click-projects/tag-resource.rst +++ /dev/null @@ -1,20 +0,0 @@ -**To add tags to a project resource** - -The following ``tag-resource`` example adds two tags to the specified project resource. :: - - aws iot1click-projects tag-resource \ - --cli-input-json file://devices-tag-resource.json - -Contents of ``devices-tag-resource.json``:: - - { - "resourceArn": "arn:aws:iot1click:us-west-2:123456789012:projects/AnytownDumpsters", - "tags": { - "Account": "45215", - "Manager": "Li Juan" - } - } - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/untag-resource.rst b/awscli/examples/iot1click-projects/untag-resource.rst deleted file mode 100644 index 5bc6e7ee6e4d..000000000000 --- a/awscli/examples/iot1click-projects/untag-resource.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To remove tags from a project resource** - -The following ``untag-resource`` example removes the tag with the key name ``Manager`` from the specified project. :: - - aws iot1click-projects untag-resource \ - --resource-arn "arn:aws:iot1click:us-west-2:123456789012:projects/AnytownDumpsters" \ - --tag-keys "Manager" - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/update-placement.rst b/awscli/examples/iot1click-projects/update-placement.rst deleted file mode 100644 index 1e996040594d..000000000000 --- a/awscli/examples/iot1click-projects/update-placement.rst +++ /dev/null @@ -1,21 +0,0 @@ -**To update the "attributes" key-value pairs of a placement** - -The following ``update-placement`` example update the "attributes" key-value pairs of a placement. :: - - aws iot1click-projects update-placement \ - --cli-input-json file://update-placement.json - -Contents of ``update-placement.json``:: - - { - "projectName": "AnytownDumpsters", - "placementName": "customer217", - "attributes": { - "phone": "123-456-7890", - "location": "123 Any Street Anytown, USA 10001" - } - } - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. diff --git a/awscli/examples/iot1click-projects/update-project.rst b/awscli/examples/iot1click-projects/update-project.rst deleted file mode 100644 index 3bd7d9b8eb5e..000000000000 --- a/awscli/examples/iot1click-projects/update-project.rst +++ /dev/null @@ -1,11 +0,0 @@ -**To update settings for a project** - -The following ``update-project`` example updates the description for a project. :: - - aws iot1click-projects update-project \ - --project-name AnytownDumpsters \ - --description "All dumpsters (yard waste, recycling, garbage) in the Anytown region." - -This command produces no output. - -For more information, see `Using AWS IoT 1-Click with the AWS CLI `__ in the *AWS IoT 1-Click Developer Guide*. From 2d8687fd5187189639a84256f1de7af58029dc4d Mon Sep 17 00:00:00 2001 From: aws-sdk-python-automation Date: Tue, 7 Jan 2025 19:04:51 +0000 Subject: [PATCH 3/4] Update changelog based on model updates --- .changes/next-release/api-change-cloudhsmv2-17472.json | 5 +++++ .changes/next-release/api-change-dynamodb-55517.json | 5 +++++ .changes/next-release/api-change-imagebuilder-41209.json | 5 +++++ 3 files changed, 15 insertions(+) create mode 100644 .changes/next-release/api-change-cloudhsmv2-17472.json create mode 100644 .changes/next-release/api-change-dynamodb-55517.json create mode 100644 .changes/next-release/api-change-imagebuilder-41209.json diff --git a/.changes/next-release/api-change-cloudhsmv2-17472.json b/.changes/next-release/api-change-cloudhsmv2-17472.json new file mode 100644 index 000000000000..13335e6e9c92 --- /dev/null +++ b/.changes/next-release/api-change-cloudhsmv2-17472.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``cloudhsmv2``", + "description": "Adds support to ModifyCluster for modifying a Cluster's Hsm Type." +} diff --git a/.changes/next-release/api-change-dynamodb-55517.json b/.changes/next-release/api-change-dynamodb-55517.json new file mode 100644 index 000000000000..79f1f95efedd --- /dev/null +++ b/.changes/next-release/api-change-dynamodb-55517.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``dynamodb``", + "description": "This release makes Amazon DynamoDB point-in-time-recovery (PITR) to be configurable. You can set PITR recovery period for each table individually to between 1 and 35 days." +} diff --git a/.changes/next-release/api-change-imagebuilder-41209.json b/.changes/next-release/api-change-imagebuilder-41209.json new file mode 100644 index 000000000000..b1837e628af4 --- /dev/null +++ b/.changes/next-release/api-change-imagebuilder-41209.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``imagebuilder``", + "description": "This release adds support for importing images from ISO disk files. Added new ImportDiskImage API operation." +} From 13482b1cccf92b3c5476b11a8070652431242d34 Mon Sep 17 00:00:00 2001 From: aws-sdk-python-automation Date: Tue, 7 Jan 2025 19:06:18 +0000 Subject: [PATCH 4/4] Bumping version to 1.36.35 --- .changes/1.36.35.json | 22 +++++++++++++++++++ .../api-change-cloudhsmv2-17472.json | 5 ----- .../api-change-dynamodb-55517.json | 5 ----- .../api-change-imagebuilder-41209.json | 5 ----- .../next-release/enhancement-s3ls-20704.json | 5 ----- CHANGELOG.rst | 9 ++++++++ awscli/__init__.py | 2 +- doc/source/conf.py | 2 +- setup.cfg | 2 +- setup.py | 2 +- 10 files changed, 35 insertions(+), 24 deletions(-) create mode 100644 .changes/1.36.35.json delete mode 100644 .changes/next-release/api-change-cloudhsmv2-17472.json delete mode 100644 .changes/next-release/api-change-dynamodb-55517.json delete mode 100644 .changes/next-release/api-change-imagebuilder-41209.json delete mode 100644 .changes/next-release/enhancement-s3ls-20704.json diff --git a/.changes/1.36.35.json b/.changes/1.36.35.json new file mode 100644 index 000000000000..824d663c08db --- /dev/null +++ b/.changes/1.36.35.json @@ -0,0 +1,22 @@ +[ + { + "category": "``cloudhsmv2``", + "description": "Adds support to ModifyCluster for modifying a Cluster's Hsm Type.", + "type": "api-change" + }, + { + "category": "``dynamodb``", + "description": "This release makes Amazon DynamoDB point-in-time-recovery (PITR) to be configurable. You can set PITR recovery period for each table individually to between 1 and 35 days.", + "type": "api-change" + }, + { + "category": "``imagebuilder``", + "description": "This release adds support for importing images from ISO disk files. Added new ImportDiskImage API operation.", + "type": "api-change" + }, + { + "category": "``s3 ls``", + "description": "Expose low-level ``ListBuckets` parameters ``Prefix`` and ``BucketRegion`` to high-level ``s3 ls`` command as ``--bucket-name-prefix`` and ``--bucket-region``.", + "type": "enhancement" + } +] \ No newline at end of file diff --git a/.changes/next-release/api-change-cloudhsmv2-17472.json b/.changes/next-release/api-change-cloudhsmv2-17472.json deleted file mode 100644 index 13335e6e9c92..000000000000 --- a/.changes/next-release/api-change-cloudhsmv2-17472.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``cloudhsmv2``", - "description": "Adds support to ModifyCluster for modifying a Cluster's Hsm Type." -} diff --git a/.changes/next-release/api-change-dynamodb-55517.json b/.changes/next-release/api-change-dynamodb-55517.json deleted file mode 100644 index 79f1f95efedd..000000000000 --- a/.changes/next-release/api-change-dynamodb-55517.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``dynamodb``", - "description": "This release makes Amazon DynamoDB point-in-time-recovery (PITR) to be configurable. You can set PITR recovery period for each table individually to between 1 and 35 days." -} diff --git a/.changes/next-release/api-change-imagebuilder-41209.json b/.changes/next-release/api-change-imagebuilder-41209.json deleted file mode 100644 index b1837e628af4..000000000000 --- a/.changes/next-release/api-change-imagebuilder-41209.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``imagebuilder``", - "description": "This release adds support for importing images from ISO disk files. Added new ImportDiskImage API operation." -} diff --git a/.changes/next-release/enhancement-s3ls-20704.json b/.changes/next-release/enhancement-s3ls-20704.json deleted file mode 100644 index a98c6c6bb8a8..000000000000 --- a/.changes/next-release/enhancement-s3ls-20704.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "enhancement", - "category": "``s3 ls``", - "description": "Expose low-level ``ListBuckets` parameters ``Prefix`` and ``BucketRegion`` to high-level ``s3 ls`` command as ``--bucket-name-prefix`` and ``--bucket-region``." -} diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7ac5fb07e6ae..79fe7c86388c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,15 @@ CHANGELOG ========= +1.36.35 +======= + +* api-change:``cloudhsmv2``: Adds support to ModifyCluster for modifying a Cluster's Hsm Type. +* api-change:``dynamodb``: This release makes Amazon DynamoDB point-in-time-recovery (PITR) to be configurable. You can set PITR recovery period for each table individually to between 1 and 35 days. +* api-change:``imagebuilder``: This release adds support for importing images from ISO disk files. Added new ImportDiskImage API operation. +* enhancement:``s3 ls``: Expose low-level ``ListBuckets` parameters ``Prefix`` and ``BucketRegion`` to high-level ``s3 ls`` command as ``--bucket-name-prefix`` and ``--bucket-region``. + + 1.36.34 ======= diff --git a/awscli/__init__.py b/awscli/__init__.py index b4c52eaab45f..f5265aa5c696 100644 --- a/awscli/__init__.py +++ b/awscli/__init__.py @@ -18,7 +18,7 @@ import os -__version__ = '1.36.34' +__version__ = '1.36.35' # # Get our data path to be added to botocore's search path diff --git a/doc/source/conf.py b/doc/source/conf.py index 267c445b01ee..0d169951f987 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -52,7 +52,7 @@ # The short X.Y version. version = '1.36.' # The full version, including alpha/beta/rc tags. -release = '1.36.34' +release = '1.36.35' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/setup.cfg b/setup.cfg index ebf55f4554b9..6b10e127014e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,7 +3,7 @@ universal = 0 [metadata] requires_dist = - botocore==1.35.93 + botocore==1.35.94 docutils>=0.10,<0.17 s3transfer>=0.10.0,<0.11.0 PyYAML>=3.10,<6.1 diff --git a/setup.py b/setup.py index fd1283982935..f813c9f6ba5f 100644 --- a/setup.py +++ b/setup.py @@ -24,7 +24,7 @@ def find_version(*file_paths): install_requires = [ - 'botocore==1.35.93', + 'botocore==1.35.94', 'docutils>=0.10,<0.17', 's3transfer>=0.10.0,<0.11.0', 'PyYAML>=3.10,<6.1',