From e1fffc8fb0f93ab4407209335011ca66f7dc98a8 Mon Sep 17 00:00:00 2001 From: Sebastian Villena <97059974+ruisebas@users.noreply.github.com> Date: Mon, 25 Mar 2024 10:32:24 -0400 Subject: [PATCH 01/15] chore: Fixing typo in workflow [skip ci] (#5252) --- .github/workflows/notify_release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/notify_release.yml b/.github/workflows/notify_release.yml index e9af0f832a1..36de9dff319 100644 --- a/.github/workflows/notify_release.yml +++ b/.github/workflows/notify_release.yml @@ -24,7 +24,7 @@ jobs: - name: Run webhook curl command env: WEBHOOK_URL: ${{ secrets.SLACK_RELEASE_WEBHOOK_URL }} - VERSION: $${{github.event.release.html_url}} + VERSION: ${{github.event.release.html_url}} REPO_NAME: ${{github.event.repository.name}} ACTION_NAME: ${{github.event.action}} shell: bash From 0f5d13915dedc0fc276e14b51496ac5c46d5a254 Mon Sep 17 00:00:00 2001 From: Sebastian Villena <97059974+ruisebas@users.noreply.github.com> Date: Thu, 28 Mar 2024 12:36:38 -0400 Subject: [PATCH 02/15] fix(IoT): Fixing an intermittent crash when deallocating AWSIoTStreamThread. (#5269) --- AWSIoT/Internal/AWSIoTStreamThread.m | 4 ---- CHANGELOG.md | 5 ++++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/AWSIoT/Internal/AWSIoTStreamThread.m b/AWSIoT/Internal/AWSIoTStreamThread.m index d47e57d0ee0..2f8ca2f37e3 100644 --- a/AWSIoT/Internal/AWSIoTStreamThread.m +++ b/AWSIoT/Internal/AWSIoTStreamThread.m @@ -55,10 +55,6 @@ -(instancetype)initWithSession:(nonnull AWSMQTTSession *)session return self; } --(void)dealloc { - [self cleanUp]; -} - - (void)main { AWSDDLogVerbose(@"Started execution of Thread: [%@]", self); //This is invoked in a new thread by the webSocketDidOpen method or by the Connect method. Get the runLoop from the thread. diff --git a/CHANGELOG.md b/CHANGELOG.md index 363b5392c69..7f7423fa200 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,10 @@ ## Unreleased --Features for next release +### Bug Fixes + +- **AWSIoT** + - Fixing an intermittent crash when deallocating AWSIoTStreamThread (See [PR #5269](https://github.com/aws-amplify/aws-sdk-ios/issues/5269)) ## 2.34.2 From 8942c2c6c6bad9fc2c21e2fac098866daaea2c1d Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:01:19 -0400 Subject: [PATCH 03/15] feat(AWSIoT): update models to latest (#5220) --- AWSIoT/AWSIoTModel.h | 18 +++++++++--------- AWSIoT/AWSIoTResources.m | 24 ++++++++++++++---------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/AWSIoT/AWSIoTModel.h b/AWSIoT/AWSIoTModel.h index 868753183d5..4dfcbbd4580 100644 --- a/AWSIoT/AWSIoTModel.h +++ b/AWSIoT/AWSIoTModel.h @@ -1791,7 +1791,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable jobId; /** -

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

+

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

*/ @property (nonatomic, strong) NSString * _Nullable namespaceId; @@ -3916,7 +3916,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable jobTemplateArn; /** -

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

+

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

*/ @property (nonatomic, strong) NSString * _Nullable namespaceId; @@ -5395,7 +5395,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable jobId; /** -

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

+

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

*/ @property (nonatomic, strong) NSString * _Nullable namespaceId; @@ -5423,7 +5423,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable jobId; /** -

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

+

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

*/ @property (nonatomic, strong) NSString * _Nullable namespaceId; @@ -9297,7 +9297,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSDate * _Nullable lastUpdatedAt; /** -

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

+

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

*/ @property (nonatomic, strong) NSString * _Nullable namespaceId; @@ -10777,7 +10777,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSNumber * _Nullable maxResults; /** -

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

+

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

*/ @property (nonatomic, strong) NSString * _Nullable namespaceId; @@ -10864,7 +10864,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSNumber * _Nullable maxResults; /** -

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

+

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

*/ @property (nonatomic, strong) NSString * _Nullable namespaceId; @@ -14198,7 +14198,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable indexName; /** -

The maximum number of results to return per page at one time. The response might contain fewer results but will never contain more.

+

The maximum number of results to return per page at one time. This maximum number cannot exceed 100. The response might contain fewer results but will never contain more. You can use nextToken to retrieve the next set of results until nextToken returns NULL.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxResults; @@ -16578,7 +16578,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable jobId; /** -

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

+

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

*/ @property (nonatomic, strong) NSString * _Nullable namespaceId; diff --git a/AWSIoT/AWSIoTResources.m b/AWSIoT/AWSIoTResources.m index 8927088bb64..584bf7fac5c 100644 --- a/AWSIoT/AWSIoTResources.m +++ b/AWSIoT/AWSIoTResources.m @@ -4939,7 +4939,7 @@ - (NSString *)definitionString { },\ \"namespaceId\":{\ \"shape\":\"NamespaceId\",\ - \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

\",\ + \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

\",\ \"location\":\"querystring\",\ \"locationName\":\"namespaceId\"\ }\ @@ -7275,7 +7275,7 @@ - (NSString *)definitionString { },\ \"namespaceId\":{\ \"shape\":\"NamespaceId\",\ - \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

\"\ + \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

\"\ },\ \"jobTemplateArn\":{\ \"shape\":\"JobTemplateArn\",\ @@ -8599,7 +8599,7 @@ - (NSString *)definitionString { },\ \"namespaceId\":{\ \"shape\":\"NamespaceId\",\ - \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

\",\ + \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

\",\ \"location\":\"querystring\",\ \"locationName\":\"namespaceId\"\ }\ @@ -8623,7 +8623,7 @@ - (NSString *)definitionString { },\ \"namespaceId\":{\ \"shape\":\"NamespaceId\",\ - \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

\",\ + \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

\",\ \"location\":\"querystring\",\ \"locationName\":\"namespaceId\"\ }\ @@ -12370,7 +12370,7 @@ - (NSString *)definitionString { },\ \"namespaceId\":{\ \"shape\":\"NamespaceId\",\ - \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

\"\ + \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

\"\ },\ \"jobTemplateArn\":{\ \"shape\":\"JobTemplateArn\",\ @@ -13811,7 +13811,7 @@ - (NSString *)definitionString { },\ \"namespaceId\":{\ \"shape\":\"NamespaceId\",\ - \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

\",\ + \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

\",\ \"location\":\"querystring\",\ \"locationName\":\"namespaceId\"\ },\ @@ -13919,7 +13919,7 @@ - (NSString *)definitionString { },\ \"namespaceId\":{\ \"shape\":\"NamespaceId\",\ - \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

\",\ + \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

\",\ \"location\":\"querystring\",\ \"locationName\":\"namespaceId\"\ }\ @@ -17573,8 +17573,8 @@ - (NSString *)definitionString { \"documentation\":\"

The token used to get the next set of results, or null if there are no additional results.

\"\ },\ \"maxResults\":{\ - \"shape\":\"QueryMaxResults\",\ - \"documentation\":\"

The maximum number of results to return per page at one time. The response might contain fewer results but will never contain more.

\"\ + \"shape\":\"SearchQueryMaxResults\",\ + \"documentation\":\"

The maximum number of results to return per page at one time. This maximum number cannot exceed 100. The response might contain fewer results but will never contain more. You can use nextToken to retrieve the next set of results until nextToken returns NULL.

\"\ },\ \"queryVersion\":{\ \"shape\":\"QueryVersion\",\ @@ -17599,6 +17599,10 @@ - (NSString *)definitionString { }\ }\ },\ + \"SearchQueryMaxResults\":{\ + \"type\":\"integer\",\ + \"min\":1\ + },\ \"SearchableAttributes\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"AttributeName\"}\ @@ -20075,7 +20079,7 @@ - (NSString *)definitionString { },\ \"namespaceId\":{\ \"shape\":\"NamespaceId\",\ - \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is in public preview.

\",\ + \"documentation\":\"

The namespace used to indicate that a job is a customer-managed job.

When you specify a value for this parameter, Amazon Web Services IoT Core sends jobs notifications to MQTT topics that contain the value in the following format.

$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/

The namespaceId feature is only supported by IoT Greengrass at this time. For more information, see Setting up IoT Greengrass core devices.

\",\ \"location\":\"querystring\",\ \"locationName\":\"namespaceId\"\ },\ From 4a0ed11427f0607873b7f18a6278d021b0c8dc4a Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:01:36 -0400 Subject: [PATCH 04/15] feat(AWSAutoScaling): update models to latest (#5224) --- AWSAutoScaling/AWSAutoScalingModel.h | 4 ++-- AWSAutoScaling/AWSAutoScalingResources.m | 6 +++--- AWSAutoScaling/AWSAutoScalingService.h | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/AWSAutoScaling/AWSAutoScalingModel.h b/AWSAutoScaling/AWSAutoScalingModel.h index 5547560c0cf..e7d0a169484 100644 --- a/AWSAutoScaling/AWSAutoScalingModel.h +++ b/AWSAutoScaling/AWSAutoScalingModel.h @@ -2925,7 +2925,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSArray * _Nullable localStorageTypes; /** -

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

+

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxSpotPriceAsPercentageOfOptimalOnDemandPrice; @@ -2960,7 +2960,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSNumber * _Nullable requireHibernateSupport; /** -

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

To turn off price protection, specify a high value, such as 999999.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified.

Default: 100

+

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

*/ @property (nonatomic, strong) NSNumber * _Nullable spotMaxPricePercentageOverLowestPrice; diff --git a/AWSAutoScaling/AWSAutoScalingResources.m b/AWSAutoScaling/AWSAutoScalingResources.m index 03837d2e188..bbb49752f13 100644 --- a/AWSAutoScaling/AWSAutoScalingResources.m +++ b/AWSAutoScaling/AWSAutoScalingResources.m @@ -214,7 +214,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceContentionFault\"},\ {\"shape\":\"ServiceLinkedRoleFailure\"}\ ],\ - \"documentation\":\"

We strongly recommend using a launch template when calling this operation to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2.

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

For introductory exercises for creating an Auto Scaling group, see Getting started with Amazon EC2 Auto Scaling and Tutorial: Set up a scaled and load-balanced application in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto Scaling groups in the Amazon EC2 Auto Scaling User Guide.

Every Auto Scaling group has three size properties (DesiredCapacity, MaxSize, and MinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.

\"\ + \"documentation\":\"

We strongly recommend using a launch template when calling this operation to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2.

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

If you're new to Amazon EC2 Auto Scaling, see the introductory tutorials in Get started with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Every Auto Scaling group has three size properties (DesiredCapacity, MaxSize, and MinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.

\"\ },\ \"CreateLaunchConfiguration\":{\ \"name\":\"CreateLaunchConfiguration\",\ @@ -3381,11 +3381,11 @@ - (NSString *)definitionString { },\ \"SpotMaxPricePercentageOverLowestPrice\":{\ \"shape\":\"NullablePositiveInteger\",\ - \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

To turn off price protection, specify a high value, such as 999999.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified.

Default: 100

\"\ + \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

\"\ },\ \"MaxSpotPriceAsPercentageOfOptimalOnDemandPrice\":{\ \"shape\":\"NullablePositiveInteger\",\ - \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

\"\ + \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per-vCPU or per-memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 Auto Scaling will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

\"\ },\ \"OnDemandMaxPricePercentageOverLowestPrice\":{\ \"shape\":\"NullablePositiveInteger\",\ diff --git a/AWSAutoScaling/AWSAutoScalingService.h b/AWSAutoScaling/AWSAutoScalingService.h index a97acd8d350..966f101b9d7 100644 --- a/AWSAutoScaling/AWSAutoScalingService.h +++ b/AWSAutoScaling/AWSAutoScalingService.h @@ -372,7 +372,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (void)completeLifecycleAction:(AWSAutoScalingCompleteLifecycleActionType *)request completionHandler:(void (^ _Nullable)(AWSAutoScalingCompleteLifecycleActionAnswer * _Nullable response, NSError * _Nullable error))completionHandler; /** -

We strongly recommend using a launch template when calling this operation to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2.

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

For introductory exercises for creating an Auto Scaling group, see Getting started with Amazon EC2 Auto Scaling and Tutorial: Set up a scaled and load-balanced application in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto Scaling groups in the Amazon EC2 Auto Scaling User Guide.

Every Auto Scaling group has three size properties (DesiredCapacity, MaxSize, and MinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.

+

We strongly recommend using a launch template when calling this operation to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2.

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

If you're new to Amazon EC2 Auto Scaling, see the introductory tutorials in Get started with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Every Auto Scaling group has three size properties (DesiredCapacity, MaxSize, and MinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.

@param request A container for the necessary parameters to execute the CreateAutoScalingGroup service method. @@ -383,7 +383,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)createAutoScalingGroup:(AWSAutoScalingCreateAutoScalingGroupType *)request; /** -

We strongly recommend using a launch template when calling this operation to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2.

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

For introductory exercises for creating an Auto Scaling group, see Getting started with Amazon EC2 Auto Scaling and Tutorial: Set up a scaled and load-balanced application in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto Scaling groups in the Amazon EC2 Auto Scaling User Guide.

Every Auto Scaling group has three size properties (DesiredCapacity, MaxSize, and MinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.

+

We strongly recommend using a launch template when calling this operation to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2.

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

If you're new to Amazon EC2 Auto Scaling, see the introductory tutorials in Get started with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Every Auto Scaling group has three size properties (DesiredCapacity, MaxSize, and MinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.

@param request A container for the necessary parameters to execute the CreateAutoScalingGroup service method. @param completionHandler The completion handler to call when the load request is complete. From 6a072d274237ee51bac8f6f7ebdee97f2106cd5d Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:02:31 -0400 Subject: [PATCH 05/15] feat(AWSKMS): update models to latest (#5244) --- AWSKMS/AWSKMS.h | 2 +- AWSKMS/AWSKMSModel.h | 13 +++++--- AWSKMS/AWSKMSModel.m | 3 +- AWSKMS/AWSKMSResources.h | 2 +- AWSKMS/AWSKMSResources.m | 34 ++++++++++----------- AWSKMS/AWSKMSService.h | 10 +++--- AWSKMS/AWSKMSService.m | 2 +- AWSKMSUnitTests/AWSGeneralKMSTests.m | 2 +- AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m | 2 +- 9 files changed, 38 insertions(+), 32 deletions(-) diff --git a/AWSKMS/AWSKMS.h b/AWSKMS/AWSKMS.h index a0709db93ff..e69379e1ead 100644 --- a/AWSKMS/AWSKMS.h +++ b/AWSKMS/AWSKMS.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/AWSKMS/AWSKMSModel.h b/AWSKMS/AWSKMSModel.h index 16dc1f30bcd..a0e1096e44b 100644 --- a/AWSKMS/AWSKMSModel.h +++ b/AWSKMS/AWSKMSModel.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -527,7 +527,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, assign) AWSKMSXksProxyConnectivityType xksProxyConnectivity; /** -

Specifies the endpoint that KMS uses to send requests to the external key store proxy (XKS proxy). This parameter is required for custom key stores with a CustomKeyStoreType of EXTERNAL_KEY_STORE.

The protocol must be HTTPS. KMS communicates on port 443. Do not specify the port in the XksProxyUriEndpoint value.

For external key stores with XksProxyConnectivity value of VPC_ENDPOINT_SERVICE, specify https:// followed by the private DNS name of the VPC endpoint service.

For external key stores with PUBLIC_ENDPOINT connectivity, this endpoint must be reachable before you create the custom key store. KMS connects to the external key store proxy while creating the custom key store. For external key stores with VPC_ENDPOINT_SERVICE connectivity, KMS connects when you call the ConnectCustomKeyStore operation.

The value of this parameter must begin with https://. The remainder can contain upper and lower case letters (A-Z and a-z), numbers (0-9), dots (.), and hyphens (-). Additional slashes (/ and \) are not permitted.

Uniqueness requirements:

+

Specifies the endpoint that KMS uses to send requests to the external key store proxy (XKS proxy). This parameter is required for custom key stores with a CustomKeyStoreType of EXTERNAL_KEY_STORE.

The protocol must be HTTPS. KMS communicates on port 443. Do not specify the port in the XksProxyUriEndpoint value.

For external key stores with XksProxyConnectivity value of VPC_ENDPOINT_SERVICE, specify https:// followed by the private DNS name of the VPC endpoint service.

For external key stores with PUBLIC_ENDPOINT connectivity, this endpoint must be reachable before you create the custom key store. KMS connects to the external key store proxy while creating the custom key store. For external key stores with VPC_ENDPOINT_SERVICE connectivity, KMS connects when you call the ConnectCustomKeyStore operation.

The value of this parameter must begin with https://. The remainder can contain upper and lower case letters (A-Z and a-z), numbers (0-9), dots (.), and hyphens (-). Additional slashes (/ and \) are not permitted.

Uniqueness requirements:

*/ @property (nonatomic, strong) NSString * _Nullable xksProxyUriEndpoint; @@ -1458,7 +1458,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSString * _Nullable keyId; /** -

Specifies the name of the key policy. The only valid name is default. To get the names of key policies, use ListKeyPolicies.

+

Specifies the name of the key policy. If no policy name is specified, the default value is default. The only valid name is default. To get the names of key policies, use ListKeyPolicies.

*/ @property (nonatomic, strong) NSString * _Nullable policyName; @@ -1475,6 +1475,11 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { */ @property (nonatomic, strong) NSString * _Nullable policy; +/** +

The name of the key policy. The only valid value is default.

+ */ +@property (nonatomic, strong) NSString * _Nullable policyName; + @end /** @@ -2195,7 +2200,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSString * _Nullable policy; /** -

The name of the key policy. The only valid value is default.

+

The name of the key policy. If no policy name is specified, the default value is default. The only valid value is default.

*/ @property (nonatomic, strong) NSString * _Nullable policyName; diff --git a/AWSKMS/AWSKMSModel.m b/AWSKMS/AWSKMSModel.m index bd6195059d7..2789858412f 100644 --- a/AWSKMS/AWSKMSModel.m +++ b/AWSKMS/AWSKMSModel.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -1638,6 +1638,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"policy" : @"Policy", + @"policyName" : @"PolicyName", }; } diff --git a/AWSKMS/AWSKMSResources.h b/AWSKMS/AWSKMSResources.h index 6cc0055ecb9..e4b55345f2c 100644 --- a/AWSKMS/AWSKMSResources.h +++ b/AWSKMS/AWSKMSResources.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/AWSKMS/AWSKMSResources.m b/AWSKMS/AWSKMSResources.m index 43715d3cb60..694ce47249f 100644 --- a/AWSKMS/AWSKMSResources.m +++ b/AWSKMS/AWSKMSResources.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -623,7 +623,7 @@ - (NSString *)definitionString { {\"shape\":\"ExpiredImportTokenException\"},\ {\"shape\":\"InvalidImportTokenException\"}\ ],\ - \"documentation\":\"

Imports or reimports key material into an existing KMS key that was created without key material. ImportKeyMaterial also sets the expiration model and expiration date of the imported key material.

By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.

After you successfully import key material into a KMS key, you can reimport the same key material into that KMS key, but you cannot import different key material. You might reimport key material to replace key material that expired or key material that you deleted. You might also reimport key material to change the expiration model or expiration date of the key material. Before reimporting key material, if necessary, call DeleteImportedKeyMaterial to delete the current imported key material.

Each time you import key material into KMS, you can determine whether (ExpirationModel) and when (ValidTo) the key material expires. To change the expiration of your key material, you must import it again, either by calling ImportKeyMaterial or using the import features of the KMS console.

Before calling ImportKeyMaterial:

Then, in an ImportKeyMaterial request, you submit your encrypted key material and import token. When calling this operation, you must specify the following values:

When this operation is successful, the key state of the KMS key changes from PendingImport to Enabled, and you can use the KMS key in cryptographic operations.

If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key and repeat the import procedure. For help, see How To Import Key Material in the Key Management Service Developer Guide.

The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.

Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

Required permissions: kms:ImportKeyMaterial (key policy)

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

\"\ + \"documentation\":\"

Imports or reimports key material into an existing KMS key that was created without key material. ImportKeyMaterial also sets the expiration model and expiration date of the imported key material.

By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.

After you successfully import key material into a KMS key, you can reimport the same key material into that KMS key, but you cannot import different key material. You might reimport key material to replace key material that expired or key material that you deleted. You might also reimport key material to change the expiration model or expiration date of the key material.

Each time you import key material into KMS, you can determine whether (ExpirationModel) and when (ValidTo) the key material expires. To change the expiration of your key material, you must import it again, either by calling ImportKeyMaterial or using the import features of the KMS console.

Before calling ImportKeyMaterial:

Then, in an ImportKeyMaterial request, you submit your encrypted key material and import token. When calling this operation, you must specify the following values:

When this operation is successful, the key state of the KMS key changes from PendingImport to Enabled, and you can use the KMS key in cryptographic operations.

If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key and repeat the import procedure. For help, see How To Import Key Material in the Key Management Service Developer Guide.

The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.

Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

Required permissions: kms:ImportKeyMaterial (key policy)

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

\"\ },\ \"ListAliases\":{\ \"name\":\"ListAliases\",\ @@ -825,7 +825,7 @@ - (NSString *)definitionString { {\"shape\":\"KMSInvalidStateException\"},\ {\"shape\":\"DryRunOperationException\"}\ ],\ - \"documentation\":\"

Deletes the specified grant. You revoke a grant to terminate the permissions that the grant allows. For more information, see Retiring and revoking grants in the Key Management Service Developer Guide .

When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. For details, see Eventual consistency in the Key Management Service Developer Guide .

For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide . For examples of working with grants in several programming languages, see Programming grants.

Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId parameter.

Required permissions: kms:RevokeGrant (key policy).

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

\"\ + \"documentation\":\"

Deletes the specified grant. You revoke a grant to terminate the permissions that the grant allows. For more information, see Retiring and revoking grants in the Key Management Service Developer Guide .

When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. For details, see Eventual consistency in the Key Management Service Developer Guide .

For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide . For examples of working with grants in several programming languages, see Programming grants.

Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId parameter.

Required permissions: kms:RevokeGrant (key policy).

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

\"\ },\ \"ScheduleKeyDeletion\":{\ \"name\":\"ScheduleKeyDeletion\",\ @@ -1248,7 +1248,7 @@ - (NSString *)definitionString { },\ \"XksProxyUriEndpoint\":{\ \"shape\":\"XksProxyUriEndpointType\",\ - \"documentation\":\"

Specifies the endpoint that KMS uses to send requests to the external key store proxy (XKS proxy). This parameter is required for custom key stores with a CustomKeyStoreType of EXTERNAL_KEY_STORE.

The protocol must be HTTPS. KMS communicates on port 443. Do not specify the port in the XksProxyUriEndpoint value.

For external key stores with XksProxyConnectivity value of VPC_ENDPOINT_SERVICE, specify https:// followed by the private DNS name of the VPC endpoint service.

For external key stores with PUBLIC_ENDPOINT connectivity, this endpoint must be reachable before you create the custom key store. KMS connects to the external key store proxy while creating the custom key store. For external key stores with VPC_ENDPOINT_SERVICE connectivity, KMS connects when you call the ConnectCustomKeyStore operation.

The value of this parameter must begin with https://. The remainder can contain upper and lower case letters (A-Z and a-z), numbers (0-9), dots (.), and hyphens (-). Additional slashes (/ and \\\\) are not permitted.

Uniqueness requirements:

\"\ + \"documentation\":\"

Specifies the endpoint that KMS uses to send requests to the external key store proxy (XKS proxy). This parameter is required for custom key stores with a CustomKeyStoreType of EXTERNAL_KEY_STORE.

The protocol must be HTTPS. KMS communicates on port 443. Do not specify the port in the XksProxyUriEndpoint value.

For external key stores with XksProxyConnectivity value of VPC_ENDPOINT_SERVICE, specify https:// followed by the private DNS name of the VPC endpoint service.

For external key stores with PUBLIC_ENDPOINT connectivity, this endpoint must be reachable before you create the custom key store. KMS connects to the external key store proxy while creating the custom key store. For external key stores with VPC_ENDPOINT_SERVICE connectivity, KMS connects when you call the ConnectCustomKeyStore operation.

The value of this parameter must begin with https://. The remainder can contain upper and lower case letters (A-Z and a-z), numbers (0-9), dots (.), and hyphens (-). Additional slashes (/ and \\\\) are not permitted.

Uniqueness requirements:

\"\ },\ \"XksProxyUriPath\":{\ \"shape\":\"XksProxyUriPathType\",\ @@ -2139,10 +2139,7 @@ - (NSString *)definitionString { },\ \"GetKeyPolicyRequest\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"KeyId\",\ - \"PolicyName\"\ - ],\ + \"required\":[\"KeyId\"],\ \"members\":{\ \"KeyId\":{\ \"shape\":\"KeyIdType\",\ @@ -2150,7 +2147,7 @@ - (NSString *)definitionString { },\ \"PolicyName\":{\ \"shape\":\"PolicyNameType\",\ - \"documentation\":\"

Specifies the name of the key policy. The only valid name is default. To get the names of key policies, use ListKeyPolicies.

\"\ + \"documentation\":\"

Specifies the name of the key policy. If no policy name is specified, the default value is default. The only valid name is default. To get the names of key policies, use ListKeyPolicies.

\"\ }\ }\ },\ @@ -2160,6 +2157,10 @@ - (NSString *)definitionString { \"Policy\":{\ \"shape\":\"PolicyType\",\ \"documentation\":\"

A key policy document in JSON format.

\"\ + },\ + \"PolicyName\":{\ + \"shape\":\"PolicyNameType\",\ + \"documentation\":\"

The name of the key policy. The only valid value is default.

\"\ }\ }\ },\ @@ -3080,7 +3081,6 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"KeyId\",\ - \"PolicyName\",\ \"Policy\"\ ],\ \"members\":{\ @@ -3090,7 +3090,7 @@ - (NSString *)definitionString { },\ \"PolicyName\":{\ \"shape\":\"PolicyNameType\",\ - \"documentation\":\"

The name of the key policy. The only valid value is default.

\"\ + \"documentation\":\"

The name of the key policy. If no policy name is specified, the default value is default. The only valid value is default.

\"\ },\ \"Policy\":{\ \"shape\":\"PolicyType\",\ @@ -3699,7 +3699,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"ErrorMessageType\"}\ },\ - \"documentation\":\"

The request was rejected because the (XksKeyId) is already associated with a KMS key in this external key store. Each KMS key in an external key store must be associated with a different external key.

\",\ + \"documentation\":\"

The request was rejected because the (XksKeyId) is already associated with another KMS key in this external key store. Each KMS key in an external key store must be associated with a different external key.

\",\ \"exception\":true\ },\ \"XksKeyConfigurationType\":{\ @@ -3812,7 +3812,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"ErrorMessageType\"}\ },\ - \"documentation\":\"

The request was rejected because the Amazon VPC endpoint service configuration does not fulfill the requirements for an external key store proxy. For details, see the exception message.

\",\ + \"documentation\":\"

The request was rejected because the external key store proxy is not configured correctly. To identify the cause, see the error message that accompanies the exception.

\",\ \"exception\":true\ },\ \"XksProxyInvalidResponseException\":{\ @@ -3828,7 +3828,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"ErrorMessageType\"}\ },\ - \"documentation\":\"

The request was rejected because the concatenation of the XksProxyUriEndpoint is already associated with an external key store in the Amazon Web Services account and Region. Each external key store in an account and Region must use a unique external key store proxy address.

\",\ + \"documentation\":\"

The request was rejected because the XksProxyUriEndpoint is already associated with another external key store in this Amazon Web Services Region. To identify the cause, see the error message that accompanies the exception.

\",\ \"exception\":true\ },\ \"XksProxyUriEndpointType\":{\ @@ -3842,7 +3842,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"ErrorMessageType\"}\ },\ - \"documentation\":\"

The request was rejected because the concatenation of the XksProxyUriEndpoint and XksProxyUriPath is already associated with an external key store in the Amazon Web Services account and Region. Each external key store in an account and Region must use a unique external key store proxy API address.

\",\ + \"documentation\":\"

The request was rejected because the concatenation of the XksProxyUriEndpoint and XksProxyUriPath is already associated with another external key store in this Amazon Web Services Region. Each external key store in a Region must use a unique external key store proxy API address.

\",\ \"exception\":true\ },\ \"XksProxyUriPathType\":{\ @@ -3864,7 +3864,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"ErrorMessageType\"}\ },\ - \"documentation\":\"

The request was rejected because the specified Amazon VPC endpoint service is already associated with an external key store in the Amazon Web Services account and Region. Each external key store in an Amazon Web Services account and Region must use a different Amazon VPC endpoint service.

\",\ + \"documentation\":\"

The request was rejected because the specified Amazon VPC endpoint service is already associated with another external key store in this Amazon Web Services Region. Each external key store in a Region must use a different Amazon VPC endpoint service.

\",\ \"exception\":true\ },\ \"XksProxyVpcEndpointServiceInvalidConfigurationException\":{\ @@ -3872,7 +3872,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"ErrorMessageType\"}\ },\ - \"documentation\":\"

The request was rejected because the Amazon VPC endpoint service configuration does not fulfill the requirements for an external key store proxy. For details, see the exception message and review the requirements for Amazon VPC endpoint service connectivity for an external key store.

\",\ + \"documentation\":\"

The request was rejected because the Amazon VPC endpoint service configuration does not fulfill the requirements for an external key store. To identify the cause, see the error message that accompanies the exception and review the requirements for Amazon VPC endpoint service connectivity for an external key store.

\",\ \"exception\":true\ },\ \"XksProxyVpcEndpointServiceNameType\":{\ diff --git a/AWSKMS/AWSKMSService.h b/AWSKMS/AWSKMSService.h index 17f4ed054e3..d5f73bb1271 100644 --- a/AWSKMS/AWSKMSService.h +++ b/AWSKMS/AWSKMSService.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -854,7 +854,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (void)getPublicKey:(AWSKMSGetPublicKeyRequest *)request completionHandler:(void (^ _Nullable)(AWSKMSGetPublicKeyResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Imports or reimports key material into an existing KMS key that was created without key material. ImportKeyMaterial also sets the expiration model and expiration date of the imported key material.

By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.

After you successfully import key material into a KMS key, you can reimport the same key material into that KMS key, but you cannot import different key material. You might reimport key material to replace key material that expired or key material that you deleted. You might also reimport key material to change the expiration model or expiration date of the key material. Before reimporting key material, if necessary, call DeleteImportedKeyMaterial to delete the current imported key material.

Each time you import key material into KMS, you can determine whether (ExpirationModel) and when (ValidTo) the key material expires. To change the expiration of your key material, you must import it again, either by calling ImportKeyMaterial or using the import features of the KMS console.

Before calling ImportKeyMaterial:

Then, in an ImportKeyMaterial request, you submit your encrypted key material and import token. When calling this operation, you must specify the following values:

When this operation is successful, the key state of the KMS key changes from PendingImport to Enabled, and you can use the KMS key in cryptographic operations.

If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key and repeat the import procedure. For help, see How To Import Key Material in the Key Management Service Developer Guide.

The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.

Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

Required permissions: kms:ImportKeyMaterial (key policy)

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

+

Imports or reimports key material into an existing KMS key that was created without key material. ImportKeyMaterial also sets the expiration model and expiration date of the imported key material.

By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.

After you successfully import key material into a KMS key, you can reimport the same key material into that KMS key, but you cannot import different key material. You might reimport key material to replace key material that expired or key material that you deleted. You might also reimport key material to change the expiration model or expiration date of the key material.

Each time you import key material into KMS, you can determine whether (ExpirationModel) and when (ValidTo) the key material expires. To change the expiration of your key material, you must import it again, either by calling ImportKeyMaterial or using the import features of the KMS console.

Before calling ImportKeyMaterial:

Then, in an ImportKeyMaterial request, you submit your encrypted key material and import token. When calling this operation, you must specify the following values:

When this operation is successful, the key state of the KMS key changes from PendingImport to Enabled, and you can use the KMS key in cryptographic operations.

If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key and repeat the import procedure. For help, see How To Import Key Material in the Key Management Service Developer Guide.

The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.

Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

Required permissions: kms:ImportKeyMaterial (key policy)

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

@param request A container for the necessary parameters to execute the ImportKeyMaterial service method. @@ -866,7 +866,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (AWSTask *)importKeyMaterial:(AWSKMSImportKeyMaterialRequest *)request; /** -

Imports or reimports key material into an existing KMS key that was created without key material. ImportKeyMaterial also sets the expiration model and expiration date of the imported key material.

By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.

After you successfully import key material into a KMS key, you can reimport the same key material into that KMS key, but you cannot import different key material. You might reimport key material to replace key material that expired or key material that you deleted. You might also reimport key material to change the expiration model or expiration date of the key material. Before reimporting key material, if necessary, call DeleteImportedKeyMaterial to delete the current imported key material.

Each time you import key material into KMS, you can determine whether (ExpirationModel) and when (ValidTo) the key material expires. To change the expiration of your key material, you must import it again, either by calling ImportKeyMaterial or using the import features of the KMS console.

Before calling ImportKeyMaterial:

Then, in an ImportKeyMaterial request, you submit your encrypted key material and import token. When calling this operation, you must specify the following values:

When this operation is successful, the key state of the KMS key changes from PendingImport to Enabled, and you can use the KMS key in cryptographic operations.

If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key and repeat the import procedure. For help, see How To Import Key Material in the Key Management Service Developer Guide.

The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.

Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

Required permissions: kms:ImportKeyMaterial (key policy)

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

+

Imports or reimports key material into an existing KMS key that was created without key material. ImportKeyMaterial also sets the expiration model and expiration date of the imported key material.

By default, KMS keys are created with key material that KMS generates. This operation supports Importing key material, an advanced feature that lets you generate and import the cryptographic key material for a KMS key. For more information about importing key material into KMS, see Importing key material in the Key Management Service Developer Guide.

After you successfully import key material into a KMS key, you can reimport the same key material into that KMS key, but you cannot import different key material. You might reimport key material to replace key material that expired or key material that you deleted. You might also reimport key material to change the expiration model or expiration date of the key material.

Each time you import key material into KMS, you can determine whether (ExpirationModel) and when (ValidTo) the key material expires. To change the expiration of your key material, you must import it again, either by calling ImportKeyMaterial or using the import features of the KMS console.

Before calling ImportKeyMaterial:

Then, in an ImportKeyMaterial request, you submit your encrypted key material and import token. When calling this operation, you must specify the following values:

When this operation is successful, the key state of the KMS key changes from PendingImport to Enabled, and you can use the KMS key in cryptographic operations.

If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the KMS key and repeat the import procedure. For help, see How To Import Key Material in the Key Management Service Developer Guide.

The KMS key that you use for this operation must be in a compatible key state. For details, see Key states of KMS keys in the Key Management Service Developer Guide.

Cross-account use: No. You cannot perform this operation on a KMS key in a different Amazon Web Services account.

Required permissions: kms:ImportKeyMaterial (key policy)

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

@param request A container for the necessary parameters to execute the ImportKeyMaterial service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1123,7 +1123,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (void)retireGrant:(AWSKMSRetireGrantRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Deletes the specified grant. You revoke a grant to terminate the permissions that the grant allows. For more information, see Retiring and revoking grants in the Key Management Service Developer Guide.

When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. For details, see Eventual consistency in the Key Management Service Developer Guide.

For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide. For examples of working with grants in several programming languages, see Programming grants.

Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId parameter.

Required permissions: kms:RevokeGrant (key policy).

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

+

Deletes the specified grant. You revoke a grant to terminate the permissions that the grant allows. For more information, see Retiring and revoking grants in the Key Management Service Developer Guide.

When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. For details, see Eventual consistency in the Key Management Service Developer Guide.

For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide. For examples of working with grants in several programming languages, see Programming grants.

Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId parameter.

Required permissions: kms:RevokeGrant (key policy).

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

@param request A container for the necessary parameters to execute the RevokeGrant service method. @@ -1134,7 +1134,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (AWSTask *)revokeGrant:(AWSKMSRevokeGrantRequest *)request; /** -

Deletes the specified grant. You revoke a grant to terminate the permissions that the grant allows. For more information, see Retiring and revoking grants in the Key Management Service Developer Guide.

When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. For details, see Eventual consistency in the Key Management Service Developer Guide.

For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide. For examples of working with grants in several programming languages, see Programming grants.

Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId parameter.

Required permissions: kms:RevokeGrant (key policy).

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

+

Deletes the specified grant. You revoke a grant to terminate the permissions that the grant allows. For more information, see Retiring and revoking grants in the Key Management Service Developer Guide.

When you create, retire, or revoke a grant, there might be a brief delay, usually less than five minutes, until the grant is available throughout KMS. This state is known as eventual consistency. For details, see Eventual consistency in the Key Management Service Developer Guide.

For detailed information about grants, including grant terminology, see Grants in KMS in the Key Management Service Developer Guide. For examples of working with grants in several programming languages, see Programming grants.

Cross-account use: Yes. To perform this operation on a KMS key in a different Amazon Web Services account, specify the key ARN in the value of the KeyId parameter.

Required permissions: kms:RevokeGrant (key policy).

Related operations:

Eventual consistency: The KMS API follows an eventual consistency model. For more information, see KMS eventual consistency.

@param request A container for the necessary parameters to execute the RevokeGrant service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSKMS/AWSKMSService.m b/AWSKMS/AWSKMSService.m index 3502ef02094..15eecd2de9a 100644 --- a/AWSKMS/AWSKMSService.m +++ b/AWSKMS/AWSKMSService.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/AWSKMSUnitTests/AWSGeneralKMSTests.m b/AWSKMSUnitTests/AWSGeneralKMSTests.m index 0627702beed..d5586733128 100644 --- a/AWSKMSUnitTests/AWSGeneralKMSTests.m +++ b/AWSKMSUnitTests/AWSGeneralKMSTests.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m b/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m index 67d6c2f1ba4..6c7eb0db16e 100644 --- a/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m +++ b/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. From 3d95476d1af80b4f16d70c9cf4635db713cce800 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:03:50 -0400 Subject: [PATCH 06/15] feat(AWSConnect): update models to latest (#5253) --- AWSConnect/AWSConnectModel.h | 105 ++++++++++++++-- AWSConnect/AWSConnectModel.m | 117 ++++++++++++++++++ AWSConnect/AWSConnectResources.m | 114 ++++++++++++++--- AWSConnect/AWSConnectService.h | 16 +-- .../AWSConnectNSSecureCodingTests.m | 10 ++ 5 files changed, 325 insertions(+), 37 deletions(-) diff --git a/AWSConnect/AWSConnectModel.h b/AWSConnect/AWSConnectModel.h index e812f277f23..ffdb113acdd 100644 --- a/AWSConnect/AWSConnectModel.h +++ b/AWSConnect/AWSConnectModel.h @@ -364,6 +364,8 @@ typedef NS_ENUM(NSInteger, AWSConnectInstanceStorageResourceType) { AWSConnectInstanceStorageResourceTypeAttachments, AWSConnectInstanceStorageResourceTypeContactEvaluations, AWSConnectInstanceStorageResourceTypeScreenRecordings, + AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments, + AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments, }; typedef NS_ENUM(NSInteger, AWSConnectIntegrationType) { @@ -1047,6 +1049,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectAttachmentReference; @class AWSConnectAttendee; @class AWSConnectAttribute; +@class AWSConnectAttributeAndCondition; @class AWSConnectAudioFeatures; @class AWSConnectAvailableNumberSummary; @class AWSConnectBatchAssociateAnalyticsDataSetRequest; @@ -1078,6 +1081,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectContactSearchSummaryAgentInfo; @class AWSConnectContactSearchSummaryQueueInfo; @class AWSConnectControlPlaneTagFilter; +@class AWSConnectControlPlaneUserAttributeFilter; @class AWSConnectCreateAgentStatusRequest; @class AWSConnectCreateAgentStatusResponse; @class AWSConnectCreateCaseActionDefinition; @@ -1773,7 +1777,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { /** -

The state of the contact.

+

The state of the contact.

When AgentContactState is set to CONNECTED_ONHOLD, StateStartTimestamp is not changed. Instead, StateStartTimestamp reflects the time the contact was CONNECTED to the agent.

*/ @property (nonatomic, assign) AWSConnectContactState agentContactState; @@ -2245,7 +2249,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable instanceId; /** -

A valid resource type.

+

A valid resource type. To enable streaming for real-time analysis of contacts, use the following types:

REAL_TIME_CONTACT_ANALYSIS_SEGMENTS is deprecated, but it is still supported and will apply only to VOICE channel contacts. Use REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS for voice contacts moving forward.

If you have previously associated a stream with REAL_TIME_CONTACT_ANALYSIS_SEGMENTS, no action is needed to update the stream to REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS.

*/ @property (nonatomic, assign) AWSConnectInstanceStorageResourceType resourceType; @@ -2518,6 +2522,24 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

A list of conditions which would be applied together with an AND condition.

+ */ +@interface AWSConnectAttributeAndCondition : AWSModel + + +/** +

A leaf node condition which can be used to specify a hierarchy group condition.

+ */ +@property (nonatomic, strong) AWSConnectHierarchyGroupCondition * _Nullable hierarchyGroupCondition; + +/** +

A leaf node condition which can be used to specify a tag condition.

+ */ +@property (nonatomic, strong) NSArray * _Nullable tagConditions; + +@end + /**

Has audio-specific configurations as the operating parameter for Echo Reduction.

*/ @@ -3400,6 +3422,34 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

An object that can be used to specify Tag conditions or Hierarchy Group conditions inside the SearchFilter.

This accepts an OR of AND (List of List) input where:

  • The top level list specifies conditions that need to be applied with OR operator

  • The inner list specifies conditions that need to be applied with AND operator.

Only one field can be populated. Maximum number of allowed Tag conditions is 25. Maximum number of allowed Hierarchy Group conditions is 20.

+ */ +@interface AWSConnectControlPlaneUserAttributeFilter : AWSModel + + +/** +

A list of conditions which would be applied together with an AND condition.

+ */ +@property (nonatomic, strong) AWSConnectAttributeAndCondition * _Nullable andCondition; + +/** +

A leaf node condition which can be used to specify a hierarchy group condition.

+ */ +@property (nonatomic, strong) AWSConnectHierarchyGroupCondition * _Nullable hierarchyGroupCondition; + +/** +

A list of conditions which would be applied together with an OR condition.

+ */ +@property (nonatomic, strong) NSArray * _Nullable orConditions; + +/** +

A leaf node condition which can be used to specify a tag condition, for example, HAVE BPO = 123.

+ */ +@property (nonatomic, strong) AWSConnectTagCondition * _Nullable tagCondition; + +@end + /** */ @@ -4237,6 +4287,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @interface AWSConnectCreateSecurityProfileRequest : AWSRequest +/** +

The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

+ */ +@property (nonatomic, strong) NSString * _Nullable allowedAccessControlHierarchyGroupId; + /**

The list of tags that a security profile uses to restrict access to resources in Amazon Connect.

*/ @@ -4252,6 +4307,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable detail; +/** +

The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

+ */ +@property (nonatomic, strong) NSArray * _Nullable hierarchyRestrictedResources; + /**

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

*/ @@ -4563,7 +4623,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSDictionary * _Nullable tags; /** -

The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from [a-zA-Z0-9_-.\@]+.

+

The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from [a-zA-Z0-9_-.\@]+.

Username can include @ only if used in an email format. For example:

  • Correct: testuser

  • Correct: testuser@example.com

  • Incorrect: testuser@example

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -7871,12 +7931,12 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSDate * _Nullable endTime; /** -

The filters to apply to returned metrics. You can filter on the following resources:

  • Queues

  • Routing profiles

  • Agents

  • Channels

  • User hierarchy groups

  • Feature

  • Routing step expression

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator's Guide.

Note the following limits:

  • Filter keys: A maximum of 5 filter keys are supported in a single request. Valid filter keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

  • Filter values: A maximum of 100 filter values are supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.

    contact_lens_conversational_analytics is a valid filterValue for the FEATURE filter key. It is available only to contacts analyzed by Contact Lens conversational analytics.

    connect:Chat, connect:SMS, connect:Telephony, and connect:WebRTC are valid filterValue examples (not exhaustive) for the contact/segmentAttributes/connect:Subtype filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 length. This filter is case and order sensitive. JSON string fields must be sorted in ascending order and JSON array order should be kept as is.

+

The filters to apply to returned metrics. You can filter on the following resources:

  • Queues

  • Routing profiles

  • Agents

  • Channels

  • User hierarchy groups

  • Feature

  • Routing step expression

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator's Guide.

Note the following limits:

  • Filter keys: A maximum of 5 filter keys are supported in a single request. Valid filter keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | CASE_TEMPLATE_ARN | CASE_STATUS | contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

  • Filter values: A maximum of 100 filter values are supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.

    contact_lens_conversational_analytics is a valid filterValue for the FEATURE filter key. It is available only to contacts analyzed by Contact Lens conversational analytics.

    connect:Chat, connect:SMS, connect:Telephony, and connect:WebRTC are valid filterValue examples (not exhaustive) for the contact/segmentAttributes/connect:Subtype filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 length. This filter is case and order sensitive. JSON string fields must be sorted in ascending order and JSON array order should be kept as is.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

If no grouping is specified, a summary of all metrics is returned.

Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE, contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

+

The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

If no grouping is specified, a summary of all metrics is returned.

Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | CASE_TEMPLATE_ARN | CASE_STATUS | contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

*/ @property (nonatomic, strong) NSArray * _Nullable groupings; @@ -7891,7 +7951,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSNumber * _Nullable maxResults; /** -

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_ABANDONED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

+

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Abandonment rate

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherence

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average conversation duration

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average greeting time agent

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average interruptions agent

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average interruption time agent

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

UI name: Average resolution time

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average talk time

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average talk time agent

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average talk time customer

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_ABANDONED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: Contact abandoned

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts handled by Connected to agent

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts queued by Enqueue

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Maximum queued time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Non-talk time percent

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Talk time agent percent

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Talk time customer percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent on contact time

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts answered in X seconds

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for "Less than").

UI name: Contacts abandoned in X seconds

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

UI name: Callback attempts

*/ @property (nonatomic, strong) NSArray * _Nullable metrics; @@ -14146,6 +14206,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @interface AWSConnectSecurityProfile : AWSModel +/** +

The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

+ */ +@property (nonatomic, strong) NSString * _Nullable allowedAccessControlHierarchyGroupId; + /**

The list of tags that a security profile uses to restrict access to resources in Amazon Connect.

*/ @@ -14161,6 +14226,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable detail; +/** +

The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

+ */ +@property (nonatomic, strong) NSArray * _Nullable hierarchyRestrictedResources; + /**

The identifier for the security profile.

*/ @@ -14506,7 +14576,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable contactFlowId; /** -

The initial message to be sent to the newly created chat.

+

The initial message to be sent to the newly created chat. If you have a Lex bot in your flow, the initial message is not delivered to the Lex bot.

*/ @property (nonatomic, strong) AWSConnectChatMessage * _Nullable initialMessage; @@ -16862,6 +16932,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @interface AWSConnectUpdateSecurityProfileRequest : AWSRequest +/** +

The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

+ */ +@property (nonatomic, strong) NSString * _Nullable allowedAccessControlHierarchyGroupId; + /**

The list of tags that a security profile uses to restrict access to resources in Amazon Connect.

*/ @@ -16877,6 +16952,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable detail; +/** +

The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

+ */ +@property (nonatomic, strong) NSArray * _Nullable hierarchyRestrictedResources; + /**

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

*/ @@ -17508,7 +17588,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end /** -

Contains information about the identity of a user.

+

Contains information about the identity of a user.

For Amazon Connect instances that are created with the EXISTING_DIRECTORY identity management type, FirstName, LastName, and Email cannot be updated from within Amazon Connect because they are managed by the directory.

*/ @interface AWSConnectUserIdentityInfo : AWSModel @@ -17566,7 +17646,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { /** -

The After Call Work (ACW) timeout setting, in seconds.

When returned by a SearchUsers call, AfterContactWorkTimeLimit is returned in milliseconds.

+

The After Call Work (ACW) timeout setting, in seconds. This parameter has a minimum value of 0 and a maximum value of 2,000,000 seconds (24 days). Enter 0 if you don't want to allocate a specific amount of ACW time. It essentially means an indefinite amount of time. When the conversation ends, ACW starts; the agent must choose Close contact to end ACW.

When returned by a SearchUsers call, AfterContactWorkTimeLimit is returned in milliseconds.

*/ @property (nonatomic, strong) NSNumber * _Nullable afterContactWorkTimeLimit; @@ -17689,7 +17769,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSArray * _Nullable orConditions; /** -

A leaf node condition which can be used to specify a string condition.

The currently supported values for FieldName are username, firstname, lastname, resourceId, routingProfileId, securityProfileId, agentGroupId, and agentGroupPathIds.

+

A leaf node condition which can be used to specify a string condition.

The currently supported values for FieldName are Username, FirstName, LastName, RoutingProfileId, SecurityProfileId, ResourceId.

*/ @property (nonatomic, strong) AWSConnectStringCondition * _Nullable stringCondition; @@ -17706,6 +17786,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) AWSConnectControlPlaneTagFilter * _Nullable tagFilter; +/** +

An object that can be used to specify Tag conditions or Hierarchy Group conditions inside the SearchFilter.

This accepts an OR of AND (List of List) input where:

  • The top level list specifies conditions that need to be applied with OR operator.

  • The inner list specifies conditions that need to be applied with AND operator.

Only one field can be populated. This object can’t be used along with TagFilter. Request can either contain TagFilter or UserAttributeFilter if SearchFilter is specified, combination of both is not supported and such request will throw AccessDeniedException.

+ */ +@property (nonatomic, strong) AWSConnectControlPlaneUserAttributeFilter * _Nullable userAttributeFilter; + @end /** diff --git a/AWSConnect/AWSConnectModel.m b/AWSConnect/AWSConnectModel.m index 49c911a43a2..310da065043 100644 --- a/AWSConnect/AWSConnectModel.m +++ b/AWSConnect/AWSConnectModel.m @@ -890,6 +890,12 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"SCREEN_RECORDINGS"] == NSOrderedSame) { return @(AWSConnectInstanceStorageResourceTypeScreenRecordings); } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments); + } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments); + } return @(AWSConnectInstanceStorageResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -913,6 +919,10 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"CONTACT_EVALUATIONS"; case AWSConnectInstanceStorageResourceTypeScreenRecordings: return @"SCREEN_RECORDINGS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"; default: return nil; } @@ -1231,6 +1241,29 @@ + (NSValueTransformer *)attributeTypeJSONTransformer { @end +@implementation AWSConnectAttributeAndCondition + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"hierarchyGroupCondition" : @"HierarchyGroupCondition", + @"tagConditions" : @"TagConditions", + }; +} + ++ (NSValueTransformer *)hierarchyGroupConditionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectHierarchyGroupCondition class]]; +} + ++ (NSValueTransformer *)tagConditionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectTagCondition class]]; +} + +@end + @implementation AWSConnectAudioFeatures + (BOOL)supportsSecureCoding { @@ -4864,6 +4897,39 @@ + (NSValueTransformer *)tagConditionJSONTransformer { @end +@implementation AWSConnectControlPlaneUserAttributeFilter + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"andCondition" : @"AndCondition", + @"hierarchyGroupCondition" : @"HierarchyGroupCondition", + @"orConditions" : @"OrConditions", + @"tagCondition" : @"TagCondition", + }; +} + ++ (NSValueTransformer *)andConditionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAttributeAndCondition class]]; +} + ++ (NSValueTransformer *)hierarchyGroupConditionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectHierarchyGroupCondition class]]; +} + ++ (NSValueTransformer *)orConditionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectAttributeAndCondition class]]; +} + ++ (NSValueTransformer *)tagConditionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectTagCondition class]]; +} + +@end + @implementation AWSConnectCreateAgentStatusRequest + (BOOL)supportsSecureCoding { @@ -5680,9 +5746,11 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"allowedAccessControlHierarchyGroupId" : @"AllowedAccessControlHierarchyGroupId", @"allowedAccessControlTags" : @"AllowedAccessControlTags", @"applications" : @"Applications", @"detail" : @"Description", + @"hierarchyRestrictedResources" : @"HierarchyRestrictedResources", @"instanceId" : @"InstanceId", @"permissions" : @"Permissions", @"securityProfileName" : @"SecurityProfileName", @@ -7605,6 +7673,12 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"SCREEN_RECORDINGS"] == NSOrderedSame) { return @(AWSConnectInstanceStorageResourceTypeScreenRecordings); } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments); + } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments); + } return @(AWSConnectInstanceStorageResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -7628,6 +7702,10 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"CONTACT_EVALUATIONS"; case AWSConnectInstanceStorageResourceTypeScreenRecordings: return @"SCREEN_RECORDINGS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"; default: return nil; } @@ -8305,6 +8383,12 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"SCREEN_RECORDINGS"] == NSOrderedSame) { return @(AWSConnectInstanceStorageResourceTypeScreenRecordings); } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments); + } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments); + } return @(AWSConnectInstanceStorageResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -8328,6 +8412,10 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"CONTACT_EVALUATIONS"; case AWSConnectInstanceStorageResourceTypeScreenRecordings: return @"SCREEN_RECORDINGS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"; default: return nil; } @@ -12212,6 +12300,12 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"SCREEN_RECORDINGS"] == NSOrderedSame) { return @(AWSConnectInstanceStorageResourceTypeScreenRecordings); } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments); + } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments); + } return @(AWSConnectInstanceStorageResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -12235,6 +12329,10 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"CONTACT_EVALUATIONS"; case AWSConnectInstanceStorageResourceTypeScreenRecordings: return @"SCREEN_RECORDINGS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"; default: return nil; } @@ -21053,9 +21151,11 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"allowedAccessControlHierarchyGroupId" : @"AllowedAccessControlHierarchyGroupId", @"allowedAccessControlTags" : @"AllowedAccessControlTags", @"arn" : @"Arn", @"detail" : @"Description", + @"hierarchyRestrictedResources" : @"HierarchyRestrictedResources", @"identifier" : @"Id", @"lastModifiedRegion" : @"LastModifiedRegion", @"lastModifiedTime" : @"LastModifiedTime", @@ -23352,6 +23452,12 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"SCREEN_RECORDINGS"] == NSOrderedSame) { return @(AWSConnectInstanceStorageResourceTypeScreenRecordings); } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments); + } + if ([value caseInsensitiveCompare:@"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"] == NSOrderedSame) { + return @(AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments); + } return @(AWSConnectInstanceStorageResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -23375,6 +23481,10 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"CONTACT_EVALUATIONS"; case AWSConnectInstanceStorageResourceTypeScreenRecordings: return @"SCREEN_RECORDINGS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisChatSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS"; + case AWSConnectInstanceStorageResourceTypeRealTimeContactAnalysisVoiceSegments: + return @"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS"; default: return nil; } @@ -23839,9 +23949,11 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"allowedAccessControlHierarchyGroupId" : @"AllowedAccessControlHierarchyGroupId", @"allowedAccessControlTags" : @"AllowedAccessControlTags", @"applications" : @"Applications", @"detail" : @"Description", + @"hierarchyRestrictedResources" : @"HierarchyRestrictedResources", @"instanceId" : @"InstanceId", @"permissions" : @"Permissions", @"securityProfileId" : @"SecurityProfileId", @@ -24580,6 +24692,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"tagFilter" : @"TagFilter", + @"userAttributeFilter" : @"UserAttributeFilter", }; } @@ -24587,6 +24700,10 @@ + (NSValueTransformer *)tagFilterJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectControlPlaneTagFilter class]]; } ++ (NSValueTransformer *)userAttributeFilterJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectControlPlaneUserAttributeFilter class]]; +} + @end @implementation AWSConnectUserSearchSummary diff --git a/AWSConnect/AWSConnectResources.m b/AWSConnect/AWSConnectResources.m index 3340f9d46ee..9f8cbdf8f3c 100644 --- a/AWSConnect/AWSConnectResources.m +++ b/AWSConnect/AWSConnectResources.m @@ -1073,7 +1073,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

Deletes a quick connect.

\"\ + \"documentation\":\"

Deletes a quick connect.

After calling DeleteUser, it's important to call DeleteQuickConnect to delete any records related to the deleted users. This will help you:

  • Avoid dangling resources that impact your service quotas.

  • Remove deleted users so they don't appear to agents as transfer options.

  • Avoid the disruption of other Amazon Connect processes, such as instance replication and syncing if you're using Amazon Connect Global Resiliency.

\"\ },\ \"DeleteRoutingProfile\":{\ \"name\":\"DeleteRoutingProfile\",\ @@ -1189,7 +1189,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

Deletes a user account from the specified Amazon Connect instance.

For information about what happens to a user's data when their account is deleted, see Delete Users from Your Amazon Connect Instance in the Amazon Connect Administrator Guide.

\"\ + \"documentation\":\"

Deletes a user account from the specified Amazon Connect instance.

For information about what happens to a user's data when their account is deleted, see Delete Users from Your Amazon Connect Instance in the Amazon Connect Administrator Guide.

After calling DeleteUser, call DeleteQuickConnect to delete any records related to the deleted users. This will help you:

  • Avoid dangling resources that impact your service quotas.

  • Remove deleted users so they don't appear to agents as transfer options.

  • Avoid the disruption of other Amazon Connect processes, such as instance replication and syncing if you're using Amazon Connect Global Resiliency.

\"\ },\ \"DeleteUserHierarchyGroup\":{\ \"name\":\"DeleteUserHierarchyGroup\",\ @@ -2222,7 +2222,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalServiceException\"},\ {\"shape\":\"ThrottlingException\"}\ ],\ - \"documentation\":\"

This API is in preview release for Amazon Connect and is subject to change.

For the specified referenceTypes, returns a list of references associated with the contact.

\"\ + \"documentation\":\"

This API is in preview release for Amazon Connect and is subject to change.

For the specified referenceTypes, returns a list of references associated with the contact. References are links to documents that are related to a contact, such as emails, attachments, or URLs.

\"\ },\ \"ListDefaultVocabularies\":{\ \"name\":\"ListDefaultVocabularies\",\ @@ -3318,7 +3318,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceNotFoundException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

Ends the specified contact. This call does not work for voice contacts that use the following initiation methods:

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

Chat and task contacts, however, can be terminated in any state, regardless of initiation method.

\"\ + \"documentation\":\"

Ends the specified contact. Use this API to stop queued callbacks. It does not work for voice contacts that use the following initiation methods:

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

Chat and task contacts can be terminated in any state, regardless of initiation method.

\"\ },\ \"StopContactRecording\":{\ \"name\":\"StopContactRecording\",\ @@ -4381,7 +4381,7 @@ - (NSString *)definitionString { },\ \"AgentContactState\":{\ \"shape\":\"ContactState\",\ - \"documentation\":\"

The state of the contact.

\"\ + \"documentation\":\"

The state of the contact.

When AgentContactState is set to CONNECTED_ONHOLD, StateStartTimestamp is not changed. Instead, StateStartTimestamp reflects the time the contact was CONNECTED to the agent.

\"\ },\ \"StateStartTimestamp\":{\ \"shape\":\"Timestamp\",\ @@ -4890,7 +4890,7 @@ - (NSString *)definitionString { },\ \"ResourceType\":{\ \"shape\":\"InstanceStorageResourceType\",\ - \"documentation\":\"

A valid resource type.

\"\ + \"documentation\":\"

A valid resource type. To enable streaming for real-time analysis of contacts, use the following types:

  • For chat contacts, use REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS.

  • For voice contacts, use REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS.

REAL_TIME_CONTACT_ANALYSIS_SEGMENTS is deprecated, but it is still supported and will apply only to VOICE channel contacts. Use REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS for voice contacts moving forward.

If you have previously associated a stream with REAL_TIME_CONTACT_ANALYSIS_SEGMENTS, no action is needed to update the stream to REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS.

\"\ },\ \"StorageConfig\":{\ \"shape\":\"InstanceStorageConfig\",\ @@ -5161,11 +5161,26 @@ - (NSString *)definitionString { },\ \"documentation\":\"

A toggle for an individual feature at the instance level.

\"\ },\ + \"AttributeAndCondition\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TagConditions\":{\ + \"shape\":\"TagAndConditionList\",\ + \"documentation\":\"

A leaf node condition which can be used to specify a tag condition.

\"\ + },\ + \"HierarchyGroupCondition\":{\"shape\":\"HierarchyGroupCondition\"}\ + },\ + \"documentation\":\"

A list of conditions which would be applied together with an AND condition.

\"\ + },\ \"AttributeName\":{\ \"type\":\"string\",\ \"max\":32767,\ \"min\":1\ },\ + \"AttributeOrConditionList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"AttributeAndCondition\"}\ + },\ \"AttributeValue\":{\ \"type\":\"string\",\ \"max\":32767,\ @@ -6192,6 +6207,22 @@ - (NSString *)definitionString { },\ \"documentation\":\"

An object that can be used to specify Tag conditions inside the SearchFilter. This accepts an OR of AND (List of List) input where:

  • Top level list specifies conditions that need to be applied with OR operator

  • Inner list specifies conditions that need to be applied with AND operator.

\"\ },\ + \"ControlPlaneUserAttributeFilter\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"OrConditions\":{\ + \"shape\":\"AttributeOrConditionList\",\ + \"documentation\":\"

A list of conditions which would be applied together with an OR condition.

\"\ + },\ + \"AndCondition\":{\ + \"shape\":\"AttributeAndCondition\",\ + \"documentation\":\"

A list of conditions which would be applied together with an AND condition.

\"\ + },\ + \"TagCondition\":{\"shape\":\"TagCondition\"},\ + \"HierarchyGroupCondition\":{\"shape\":\"HierarchyGroupCondition\"}\ + },\ + \"documentation\":\"

An object that can be used to specify Tag conditions or Hierarchy Group conditions inside the SearchFilter.

This accepts an OR of AND (List of List) input where:

  • The top level list specifies conditions that need to be applied with OR operator

  • The inner list specifies conditions that need to be applied with AND operator.

Only one field can be populated. Maximum number of allowed Tag conditions is 25. Maximum number of allowed Hierarchy Group conditions is 20.

\"\ + },\ \"CreateAgentStatusRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -6990,6 +7021,14 @@ - (NSString *)definitionString { \"Applications\":{\ \"shape\":\"Applications\",\ \"documentation\":\"

This API is in preview release for Amazon Connect and is subject to change.

A list of third-party applications that the security profile will give access to.

\"\ + },\ + \"HierarchyRestrictedResources\":{\ + \"shape\":\"HierarchyRestrictedResourceList\",\ + \"documentation\":\"

The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

\"\ + },\ + \"AllowedAccessControlHierarchyGroupId\":{\ + \"shape\":\"HierarchyGroupId\",\ + \"documentation\":\"

The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

\"\ }\ }\ },\ @@ -7210,7 +7249,7 @@ - (NSString *)definitionString { \"members\":{\ \"Username\":{\ \"shape\":\"AgentUsername\",\ - \"documentation\":\"

The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from [a-zA-Z0-9_-.\\\\@]+.

\"\ + \"documentation\":\"

The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from [a-zA-Z0-9_-.\\\\@]+.

Username can include @ only if used in an email format. For example:

  • Correct: testuser

  • Correct: testuser@example.com

  • Incorrect: testuser@example

\"\ },\ \"Password\":{\ \"shape\":\"Password\",\ @@ -10805,15 +10844,15 @@ - (NSString *)definitionString { },\ \"Filters\":{\ \"shape\":\"FiltersV2List\",\ - \"documentation\":\"

The filters to apply to returned metrics. You can filter on the following resources:

  • Queues

  • Routing profiles

  • Agents

  • Channels

  • User hierarchy groups

  • Feature

  • Routing step expression

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator's Guide.

Note the following limits:

  • Filter keys: A maximum of 5 filter keys are supported in a single request. Valid filter keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

  • Filter values: A maximum of 100 filter values are supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.

    contact_lens_conversational_analytics is a valid filterValue for the FEATURE filter key. It is available only to contacts analyzed by Contact Lens conversational analytics.

    connect:Chat, connect:SMS, connect:Telephony, and connect:WebRTC are valid filterValue examples (not exhaustive) for the contact/segmentAttributes/connect:Subtype filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 length. This filter is case and order sensitive. JSON string fields must be sorted in ascending order and JSON array order should be kept as is.

\"\ + \"documentation\":\"

The filters to apply to returned metrics. You can filter on the following resources:

  • Queues

  • Routing profiles

  • Agents

  • Channels

  • User hierarchy groups

  • Feature

  • Routing step expression

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator's Guide.

Note the following limits:

  • Filter keys: A maximum of 5 filter keys are supported in a single request. Valid filter keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | CASE_TEMPLATE_ARN | CASE_STATUS | contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

  • Filter values: A maximum of 100 filter values are supported in a single request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.

    contact_lens_conversational_analytics is a valid filterValue for the FEATURE filter key. It is available only to contacts analyzed by Contact Lens conversational analytics.

    connect:Chat, connect:SMS, connect:Telephony, and connect:WebRTC are valid filterValue examples (not exhaustive) for the contact/segmentAttributes/connect:Subtype filter key.

    ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 length. This filter is case and order sensitive. JSON string fields must be sorted in ascending order and JSON array order should be kept as is.

\"\ },\ \"Groupings\":{\ \"shape\":\"GroupingsV2\",\ - \"documentation\":\"

The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

If no grouping is specified, a summary of all metrics is returned.

Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE, contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

\"\ + \"documentation\":\"

The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

If no grouping is specified, a summary of all metrics is returned.

Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | CASE_TEMPLATE_ARN | CASE_STATUS | contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

\"\ },\ \"Metrics\":{\ \"shape\":\"MetricsV2\",\ - \"documentation\":\"

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_ABANDONED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \\\"Less than\\\").

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \\\"Less than\\\").

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \\\"Less than\\\").

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \\\"Less than\\\").

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

\"\ + \"documentation\":\"

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Abandonment rate

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Adherence

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average conversation duration

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average greeting time agent

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average interruptions agent

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average interruption time agent

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

UI name: Average resolution time

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average talk time

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average talk time agent

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Average talk time customer

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_ABANDONED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: Contact abandoned

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts handled by Connected to agent

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts queued by Enqueue

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \\\"Less than\\\").

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Maximum queued time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Non-talk time percent

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Talk time agent percent

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Talk time customer percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \\\"Less than\\\").

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent API connecting time

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent on contact time

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \\\"Less than\\\").

UI name: Contacts answered in X seconds

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \\\"Less than\\\").

UI name: Contacts abandoned in X seconds

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

UI name: Callback attempts

\"\ },\ \"NextToken\":{\ \"shape\":\"NextToken2500\",\ @@ -11225,6 +11264,15 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Information about the levels in the hierarchy group.

\"\ },\ + \"HierarchyRestrictedResourceList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"HierarchyRestrictedResourceName\"}\ + },\ + \"HierarchyRestrictedResourceName\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1\ + },\ \"HierarchyStructure\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -11768,7 +11816,9 @@ - (NSString *)definitionString { \"REAL_TIME_CONTACT_ANALYSIS_SEGMENTS\",\ \"ATTACHMENTS\",\ \"CONTACT_EVALUATIONS\",\ - \"SCREEN_RECORDINGS\"\ + \"SCREEN_RECORDINGS\",\ + \"REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS\",\ + \"REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS\"\ ]\ },\ \"InstanceSummary\":{\ @@ -14111,6 +14161,12 @@ - (NSString *)definitionString { \"max\":25,\ \"min\":1\ },\ + \"MaxResult500\":{\ + \"type\":\"integer\",\ + \"box\":true,\ + \"max\":500,\ + \"min\":1\ + },\ \"MaxResult7\":{\ \"type\":\"integer\",\ \"max\":7,\ @@ -17332,7 +17388,7 @@ - (NSString *)definitionString { \"documentation\":\"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

\"\ },\ \"MaxResults\":{\ - \"shape\":\"MaxResult100\",\ + \"shape\":\"MaxResult500\",\ \"documentation\":\"

The maximum number of results to return per page.

\",\ \"box\":true\ },\ @@ -17460,7 +17516,7 @@ - (NSString *)definitionString { \"documentation\":\"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

\"\ },\ \"MaxResults\":{\ - \"shape\":\"MaxResult100\",\ + \"shape\":\"MaxResult500\",\ \"documentation\":\"

The maximum number of results to return per page.

\",\ \"box\":true\ },\ @@ -17559,7 +17615,7 @@ - (NSString *)definitionString { \"documentation\":\"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

\"\ },\ \"MaxResults\":{\ - \"shape\":\"MaxResult100\",\ + \"shape\":\"MaxResult500\",\ \"documentation\":\"

The maximum number of results to return per page.

\",\ \"box\":true\ },\ @@ -17757,6 +17813,14 @@ - (NSString *)definitionString { \"LastModifiedRegion\":{\ \"shape\":\"RegionName\",\ \"documentation\":\"

The Amazon Web Services Region where this resource was last modified.

\"\ + },\ + \"HierarchyRestrictedResources\":{\ + \"shape\":\"HierarchyRestrictedResourceList\",\ + \"documentation\":\"

The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

\"\ + },\ + \"AllowedAccessControlHierarchyGroupId\":{\ + \"shape\":\"HierarchyGroupId\",\ + \"documentation\":\"

The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

\"\ }\ },\ \"documentation\":\"

Contains information about a security profile.

\"\ @@ -18144,7 +18208,7 @@ - (NSString *)definitionString { },\ \"InitialMessage\":{\ \"shape\":\"ChatMessage\",\ - \"documentation\":\"

The initial message to be sent to the newly created chat.

\"\ + \"documentation\":\"

The initial message to be sent to the newly created chat. If you have a Lex bot in your flow, the initial message is not delivered to the Lex bot.

\"\ },\ \"ClientToken\":{\ \"shape\":\"ClientToken\",\ @@ -20662,6 +20726,14 @@ - (NSString *)definitionString { \"Applications\":{\ \"shape\":\"Applications\",\ \"documentation\":\"

This API is in preview release for Amazon Connect and is subject to change.

A list of the third-party application's metadata.

\"\ + },\ + \"HierarchyRestrictedResources\":{\ + \"shape\":\"HierarchyRestrictedResourceList\",\ + \"documentation\":\"

The list of resources that a security profile applies hierarchy restrictions to in Amazon Connect. Following are acceptable ResourceNames: User.

\"\ + },\ + \"AllowedAccessControlHierarchyGroupId\":{\ + \"shape\":\"HierarchyGroupId\",\ + \"documentation\":\"

The identifier of the hierarchy group that a security profile uses to restrict access to resources in Amazon Connect.

\"\ }\ }\ },\ @@ -21280,7 +21352,7 @@ - (NSString *)definitionString { \"documentation\":\"

The user's mobile number.

\"\ }\ },\ - \"documentation\":\"

Contains information about the identity of a user.

\"\ + \"documentation\":\"

Contains information about the identity of a user.

For Amazon Connect instances that are created with the EXISTING_DIRECTORY identity management type, FirstName, LastName, and Email cannot be updated from within Amazon Connect because they are managed by the directory.

\"\ },\ \"UserIdentityInfoLite\":{\ \"type\":\"structure\",\ @@ -21319,7 +21391,7 @@ - (NSString *)definitionString { },\ \"AfterContactWorkTimeLimit\":{\ \"shape\":\"AfterContactWorkTimeLimit\",\ - \"documentation\":\"

The After Call Work (ACW) timeout setting, in seconds.

When returned by a SearchUsers call, AfterContactWorkTimeLimit is returned in milliseconds.

\"\ + \"documentation\":\"

The After Call Work (ACW) timeout setting, in seconds. This parameter has a minimum value of 0 and a maximum value of 2,000,000 seconds (24 days). Enter 0 if you don't want to allocate a specific amount of ACW time. It essentially means an indefinite amount of time. When the conversation ends, ACW starts; the agent must choose Close contact to end ACW.

When returned by a SearchUsers call, AfterContactWorkTimeLimit is returned in milliseconds.

\"\ },\ \"DeskPhoneNumber\":{\ \"shape\":\"PhoneNumber\",\ @@ -21426,7 +21498,7 @@ - (NSString *)definitionString { },\ \"StringCondition\":{\ \"shape\":\"StringCondition\",\ - \"documentation\":\"

A leaf node condition which can be used to specify a string condition.

The currently supported values for FieldName are username, firstname, lastname, resourceId, routingProfileId, securityProfileId, agentGroupId, and agentGroupPathIds.

\"\ + \"documentation\":\"

A leaf node condition which can be used to specify a string condition.

The currently supported values for FieldName are Username, FirstName, LastName, RoutingProfileId, SecurityProfileId, ResourceId.

\"\ },\ \"HierarchyGroupCondition\":{\ \"shape\":\"HierarchyGroupCondition\",\ @@ -21438,7 +21510,11 @@ - (NSString *)definitionString { \"UserSearchFilter\":{\ \"type\":\"structure\",\ \"members\":{\ - \"TagFilter\":{\"shape\":\"ControlPlaneTagFilter\"}\ + \"TagFilter\":{\"shape\":\"ControlPlaneTagFilter\"},\ + \"UserAttributeFilter\":{\ + \"shape\":\"ControlPlaneUserAttributeFilter\",\ + \"documentation\":\"

An object that can be used to specify Tag conditions or Hierarchy Group conditions inside the SearchFilter.

This accepts an OR of AND (List of List) input where:

  • The top level list specifies conditions that need to be applied with OR operator.

  • The inner list specifies conditions that need to be applied with AND operator.

Only one field can be populated. This object can’t be used along with TagFilter. Request can either contain TagFilter or UserAttributeFilter if SearchFilter is specified, combination of both is not supported and such request will throw AccessDeniedException.

\"\ + }\ },\ \"documentation\":\"

Filters to be applied to search results.

\"\ },\ diff --git a/AWSConnect/AWSConnectService.h b/AWSConnect/AWSConnectService.h index 887a9e4936c..0d1d4e5f897 100644 --- a/AWSConnect/AWSConnectService.h +++ b/AWSConnect/AWSConnectService.h @@ -1499,7 +1499,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)deleteQueue:(AWSConnectDeleteQueueRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Deletes a quick connect.

+

Deletes a quick connect.

After calling DeleteUser, it's important to call DeleteQuickConnect to delete any records related to the deleted users. This will help you:

  • Avoid dangling resources that impact your service quotas.

  • Remove deleted users so they don't appear to agents as transfer options.

  • Avoid the disruption of other Amazon Connect processes, such as instance replication and syncing if you're using Amazon Connect Global Resiliency.

@param request A container for the necessary parameters to execute the DeleteQuickConnect service method. @@ -1510,7 +1510,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)deleteQuickConnect:(AWSConnectDeleteQuickConnectRequest *)request; /** -

Deletes a quick connect.

+

Deletes a quick connect.

After calling DeleteUser, it's important to call DeleteQuickConnect to delete any records related to the deleted users. This will help you:

  • Avoid dangling resources that impact your service quotas.

  • Remove deleted users so they don't appear to agents as transfer options.

  • Avoid the disruption of other Amazon Connect processes, such as instance replication and syncing if you're using Amazon Connect Global Resiliency.

@param request A container for the necessary parameters to execute the DeleteQuickConnect service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1659,7 +1659,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)deleteUseCase:(AWSConnectDeleteUseCaseRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Deletes a user account from the specified Amazon Connect instance.

For information about what happens to a user's data when their account is deleted, see Delete Users from Your Amazon Connect Instance in the Amazon Connect Administrator Guide.

+

Deletes a user account from the specified Amazon Connect instance.

For information about what happens to a user's data when their account is deleted, see Delete Users from Your Amazon Connect Instance in the Amazon Connect Administrator Guide.

After calling DeleteUser, call DeleteQuickConnect to delete any records related to the deleted users. This will help you:

  • Avoid dangling resources that impact your service quotas.

  • Remove deleted users so they don't appear to agents as transfer options.

  • Avoid the disruption of other Amazon Connect processes, such as instance replication and syncing if you're using Amazon Connect Global Resiliency.

@param request A container for the necessary parameters to execute the DeleteUser service method. @@ -1670,7 +1670,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)deleteUser:(AWSConnectDeleteUserRequest *)request; /** -

Deletes a user account from the specified Amazon Connect instance.

For information about what happens to a user's data when their account is deleted, see Delete Users from Your Amazon Connect Instance in the Amazon Connect Administrator Guide.

+

Deletes a user account from the specified Amazon Connect instance.

For information about what happens to a user's data when their account is deleted, see Delete Users from Your Amazon Connect Instance in the Amazon Connect Administrator Guide.

After calling DeleteUser, call DeleteQuickConnect to delete any records related to the deleted users. This will help you:

  • Avoid dangling resources that impact your service quotas.

  • Remove deleted users so they don't appear to agents as transfer options.

  • Avoid the disruption of other Amazon Connect processes, such as instance replication and syncing if you're using Amazon Connect Global Resiliency.

@param request A container for the necessary parameters to execute the DeleteUser service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3145,7 +3145,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)listContactFlows:(AWSConnectListContactFlowsRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectListContactFlowsResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

This API is in preview release for Amazon Connect and is subject to change.

For the specified referenceTypes, returns a list of references associated with the contact.

+

This API is in preview release for Amazon Connect and is subject to change.

For the specified referenceTypes, returns a list of references associated with the contact. References are links to documents that are related to a contact, such as emails, attachments, or URLs.

@param request A container for the necessary parameters to execute the ListContactReferences service method. @@ -3157,7 +3157,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)listContactReferences:(AWSConnectListContactReferencesRequest *)request; /** -

This API is in preview release for Amazon Connect and is subject to change.

For the specified referenceTypes, returns a list of references associated with the contact.

+

This API is in preview release for Amazon Connect and is subject to change.

For the specified referenceTypes, returns a list of references associated with the contact. References are links to documents that are related to a contact, such as emails, attachments, or URLs.

@param request A container for the necessary parameters to execute the ListContactReferences service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4742,7 +4742,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)startWebRTCContact:(AWSConnectStartWebRTCContactRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectStartWebRTCContactResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Ends the specified contact. This call does not work for voice contacts that use the following initiation methods:

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

Chat and task contacts, however, can be terminated in any state, regardless of initiation method.

+

Ends the specified contact. Use this API to stop queued callbacks. It does not work for voice contacts that use the following initiation methods:

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

Chat and task contacts can be terminated in any state, regardless of initiation method.

@param request A container for the necessary parameters to execute the StopContact service method. @@ -4754,7 +4754,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)stopContact:(AWSConnectStopContactRequest *)request; /** -

Ends the specified contact. This call does not work for voice contacts that use the following initiation methods:

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

Chat and task contacts, however, can be terminated in any state, regardless of initiation method.

+

Ends the specified contact. Use this API to stop queued callbacks. It does not work for voice contacts that use the following initiation methods:

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

Chat and task contacts can be terminated in any state, regardless of initiation method.

@param request A container for the necessary parameters to execute the StopContact service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m b/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m index b7949ab186f..196682cc9fb 100644 --- a/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m +++ b/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m @@ -57,6 +57,7 @@ - (void) test_AWSConnectAssociateUserProficienciesRequest API_AVAILABLE(ios(11)) - (void) test_AWSConnectAttachmentReference API_AVAILABLE(ios(11)); - (void) test_AWSConnectAttendee API_AVAILABLE(ios(11)); - (void) test_AWSConnectAttribute API_AVAILABLE(ios(11)); +- (void) test_AWSConnectAttributeAndCondition API_AVAILABLE(ios(11)); - (void) test_AWSConnectAudioFeatures API_AVAILABLE(ios(11)); - (void) test_AWSConnectAvailableNumberSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectBatchAssociateAnalyticsDataSetRequest API_AVAILABLE(ios(11)); @@ -88,6 +89,7 @@ - (void) test_AWSConnectContactSearchSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactSearchSummaryAgentInfo API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactSearchSummaryQueueInfo API_AVAILABLE(ios(11)); - (void) test_AWSConnectControlPlaneTagFilter API_AVAILABLE(ios(11)); +- (void) test_AWSConnectControlPlaneUserAttributeFilter API_AVAILABLE(ios(11)); - (void) test_AWSConnectCreateAgentStatusRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectCreateAgentStatusResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectCreateCaseActionDefinition API_AVAILABLE(ios(11)); @@ -858,6 +860,10 @@ - (void) test_AWSConnectAttribute { [self validateSecureCodingForClass:[AWSConnectAttribute class]]; } +- (void) test_AWSConnectAttributeAndCondition { + [self validateSecureCodingForClass:[AWSConnectAttributeAndCondition class]]; +} + - (void) test_AWSConnectAudioFeatures { [self validateSecureCodingForClass:[AWSConnectAudioFeatures class]]; } @@ -982,6 +988,10 @@ - (void) test_AWSConnectControlPlaneTagFilter { [self validateSecureCodingForClass:[AWSConnectControlPlaneTagFilter class]]; } +- (void) test_AWSConnectControlPlaneUserAttributeFilter { + [self validateSecureCodingForClass:[AWSConnectControlPlaneUserAttributeFilter class]]; +} + - (void) test_AWSConnectCreateAgentStatusRequest { [self validateSecureCodingForClass:[AWSConnectCreateAgentStatusRequest class]]; } From 1b3ff6fe597432b6eb54fd8239f97c860073fe83 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:06:04 -0400 Subject: [PATCH 07/15] feat(AWSLambda): update models to latest (#5273) --- AWSLambda/AWSLambdaModel.h | 97 +++++++++++++++++----------------- AWSLambda/AWSLambdaModel.m | 25 +++++++++ AWSLambda/AWSLambdaResources.m | 97 +++++++++++++++++----------------- 3 files changed, 123 insertions(+), 96 deletions(-) diff --git a/AWSLambda/AWSLambdaModel.h b/AWSLambda/AWSLambdaModel.h index d7d2de8b566..e311cb19a4b 100644 --- a/AWSLambda/AWSLambdaModel.h +++ b/AWSLambda/AWSLambdaModel.h @@ -229,6 +229,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaRuntime) { AWSLambdaRuntimePython310, AWSLambdaRuntimeJava17, AWSLambdaRuntimeRuby32, + AWSLambdaRuntimeRuby33, AWSLambdaRuntimePython311, AWSLambdaRuntimeNodejs20X, AWSLambdaRuntimeProvidedAl2023, @@ -612,7 +613,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable eventSourceToken; /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -864,7 +865,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -968,7 +969,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) AWSLambdaFilterCriteria * _Nullable filterCriteria; /** -

The name of the Lambda function.

Name formats

  • Function nameMyFunction.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function nameMyFunction.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -1091,7 +1092,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSArray * _Nullable fileSystemConfigs; /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -1101,7 +1102,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable handler; /** -

Container image configuration values that override the values in the container image Dockerfile.

+

Container image configuration values that override the values in the container image Dockerfile.

*/ @property (nonatomic, strong) AWSLambdaImageConfig * _Nullable imageConfig; @@ -1189,7 +1190,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) AWSLambdaCors * _Nullable cors; /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -1263,7 +1264,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -1315,7 +1316,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -1328,7 +1329,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -1341,7 +1342,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -1359,7 +1360,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function or version.

Name formats

  • Function namemy-function (name-only), my-function:1 (with version).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function or version.

Name formats

  • Function namemy-function (name-only), my-function:1 (with version).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -1377,7 +1378,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -1413,7 +1414,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2075,7 +2076,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2132,7 +2133,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2150,7 +2151,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable codeSigningConfigArn; /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2163,7 +2164,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2189,7 +2190,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2207,7 +2208,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2225,7 +2226,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2271,7 +2272,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2452,7 +2453,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2488,7 +2489,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2544,7 +2545,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2649,7 +2650,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable clientContext; /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2715,7 +2716,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -2787,7 +2788,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable clientContext; /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3021,7 +3022,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3108,7 +3109,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable eventSourceArn; /** -

The name of the Lambda function.

Name formats

  • Function nameMyFunction.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function nameMyFunction.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3149,7 +3150,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3190,7 +3191,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3415,7 +3416,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3482,7 +3483,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3721,7 +3722,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3744,7 +3745,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable codeSigningConfigArn; /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3762,7 +3763,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable codeSigningConfigArn; /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3775,7 +3776,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3798,7 +3799,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) AWSLambdaDestinationConfig * _Nullable destinationConfig; /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3826,7 +3827,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3887,7 +3888,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -3966,7 +3967,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function namemy-function (name-only), my-function:v1 (with alias).

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -4185,7 +4186,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -4289,7 +4290,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) AWSLambdaFilterCriteria * _Nullable filterCriteria; /** -

The name of the Lambda function.

Name formats

  • Function nameMyFunction.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function nameMyFunction.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -4357,7 +4358,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -4430,7 +4431,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSArray * _Nullable fileSystemConfigs; /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -4440,7 +4441,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) NSString * _Nullable handler; /** -

Container image configuration values that override the values in the container image Docker file.

+

Container image configuration values that override the values in the container image Docker file.

*/ @property (nonatomic, strong) AWSLambdaImageConfig * _Nullable imageConfig; @@ -4513,7 +4514,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) AWSLambdaDestinationConfig * _Nullable destinationConfig; /** -

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; @@ -4551,7 +4552,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @property (nonatomic, strong) AWSLambdaCors * _Nullable cors; /** -

The name of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

+

The name or ARN of the Lambda function.

Name formats

  • Function namemy-function.

  • Function ARNarn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable functionName; diff --git a/AWSLambda/AWSLambdaModel.m b/AWSLambda/AWSLambdaModel.m index a2db15eb9b5..81a919e1433 100644 --- a/AWSLambda/AWSLambdaModel.m +++ b/AWSLambda/AWSLambdaModel.m @@ -653,6 +653,9 @@ + (NSValueTransformer *)runtimeJSONTransformer { if ([value caseInsensitiveCompare:@"ruby3.2"] == NSOrderedSame) { return @(AWSLambdaRuntimeRuby32); } + if ([value caseInsensitiveCompare:@"ruby3.3"] == NSOrderedSame) { + return @(AWSLambdaRuntimeRuby33); + } if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } @@ -735,6 +738,8 @@ + (NSValueTransformer *)runtimeJSONTransformer { return @"java17"; case AWSLambdaRuntimeRuby32: return @"ruby3.2"; + case AWSLambdaRuntimeRuby33: + return @"ruby3.3"; case AWSLambdaRuntimePython311: return @"python3.11"; case AWSLambdaRuntimeNodejs20X: @@ -1716,6 +1721,9 @@ + (NSValueTransformer *)runtimeJSONTransformer { if ([value caseInsensitiveCompare:@"ruby3.2"] == NSOrderedSame) { return @(AWSLambdaRuntimeRuby32); } + if ([value caseInsensitiveCompare:@"ruby3.3"] == NSOrderedSame) { + return @(AWSLambdaRuntimeRuby33); + } if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } @@ -1798,6 +1806,8 @@ + (NSValueTransformer *)runtimeJSONTransformer { return @"java17"; case AWSLambdaRuntimeRuby32: return @"ruby3.2"; + case AWSLambdaRuntimeRuby33: + return @"ruby3.3"; case AWSLambdaRuntimePython311: return @"python3.11"; case AWSLambdaRuntimeNodejs20X: @@ -3414,6 +3424,9 @@ + (NSValueTransformer *)compatibleRuntimeJSONTransformer { if ([value caseInsensitiveCompare:@"ruby3.2"] == NSOrderedSame) { return @(AWSLambdaRuntimeRuby32); } + if ([value caseInsensitiveCompare:@"ruby3.3"] == NSOrderedSame) { + return @(AWSLambdaRuntimeRuby33); + } if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } @@ -3496,6 +3509,8 @@ + (NSValueTransformer *)compatibleRuntimeJSONTransformer { return @"java17"; case AWSLambdaRuntimeRuby32: return @"ruby3.2"; + case AWSLambdaRuntimeRuby33: + return @"ruby3.3"; case AWSLambdaRuntimePython311: return @"python3.11"; case AWSLambdaRuntimeNodejs20X: @@ -3667,6 +3682,9 @@ + (NSValueTransformer *)compatibleRuntimeJSONTransformer { if ([value caseInsensitiveCompare:@"ruby3.2"] == NSOrderedSame) { return @(AWSLambdaRuntimeRuby32); } + if ([value caseInsensitiveCompare:@"ruby3.3"] == NSOrderedSame) { + return @(AWSLambdaRuntimeRuby33); + } if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } @@ -3749,6 +3767,8 @@ + (NSValueTransformer *)compatibleRuntimeJSONTransformer { return @"java17"; case AWSLambdaRuntimeRuby32: return @"ruby3.2"; + case AWSLambdaRuntimeRuby33: + return @"ruby3.3"; case AWSLambdaRuntimePython311: return @"python3.11"; case AWSLambdaRuntimeNodejs20X: @@ -5000,6 +5020,9 @@ + (NSValueTransformer *)runtimeJSONTransformer { if ([value caseInsensitiveCompare:@"ruby3.2"] == NSOrderedSame) { return @(AWSLambdaRuntimeRuby32); } + if ([value caseInsensitiveCompare:@"ruby3.3"] == NSOrderedSame) { + return @(AWSLambdaRuntimeRuby33); + } if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } @@ -5082,6 +5105,8 @@ + (NSValueTransformer *)runtimeJSONTransformer { return @"java17"; case AWSLambdaRuntimeRuby32: return @"ruby3.2"; + case AWSLambdaRuntimeRuby33: + return @"ruby3.3"; case AWSLambdaRuntimePython311: return @"python3.11"; case AWSLambdaRuntimeNodejs20X: diff --git a/AWSLambda/AWSLambdaResources.m b/AWSLambda/AWSLambdaResources.m index 08d827d5847..fd412307d3f 100644 --- a/AWSLambda/AWSLambdaResources.m +++ b/AWSLambda/AWSLambdaResources.m @@ -1386,7 +1386,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -1744,7 +1744,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -1804,7 +1804,7 @@ - (NSString *)definitionString { },\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – MyFunction.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN – 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

\"\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – MyFunction.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN – 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

\"\ },\ \"Enabled\":{\ \"shape\":\"Enabled\",\ @@ -1902,7 +1902,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\"\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\"\ },\ \"Runtime\":{\ \"shape\":\"Runtime\",\ @@ -1974,7 +1974,7 @@ - (NSString *)definitionString { },\ \"ImageConfig\":{\ \"shape\":\"ImageConfig\",\ - \"documentation\":\"

Container image configuration values that override the values in the container image Dockerfile.

\"\ + \"documentation\":\"

Container image configuration values that override the values in the container image Dockerfile.

\"\ },\ \"CodeSigningConfigArn\":{\ \"shape\":\"CodeSigningConfigArn\",\ @@ -2007,7 +2007,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -2092,7 +2092,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -2139,7 +2139,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ }\ @@ -2151,7 +2151,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ }\ @@ -2163,7 +2163,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -2181,7 +2181,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function or version.

Name formats

  • Function name – my-function (name-only), my-function:1 (with version).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function or version.

Name formats

  • Function name – my-function (name-only), my-function:1 (with version).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -2199,7 +2199,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -2241,7 +2241,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3010,7 +3010,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3062,7 +3062,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ }\ @@ -3081,7 +3081,7 @@ - (NSString *)definitionString { },\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\"\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\"\ }\ }\ },\ @@ -3091,7 +3091,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ }\ @@ -3112,7 +3112,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"NamespacedFunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3130,7 +3130,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3148,7 +3148,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"NamespacedFunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3187,7 +3187,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3353,7 +3353,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"NamespacedFunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3387,7 +3387,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3434,7 +3434,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"NamespacedFunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3614,7 +3614,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"NamespacedFunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3699,7 +3699,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"NamespacedFunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -3767,7 +3767,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"NamespacedFunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -4099,7 +4099,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -4177,7 +4177,7 @@ - (NSString *)definitionString { },\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – MyFunction.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN – 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – MyFunction.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN – 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

\",\ \"location\":\"querystring\",\ \"locationName\":\"FunctionName\"\ },\ @@ -4214,7 +4214,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -4251,7 +4251,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -4460,7 +4460,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -4518,7 +4518,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"NamespacedFunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -4919,7 +4919,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -4950,7 +4950,7 @@ - (NSString *)definitionString { },\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ }\ @@ -4969,7 +4969,7 @@ - (NSString *)definitionString { },\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\"\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\"\ }\ }\ },\ @@ -4982,7 +4982,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -4998,7 +4998,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -5032,7 +5032,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -5086,7 +5086,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -5204,7 +5204,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name – my-function (name-only), my-function:v1 (with alias).

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -5344,6 +5344,7 @@ - (NSString *)definitionString { \"python3.10\",\ \"java17\",\ \"ruby3.2\",\ + \"ruby3.3\",\ \"python3.11\",\ \"nodejs20.x\",\ \"provided.al2023\",\ @@ -5795,7 +5796,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -5869,7 +5870,7 @@ - (NSString *)definitionString { },\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – MyFunction.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN – 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

\"\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – MyFunction.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARN – arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN – 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

\"\ },\ \"Enabled\":{\ \"shape\":\"Enabled\",\ @@ -5935,7 +5936,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -5983,7 +5984,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -6045,7 +6046,7 @@ - (NSString *)definitionString { },\ \"ImageConfig\":{\ \"shape\":\"ImageConfig\",\ - \"documentation\":\"

Container image configuration values that override the values in the container image Docker file.

\"\ + \"documentation\":\"

Container image configuration values that override the values in the container image Docker file.

\"\ },\ \"EphemeralStorage\":{\ \"shape\":\"EphemeralStorage\",\ @@ -6067,7 +6068,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ @@ -6097,7 +6098,7 @@ - (NSString *)definitionString { \"members\":{\ \"FunctionName\":{\ \"shape\":\"FunctionName\",\ - \"documentation\":\"

The name of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ + \"documentation\":\"

The name or ARN of the Lambda function.

Name formats

  • Function name – my-function.

  • Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN – 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

\",\ \"location\":\"uri\",\ \"locationName\":\"FunctionName\"\ },\ From 04e2baf19a1b88e2e441f45b64a7837cc89921d1 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:14:50 -0400 Subject: [PATCH 08/15] feat(AWSCognitoIdentityProvider): update models to latest (#5232) --- .../AWSCognitoIdentityProviderModel.h | 58 ++++++++--------- .../AWSCognitoIdentityProviderResources.m | 63 ++++++++++--------- .../AWSCognitoIdentityProviderService.h | 12 ++-- 3 files changed, 67 insertions(+), 66 deletions(-) diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h index 3b82cf00bb5..5cf01da5100 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h @@ -739,7 +739,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -763,7 +763,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -885,7 +885,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -912,7 +912,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -957,7 +957,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -984,7 +984,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1016,7 +1016,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1040,7 +1040,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1073,7 +1073,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1259,7 +1259,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1305,7 +1305,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1351,7 +1351,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1392,7 +1392,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1416,7 +1416,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1529,7 +1529,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1565,7 +1565,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1597,7 +1597,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1633,7 +1633,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1670,7 +1670,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1707,7 +1707,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1734,7 +1734,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -2139,7 +2139,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderUserContextDataType * _Nullable userContextData; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -2196,7 +2196,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderUserContextDataType * _Nullable userContextData; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -3422,7 +3422,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderUserContextDataType * _Nullable userContextData; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -4420,7 +4420,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSArray * _Nullable attributesToGet; /** -

A filter string of the form "AttributeNameFilter-Type "AttributeValue"". Quotation marks within the filter string must be escaped using the backslash (\) character. For example, "family_name = \"Reddy\"".

  • AttributeName: The name of the attribute to search for. You can only search for one attribute at a time.

  • Filter-Type: For an exact match, use =, for example, "given_name = \"Jon\"". For a prefix ("starts with") match, use ^=, for example, "given_name ^= \"Jon\"".

  • AttributeValue: The attribute value that must be matched for each user.

If the filter string is empty, ListUsers returns all users in the user pool.

You can only search for the following standard attributes:

  • username (case-sensitive)

  • email

  • phone_number

  • name

  • given_name

  • family_name

  • preferred_username

  • cognito:user_status (called Status in the Console) (case-insensitive)

  • status (called Enabled in the Console) (case-sensitive)

  • sub

Custom attributes aren't searchable.

You can also list users with a client-side filter. The server-side filter matches no more than one attribute. For an advanced search, use a client-side filter with the --query parameter of the list-users action in the CLI. When you use a client-side filter, ListUsers returns a paginated list of zero or more users. You can receive multiple pages in a row with zero results. Repeat the query with each pagination token that is returned until you receive a null pagination token value, and then review the combined result.

For more information about server-side and client-side filtering, see FilteringCLI output in the Command Line Interface User Guide.

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer Guide.

+

A filter string of the form "AttributeNameFilter-Type "AttributeValue"". Quotation marks within the filter string must be escaped using the backslash (\) character. For example, "family_name = \"Reddy\"".

  • AttributeName: The name of the attribute to search for. You can only search for one attribute at a time.

  • Filter-Type: For an exact match, use =, for example, "given_name = \"Jon\"". For a prefix ("starts with") match, use ^=, for example, "given_name ^= \"Jon\"".

  • AttributeValue: The attribute value that must be matched for each user.

If the filter string is empty, ListUsers returns all users in the user pool.

You can only search for the following standard attributes:

  • username (case-sensitive)

  • email

  • phone_number

  • name

  • given_name

  • family_name

  • preferred_username

  • cognito:user_status (called Status in the Console) (case-insensitive)

  • status (called Enabled in the Console) (case-sensitive)

  • sub

Custom attributes aren't searchable.

You can also list users with a client-side filter. The server-side filter matches no more than one attribute. For an advanced search, use a client-side filter with the --query parameter of the list-users action in the CLI. When you use a client-side filter, ListUsers returns a paginated list of zero or more users. You can receive multiple pages in a row with zero results. Repeat the query with each pagination token that is returned until you receive a null pagination token value, and then review the combined result.

For more information about server-side and client-side filtering, see FilteringCLI output in the Command Line Interface User Guide.

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer Guide.

*/ @property (nonatomic, strong) NSString * _Nullable filter; @@ -4631,7 +4631,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The maximum value of an attribute that is of the number data type.

+

The maximum length of a number attribute value. Must be a number less than or equal to 2^1023, represented as a string with a length of 131072 characters or fewer.

*/ @property (nonatomic, strong) NSString * _Nullable maxValue; @@ -4802,7 +4802,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderUserContextDataType * _Nullable userContextData; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -5537,7 +5537,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The maximum length.

+

The maximum length of a string attribute value. Must be a number less than or equal to 2^1023, represented as a string with a length of 131072 characters or fewer.

*/ @property (nonatomic, strong) NSString * _Nullable maxLength; @@ -5693,7 +5693,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

+

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

*/ @property (nonatomic, strong) NSString * _Nullable username; diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m index 7c2a1e381e8..3631f9b3742 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m @@ -442,7 +442,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidSmsRoleTrustRelationshipException\"},\ {\"shape\":\"InternalErrorException\"}\ ],\ - \"documentation\":\"

Resets the specified user's password in a user pool as an administrator. Works on any user.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode , you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

Deactivates a user's password, requiring them to change it. If a user tries to sign in after the API is called, Amazon Cognito responds with a PasswordResetRequiredException error. Your app must then perform the actions that reset your user's password: the forgot-password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

\"\ + \"documentation\":\"

Resets the specified user's password in a user pool as an administrator. Works on any user.

To use this API operation, your user pool must have self-service account recovery configured. Use AdminSetUserPassword if you manage passwords as an administrator.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode , you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

Deactivates a user's password, requiring them to change it. If a user tries to sign in after the API is called, Amazon Cognito responds with a PasswordResetRequiredException error. Your app must then perform the actions that reset your user's password: the forgot-password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

\"\ },\ \"AdminRespondToAuthChallenge\":{\ \"name\":\"AdminRespondToAuthChallenge\",\ @@ -1182,7 +1182,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"ForbiddenException\"}\ ],\ - \"documentation\":\"

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

If neither a verified phone number nor a verified email exists, this API returns InvalidParameterException. If your app client has a client secret and you don't provide a SECRET_HASH parameter, this API returns NotAuthorizedException.

Amazon Cognito doesn't evaluate Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you can't use IAM credentials to authorize requests, and you can't grant IAM permissions in policies. For more information about authorization models in Amazon Cognito, see Using the Amazon Cognito user pools API and user pool endpoints.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode , you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

\",\ + \"documentation\":\"

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

If neither a verified phone number nor a verified email exists, this API returns InvalidParameterException. If your app client has a client secret and you don't provide a SECRET_HASH parameter, this API returns NotAuthorizedException.

To use this API operation, your user pool must have self-service account recovery configured. Use AdminSetUserPassword if you manage passwords as an administrator.

Amazon Cognito doesn't evaluate Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you can't use IAM credentials to authorize requests, and you can't grant IAM permissions in policies. For more information about authorization models in Amazon Cognito, see Using the Amazon Cognito user pools API and user pool endpoints.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode , you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

\",\ \"authtype\":\"none\"\ },\ \"GetCSVHeader\":{\ @@ -1769,6 +1769,7 @@ - (NSString *)definitionString { \"errors\":[\ {\"shape\":\"InvalidParameterException\"},\ {\"shape\":\"TooManyRequestsException\"},\ + {\"shape\":\"ConcurrentModificationException\"},\ {\"shape\":\"ResourceNotFoundException\"},\ {\"shape\":\"InvalidSmsRoleAccessPolicyException\"},\ {\"shape\":\"InvalidSmsRoleTrustRelationshipException\"},\ @@ -2258,7 +2259,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"GroupName\":{\ \"shape\":\"GroupNameType\",\ @@ -2279,7 +2280,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ @@ -2387,7 +2388,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"UserAttributeNames\":{\ \"shape\":\"AttributeNameListType\",\ @@ -2415,7 +2416,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ }\ },\ \"documentation\":\"

Represents the request to delete a user as an administrator.

\"\ @@ -2455,7 +2456,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ }\ },\ \"documentation\":\"

Represents the request to disable the user as an administrator.

\"\ @@ -2479,7 +2480,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ }\ },\ \"documentation\":\"

Represents the request that enables the user as an administrator.

\"\ @@ -2504,7 +2505,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"DeviceKey\":{\ \"shape\":\"DeviceKeyType\",\ @@ -2531,7 +2532,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ }\ },\ \"documentation\":\"

Represents the request to get the device, as an administrator.

\"\ @@ -2560,7 +2561,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ }\ },\ \"documentation\":\"

Represents the request to get the specified user as an administrator.

\"\ @@ -2709,7 +2710,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"Limit\":{\ \"shape\":\"QueryLimitType\",\ @@ -2745,7 +2746,7 @@ - (NSString *)definitionString { \"members\":{\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"UserPoolId\":{\ \"shape\":\"UserPoolIdType\",\ @@ -2787,7 +2788,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"MaxResults\":{\ \"shape\":\"QueryLimitType\",\ @@ -2826,7 +2827,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"GroupName\":{\ \"shape\":\"GroupNameType\",\ @@ -2847,7 +2848,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"ClientMetadata\":{\ \"shape\":\"ClientMetadataType\",\ @@ -2944,7 +2945,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"UserPoolId\":{\ \"shape\":\"UserPoolIdType\",\ @@ -2971,7 +2972,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"Password\":{\ \"shape\":\"PasswordType\",\ @@ -3002,7 +3003,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"MFAOptions\":{\ \"shape\":\"MFAOptionListType\",\ @@ -3032,7 +3033,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"EventId\":{\ \"shape\":\"EventIdType\",\ @@ -3063,7 +3064,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"DeviceKey\":{\ \"shape\":\"DeviceKeyType\",\ @@ -3096,7 +3097,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"UserAttributes\":{\ \"shape\":\"AttributeListType\",\ @@ -3128,7 +3129,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ }\ },\ \"documentation\":\"

The request to sign out of all devices, as an administrator.

\"\ @@ -3688,7 +3689,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"ConfirmationCode\":{\ \"shape\":\"ConfirmationCodeType\",\ @@ -3737,7 +3738,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"ConfirmationCode\":{\ \"shape\":\"ConfirmationCodeType\",\ @@ -5026,7 +5027,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"AnalyticsMetadata\":{\ \"shape\":\"AnalyticsMetadataType\",\ @@ -6027,7 +6028,7 @@ - (NSString *)definitionString { },\ \"Filter\":{\ \"shape\":\"UserFilterType\",\ - \"documentation\":\"

A filter string of the form \\\"AttributeName Filter-Type \\\"AttributeValue\\\"\\\". Quotation marks within the filter string must be escaped using the backslash (\\\\) character. For example, \\\"family_name = \\\\\\\"Reddy\\\\\\\"\\\".

  • AttributeName: The name of the attribute to search for. You can only search for one attribute at a time.

  • Filter-Type: For an exact match, use =, for example, \\\"given_name = \\\\\\\"Jon\\\\\\\"\\\". For a prefix (\\\"starts with\\\") match, use ^=, for example, \\\"given_name ^= \\\\\\\"Jon\\\\\\\"\\\".

  • AttributeValue: The attribute value that must be matched for each user.

If the filter string is empty, ListUsers returns all users in the user pool.

You can only search for the following standard attributes:

  • username (case-sensitive)

  • email

  • phone_number

  • name

  • given_name

  • family_name

  • preferred_username

  • cognito:user_status (called Status in the Console) (case-insensitive)

  • status (called Enabled in the Console) (case-sensitive)

  • sub

Custom attributes aren't searchable.

You can also list users with a client-side filter. The server-side filter matches no more than one attribute. For an advanced search, use a client-side filter with the --query parameter of the list-users action in the CLI. When you use a client-side filter, ListUsers returns a paginated list of zero or more users. You can receive multiple pages in a row with zero results. Repeat the query with each pagination token that is returned until you receive a null pagination token value, and then review the combined result.

For more information about server-side and client-side filtering, see FilteringCLI output in the Command Line Interface User Guide.

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer Guide.

\"\ + \"documentation\":\"

A filter string of the form \\\"AttributeName Filter-Type \\\"AttributeValue\\\"\\\". Quotation marks within the filter string must be escaped using the backslash (\\\\) character. For example, \\\"family_name = \\\\\\\"Reddy\\\\\\\"\\\".

  • AttributeName: The name of the attribute to search for. You can only search for one attribute at a time.

  • Filter-Type: For an exact match, use =, for example, \\\"given_name = \\\\\\\"Jon\\\\\\\"\\\". For a prefix (\\\"starts with\\\") match, use ^=, for example, \\\"given_name ^= \\\\\\\"Jon\\\\\\\"\\\".

  • AttributeValue: The attribute value that must be matched for each user.

If the filter string is empty, ListUsers returns all users in the user pool.

You can only search for the following standard attributes:

  • username (case-sensitive)

  • email

  • phone_number

  • name

  • given_name

  • family_name

  • preferred_username

  • cognito:user_status (called Status in the Console) (case-insensitive)

  • status (called Enabled in the Console) (case-sensitive)

  • sub

Custom attributes aren't searchable.

You can also list users with a client-side filter. The server-side filter matches no more than one attribute. For an advanced search, use a client-side filter with the --query parameter of the list-users action in the CLI. When you use a client-side filter, ListUsers returns a paginated list of zero or more users. You can receive multiple pages in a row with zero results. Repeat the query with each pagination token that is returned until you receive a null pagination token value, and then review the combined result.

For more information about server-side and client-side filtering, see FilteringCLI output in the Command Line Interface User Guide.

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer Guide.

\"\ }\ },\ \"documentation\":\"

Represents the request to list users.

\"\ @@ -6242,7 +6243,7 @@ - (NSString *)definitionString { },\ \"MaxValue\":{\ \"shape\":\"StringType\",\ - \"documentation\":\"

The maximum value of an attribute that is of the number data type.

\"\ + \"documentation\":\"

The maximum length of a number attribute value. Must be a number less than or equal to 2^1023, represented as a string with a length of 131072 characters or fewer.

\"\ }\ },\ \"documentation\":\"

The minimum and maximum values of an attribute that is of the number data type.

\"\ @@ -6528,7 +6529,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"AnalyticsMetadata\":{\ \"shape\":\"AnalyticsMetadataType\",\ @@ -7300,7 +7301,7 @@ - (NSString *)definitionString { },\ \"MaxLength\":{\ \"shape\":\"StringType\",\ - \"documentation\":\"

The maximum length.

\"\ + \"documentation\":\"

The maximum length of a string attribute value. Must be a number less than or equal to 2^1023, represented as a string with a length of 131072 characters or fewer.

\"\ }\ },\ \"documentation\":\"

The constraints associated with a string attribute.

\"\ @@ -7531,7 +7532,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, you can also use their sub in this request.

\"\ + \"documentation\":\"

The username of the user that you want to query or modify. The value of this parameter is typically your user's username, but it can be any of their alias attributes. If username isn't an alias attribute in your user pool, this value must be the sub of a local user or the username of a user from a third-party IdP.

\"\ },\ \"EventId\":{\ \"shape\":\"EventIdType\",\ diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h index 07fe5d5a9bc..642d7e2a998 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h @@ -613,7 +613,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)adminRemoveUserFromGroup:(AWSCognitoIdentityProviderAdminRemoveUserFromGroupRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Resets the specified user's password in a user pool as an administrator. Works on any user.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode, you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

Deactivates a user's password, requiring them to change it. If a user tries to sign in after the API is called, Amazon Cognito responds with a PasswordResetRequiredException error. Your app must then perform the actions that reset your user's password: the forgot-password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

+

Resets the specified user's password in a user pool as an administrator. Works on any user.

To use this API operation, your user pool must have self-service account recovery configured. Use AdminSetUserPassword if you manage passwords as an administrator.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode, you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

Deactivates a user's password, requiring them to change it. If a user tries to sign in after the API is called, Amazon Cognito responds with a PasswordResetRequiredException error. Your app must then perform the actions that reset your user's password: the forgot-password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

@param request A container for the necessary parameters to execute the AdminResetUserPassword service method. @@ -625,7 +625,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)adminResetUserPassword:(AWSCognitoIdentityProviderAdminResetUserPasswordRequest *)request; /** -

Resets the specified user's password in a user pool as an administrator. Works on any user.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode, you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

Deactivates a user's password, requiring them to change it. If a user tries to sign in after the API is called, Amazon Cognito responds with a PasswordResetRequiredException error. Your app must then perform the actions that reset your user's password: the forgot-password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

+

Resets the specified user's password in a user pool as an administrator. Works on any user.

To use this API operation, your user pool must have self-service account recovery configured. Use AdminSetUserPassword if you manage passwords as an administrator.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode, you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

Deactivates a user's password, requiring them to change it. If a user tries to sign in after the API is called, Amazon Cognito responds with a PasswordResetRequiredException error. Your app must then perform the actions that reset your user's password: the forgot-password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

@param request A container for the necessary parameters to execute the AdminResetUserPassword service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1517,7 +1517,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)forgetDevice:(AWSCognitoIdentityProviderForgetDeviceRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

If neither a verified phone number nor a verified email exists, this API returns InvalidParameterException. If your app client has a client secret and you don't provide a SECRET_HASH parameter, this API returns NotAuthorizedException.

Amazon Cognito doesn't evaluate Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you can't use IAM credentials to authorize requests, and you can't grant IAM permissions in policies. For more information about authorization models in Amazon Cognito, see Using the Amazon Cognito user pools API and user pool endpoints.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode, you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

+

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

If neither a verified phone number nor a verified email exists, this API returns InvalidParameterException. If your app client has a client secret and you don't provide a SECRET_HASH parameter, this API returns NotAuthorizedException.

To use this API operation, your user pool must have self-service account recovery configured. Use AdminSetUserPassword if you manage passwords as an administrator.

Amazon Cognito doesn't evaluate Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you can't use IAM credentials to authorize requests, and you can't grant IAM permissions in policies. For more information about authorization models in Amazon Cognito, see Using the Amazon Cognito user pools API and user pool endpoints.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode, you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the ForgotPassword service method. @@ -1529,7 +1529,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)forgotPassword:(AWSCognitoIdentityProviderForgotPasswordRequest *)request; /** -

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

If neither a verified phone number nor a verified email exists, this API returns InvalidParameterException. If your app client has a client secret and you don't provide a SECRET_HASH parameter, this API returns NotAuthorizedException.

Amazon Cognito doesn't evaluate Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you can't use IAM credentials to authorize requests, and you can't grant IAM permissions in policies. For more information about authorization models in Amazon Cognito, see Using the Amazon Cognito user pools API and user pool endpoints.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode, you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

+

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. To use the confirmation code for resetting the password, call ConfirmForgotPassword.

If neither a verified phone number nor a verified email exists, this API returns InvalidParameterException. If your app client has a client secret and you don't provide a SECRET_HASH parameter, this API returns NotAuthorizedException.

To use this API operation, your user pool must have self-service account recovery configured. Use AdminSetUserPassword if you manage passwords as an administrator.

Amazon Cognito doesn't evaluate Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you can't use IAM credentials to authorize requests, and you can't grant IAM permissions in policies. For more information about authorization models in Amazon Cognito, see Using the Amazon Cognito user pools API and user pool endpoints.

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an origination phone number before you can send SMS messages to US phone numbers. If you use SMS text messages in Amazon Cognito, you must register a phone number with Amazon Pinpoint. Amazon Cognito uses the registered number automatically. Otherwise, Amazon Cognito users who must receive SMS messages might not be able to sign up, activate their accounts, or sign in.

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service might place your account in the SMS sandbox. In sandbox mode, you can send messages only to verified phone numbers. After you test your app while in the sandbox environment, you can move out of the sandbox and into production. For more information, see SMS message settings for Amazon Cognito user pools in the Amazon Cognito Developer Guide.

@param request A container for the necessary parameters to execute the ForgotPassword service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2271,7 +2271,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; @param request A container for the necessary parameters to execute the SetUserPoolMfaConfig service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderSetUserPoolMfaConfigResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderSetUserPoolMfaConfigResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorConcurrentModification`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. @see AWSCognitoIdentityProviderSetUserPoolMfaConfigRequest @see AWSCognitoIdentityProviderSetUserPoolMfaConfigResponse @@ -2284,7 +2284,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; @param request A container for the necessary parameters to execute the SetUserPoolMfaConfig service method. @param completionHandler The completion handler to call when the load request is complete. `response` - A response object, or `nil` if the request failed. - `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorConcurrentModification`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. @see AWSCognitoIdentityProviderSetUserPoolMfaConfigRequest @see AWSCognitoIdentityProviderSetUserPoolMfaConfigResponse From ba3ef7cdc9e7de23fb312f368ec6d7fba2edcb0c Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:15:06 -0400 Subject: [PATCH 09/15] feat(AWSElasticLoadBalancingv2): update models to latest (#5238) --- AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h | 2 +- AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h index 3bf667eb70e..506a20fa3b4 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h @@ -2061,7 +2061,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTrustStoreStatus) { /** -

The name of the attribute.

The following attributes are supported by all load balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • connection_logs.s3.enabled - Indicates whether connection logs are enabled. The value is true or false. The default is false.

  • connection_logs.s3.bucket - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • connection_logs.s3.prefix - The prefix for the location in the S3 bucket for the connection logs.

  • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

  • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

  • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

  • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

  • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

  • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

    • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

    • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

    • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

  • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

The following attributes are supported by only Network Load Balancers:

  • dns_record.client_routing_policy - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are availability_zone_affinity with 100 percent zonal affinity, partial_availability_zone_affinity with 85 percent zonal affinity, and any_availability_zone with 0 percent zonal affinity.

+

The name of the attribute.

The following attributes are supported by all load balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • client_keep_alive.seconds - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.

  • connection_logs.s3.enabled - Indicates whether connection logs are enabled. The value is true or false. The default is false.

  • connection_logs.s3.bucket - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • connection_logs.s3.prefix - The prefix for the location in the S3 bucket for the connection logs.

  • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

  • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

  • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

  • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

  • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

  • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

    • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

    • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

    • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

  • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

The following attributes are supported by only Network Load Balancers:

  • dns_record.client_routing_policy - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are availability_zone_affinity with 100 percent zonal affinity, partial_availability_zone_affinity with 85 percent zonal affinity, and any_availability_zone with 0 percent zonal affinity.

*/ @property (nonatomic, strong) NSString * _Nullable key; diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m index 4de2428de6d..4e3c5901e86 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m @@ -2698,7 +2698,7 @@ - (NSString *)definitionString { \"members\":{\ \"Key\":{\ \"shape\":\"LoadBalancerAttributeKey\",\ - \"documentation\":\"

The name of the attribute.

The following attributes are supported by all load balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • connection_logs.s3.enabled - Indicates whether connection logs are enabled. The value is true or false. The default is false.

  • connection_logs.s3.bucket - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • connection_logs.s3.prefix - The prefix for the location in the S3 bucket for the connection logs.

  • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

  • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

  • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

  • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

  • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

  • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

    • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

    • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

    • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

  • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

The following attributes are supported by only Network Load Balancers:

  • dns_record.client_routing_policy - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are availability_zone_affinity with 100 percent zonal affinity, partial_availability_zone_affinity with 85 percent zonal affinity, and any_availability_zone with 0 percent zonal affinity.

\"\ + \"documentation\":\"

The name of the attribute.

The following attributes are supported by all load balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • client_keep_alive.seconds - The client keep alive value, in seconds. The valid range is 60-604800 seconds. The default is 3600 seconds.

  • connection_logs.s3.enabled - Indicates whether connection logs are enabled. The value is true or false. The default is false.

  • connection_logs.s3.bucket - The name of the S3 bucket for the connection logs. This attribute is required if connection logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • connection_logs.s3.prefix - The prefix for the location in the S3 bucket for the connection logs.

  • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

  • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

  • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

  • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

  • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

  • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

    • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

    • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

    • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

  • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

The following attributes are supported by only Network Load Balancers:

  • dns_record.client_routing_policy - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are availability_zone_affinity with 100 percent zonal affinity, partial_availability_zone_affinity with 85 percent zonal affinity, and any_availability_zone with 0 percent zonal affinity.

\"\ },\ \"Value\":{\ \"shape\":\"LoadBalancerAttributeValue\",\ From 2697359e6cb383caa7813de5687139e9f525c67a Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:16:57 -0400 Subject: [PATCH 10/15] feat(AWSCloudWatchLogs): update models to latest (#5249) --- AWSLogs/AWSLogs.h | 2 +- AWSLogs/AWSLogsModel.h | 251 ++++++++++++++-- AWSLogs/AWSLogsModel.m | 178 ++++++++++- AWSLogs/AWSLogsResources.h | 2 +- AWSLogs/AWSLogsResources.m | 277 ++++++++++++++++-- AWSLogs/AWSLogsService.h | 42 +-- AWSLogs/AWSLogsService.m | 2 +- AWSLogsUnitTests/AWSGeneralLogsTests.m | 2 +- AWSLogsUnitTests/AWSLogsNSSecureCodingTests.m | 42 ++- 9 files changed, 723 insertions(+), 75 deletions(-) diff --git a/AWSLogs/AWSLogs.h b/AWSLogs/AWSLogs.h index 03f9dc3139b..ee75149b30d 100644 --- a/AWSLogs/AWSLogs.h +++ b/AWSLogs/AWSLogs.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/AWSLogs/AWSLogsModel.h b/AWSLogs/AWSLogsModel.h index aa8b6dd5270..4d95ef0b4ed 100644 --- a/AWSLogs/AWSLogsModel.h +++ b/AWSLogs/AWSLogsModel.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -36,6 +36,8 @@ typedef NS_ENUM(NSInteger, AWSLogsErrorType) { AWSLogsErrorResourceNotFound, AWSLogsErrorServiceQuotaExceeded, AWSLogsErrorServiceUnavailable, + AWSLogsErrorSessionStreaming, + AWSLogsErrorSessionTimeout, AWSLogsErrorThrottling, AWSLogsErrorTooManyTags, AWSLogsErrorUnrecognizedClient, @@ -122,6 +124,7 @@ typedef NS_ENUM(NSInteger, AWSLogsOutputFormat) { typedef NS_ENUM(NSInteger, AWSLogsPolicyType) { AWSLogsPolicyTypeUnknown, AWSLogsPolicyTypeDataProtectionPolicy, + AWSLogsPolicyTypeSubscriptionFilterPolicy, }; typedef NS_ENUM(NSInteger, AWSLogsQueryStatus) { @@ -292,6 +295,11 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @class AWSLogsListTagsForResourceResponse; @class AWSLogsListTagsLogGroupRequest; @class AWSLogsListTagsLogGroupResponse; +@class AWSLogsLiveTailSessionLogEvent; +@class AWSLogsLiveTailSessionMetadata; +@class AWSLogsLiveTailSessionStart; +@class AWSLogsLiveTailSessionUpdate; +@class AWSLogsLogEvent; @class AWSLogsLogGroup; @class AWSLogsLogGroupField; @class AWSLogsLogStream; @@ -332,6 +340,9 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @class AWSLogsResourcePolicy; @class AWSLogsResultField; @class AWSLogsSearchedLogStream; +@class AWSLogsStartLiveTailRequest; +@class AWSLogsStartLiveTailResponse; +@class AWSLogsStartLiveTailResponseStream; @class AWSLogsStartQueryRequest; @class AWSLogsStartQueryResponse; @class AWSLogsStopQueryRequest; @@ -383,6 +394,11 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { */ @property (nonatomic, assign) AWSLogsScope scope; +/** +

The log group selection criteria for this subscription filter policy.

+ */ +@property (nonatomic, strong) NSString * _Nullable selectionCriteria; + @end /** @@ -440,7 +456,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { /**

An array of sample log event messages that are considered to be part of this anomaly.

*/ -@property (nonatomic, strong) NSArray * _Nullable logSamples; +@property (nonatomic, strong) NSArray * _Nullable logSamples; /**

The ID of the pattern used to help identify this anomaly.

@@ -707,7 +723,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @property (nonatomic, strong) NSString * _Nullable kmsKeyId; /** -

An array containing the ARNs of the log groups that this anomaly detector will watch. You must specify at least one ARN.

+

An array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN.

*/ @property (nonatomic, strong) NSArray * _Nullable logGroupArnList; @@ -743,7 +759,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @property (nonatomic, strong) NSString * _Nullable kmsKeyId; /** -

Use this parameter to specify the log group class for this log group. There are two classes:

  • The Standard log class supports all CloudWatch Logs features.

  • The Infrequent Access log class supports a subset of CloudWatch Logs features and incurs lower costs.

If you omit this parameter, the default of STANDARD is used.

For details about the features supported by each class, see Log classes

+

Use this parameter to specify the log group class for this log group. There are two classes:

  • The Standard log class supports all CloudWatch Logs features.

  • The Infrequent Access log class supports a subset of CloudWatch Logs features and incurs lower costs.

If you omit this parameter, the default of STANDARD is used.

The value of logGroupClass can't be changed after a log group is created.

For details about the features supported by each class, see Log classes

*/ @property (nonatomic, assign) AWSLogsLogGroupClass logGroupClass; @@ -789,7 +805,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @property (nonatomic, strong) NSString * _Nullable policyName; /** -

The type of policy to delete. Currently, the only valid value is DATA_PROTECTION_POLICY.

+

The type of policy to delete.

*/ @property (nonatomic, assign) AWSLogsPolicyType policyType; @@ -1022,7 +1038,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @property (nonatomic, strong) NSString * _Nullable deliveryDestinationArn; /** -

Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

+

Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Firehose.

*/ @property (nonatomic, assign) AWSLogsDeliveryDestinationType deliveryDestinationType; @@ -1044,7 +1060,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @end /** -

This structure contains information about one delivery destination in your account. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

+

This structure contains information about one delivery destination in your account. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Firehose delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

*/ @interface AWSLogsDeliveryDestination : AWSModel @@ -1060,7 +1076,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @property (nonatomic, strong) AWSLogsDeliveryDestinationConfiguration * _Nullable deliveryDestinationConfiguration; /** -

Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

+

Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Firehose.

*/ @property (nonatomic, assign) AWSLogsDeliveryDestinationType deliveryDestinationType; @@ -1089,14 +1105,14 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { /** -

The ARN of the Amazon Web Services destination that this delivery destination represents. That Amazon Web Services destination can be a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

+

The ARN of the Amazon Web Services destination that this delivery destination represents. That Amazon Web Services destination can be a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Firehose.

*/ @property (nonatomic, strong) NSString * _Nullable destinationResourceArn; @end /** -

This structure contains information about one delivery source in your account. A delivery source is an Amazon Web Services resource that sends logs to an Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

+

This structure contains information about one delivery source in your account. A delivery source is an Amazon Web Services resource that sends logs to an Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

*/ @interface AWSLogsDeliverySource : AWSModel @@ -1150,7 +1166,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @property (nonatomic, strong) NSString * _Nullable policyName; /** -

Use this parameter to limit the returned policies to only the policies that match the policy type that you specify. Currently, the only valid value is DATA_PROTECTION_POLICY.

+

Use this parameter to limit the returned policies to only the policies that match the policy type that you specify.

*/ @property (nonatomic, assign) AWSLogsPolicyType policyType; @@ -2523,6 +2539,126 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @end +/** +

This object contains the information for one log event returned in a Live Tail stream.

+ */ +@interface AWSLogsLiveTailSessionLogEvent : AWSModel + + +/** +

The timestamp specifying when this log event was ingested into the log group.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable ingestionTime; + +/** +

The name or ARN of the log group that ingested this log event.

+ */ +@property (nonatomic, strong) NSString * _Nullable logGroupIdentifier; + +/** +

The name of the log stream that ingested this log event.

+ */ +@property (nonatomic, strong) NSString * _Nullable logStreamName; + +/** +

The log event message text.

+ */ +@property (nonatomic, strong) NSString * _Nullable message; + +/** +

The timestamp specifying when this log event was created.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable timestamp; + +@end + +/** +

This object contains the metadata for one LiveTailSessionUpdate structure. It indicates whether that update includes only a sample of 500 log events out of a larger number of ingested log events, or if it contains all of the matching log events ingested during that second of time.

+ */ +@interface AWSLogsLiveTailSessionMetadata : AWSModel + + +/** +

If this is true, then more than 500 log events matched the request for this update, and the sessionResults includes a sample of 500 of those events.

If this is false, then 500 or fewer log events matched the request for this update, so no sampling was necessary. In this case, the sessionResults array includes all log events that matched your request during this time.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable sampled; + +@end + +/** +

This object contains information about this Live Tail session, including the log groups included and the log stream filters, if any.

+ */ +@interface AWSLogsLiveTailSessionStart : AWSModel + + +/** +

An optional pattern to filter the results to include only log events that match the pattern. For example, a filter pattern of error 404 displays only log events that include both error and 404.

For more information about filter pattern syntax, see Filter and Pattern Syntax.

+ */ +@property (nonatomic, strong) NSString * _Nullable logEventFilterPattern; + +/** +

An array of the names and ARNs of the log groups included in this Live Tail session.

+ */ +@property (nonatomic, strong) NSArray * _Nullable logGroupIdentifiers; + +/** +

If your StartLiveTail operation request included a logStreamNamePrefixes parameter that filtered the session to only include log streams that have names that start with certain prefixes, these prefixes are listed here.

+ */ +@property (nonatomic, strong) NSArray * _Nullable logStreamNamePrefixes; + +/** +

If your StartLiveTail operation request included a logStreamNames parameter that filtered the session to only include certain log streams, these streams are listed here.

+ */ +@property (nonatomic, strong) NSArray * _Nullable logStreamNames; + +/** +

The unique ID generated by CloudWatch Logs to identify this Live Tail session request.

+ */ +@property (nonatomic, strong) NSString * _Nullable requestId; + +/** +

The unique ID generated by CloudWatch Logs to identify this Live Tail session.

+ */ +@property (nonatomic, strong) NSString * _Nullable sessionId; + +@end + +/** +

This object contains the log events and metadata for a Live Tail session.

+ */ +@interface AWSLogsLiveTailSessionUpdate : AWSModel + + +/** +

This object contains the session metadata for a Live Tail session.

+ */ +@property (nonatomic, strong) AWSLogsLiveTailSessionMetadata * _Nullable sessionMetadata; + +/** +

An array, where each member of the array includes the information for one log event in the Live Tail session.

A sessionResults array can include as many as 500 log events. If the number of log events matching the request exceeds 500 per second, the log events are sampled down to 500 log events to be included in each sessionUpdate structure.

+ */ +@property (nonatomic, strong) NSArray * _Nullable sessionResults; + +@end + +/** +

This structure contains the information for one sample log event that is associated with an anomaly found by a log anomaly detector.

+ */ +@interface AWSLogsLogEvent : AWSModel + + +/** +

The message content of the log event.

+ */ +@property (nonatomic, strong) NSString * _Nullable message; + +/** +

The time stamp of the log event.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable timestamp; + +@end + /**

Represents a log group.

*/ @@ -2530,7 +2666,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { /** -

The Amazon Resource Name (ARN) of the log group.

+

The Amazon Resource Name (ARN) of the log group. This version of the ARN includes a trailing :* after the log group name.

Use this version to refer to the ARN in IAM policies when specifying permissions for most API actions. The exception is when specifying permissions for TagResource, UntagResource, and ListTagsForResource. The permissions for those three actions require the ARN version that doesn't include a trailing :*.

*/ @property (nonatomic, strong) NSString * _Nullable arn; @@ -2554,6 +2690,11 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { */ @property (nonatomic, strong) NSString * _Nullable kmsKeyId; +/** +

The Amazon Resource Name (ARN) of the log group. This version of the ARN doesn't include a trailing :* after the log group name.

Use this version to refer to the ARN in the following situations:

+ */ +@property (nonatomic, strong) NSString * _Nullable logGroupArn; + /**

This specifies the log group class for this log group. There are two classes:

  • The Standard log class supports all CloudWatch Logs features.

  • The Infrequent Access log class supports a subset of CloudWatch Logs features and incurs lower costs.

For details about the features supported by each class, see Log classes

*/ @@ -2813,7 +2954,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { /** -

Specify the data protection policy, in JSON.

This policy must include two JSON blocks:

  • The first block must include both a DataIdentifer array and an Operation property with an Audit action. The DataIdentifer array lists the types of sensitive data that you want to mask. For more information about the available options, see Types of data that you can mask.

    The Operation property with an Audit action is required to find the sensitive data terms. This Audit action must contain a FindingsDestination object. You can optionally use that FindingsDestination object to list one or more destinations to send audit findings to. If you specify destinations such as log groups, Kinesis Data Firehose streams, and S3 buckets, they must already exist.

  • The second block must include both a DataIdentifer array and an Operation property with an Deidentify action. The DataIdentifer array must exactly match the DataIdentifer array in the first block of the policy.

    The Operation property with the Deidentify action is what actually masks the data, and it must contain the "MaskConfig": {} object. The "MaskConfig": {} object must be empty.

For an example data protection policy, see the Examples section on this page.

The contents of the two DataIdentifer arrays must match exactly.

In addition to the two JSON blocks, the policyDocument can also include Name, Description, and Version fields. The Name is different than the operation's policyName parameter, and is used as a dimension when CloudWatch Logs reports audit findings metrics to CloudWatch.

The JSON specified in policyDocument can be up to 30,720 characters.

+

Specify the policy, in JSON.

Data protection policy

A data protection policy must include two JSON blocks:

  • The first block must include both a DataIdentifer array and an Operation property with an Audit action. The DataIdentifer array lists the types of sensitive data that you want to mask. For more information about the available options, see Types of data that you can mask.

    The Operation property with an Audit action is required to find the sensitive data terms. This Audit action must contain a FindingsDestination object. You can optionally use that FindingsDestination object to list one or more destinations to send audit findings to. If you specify destinations such as log groups, Firehose streams, and S3 buckets, they must already exist.

  • The second block must include both a DataIdentifer array and an Operation property with an Deidentify action. The DataIdentifer array must exactly match the DataIdentifer array in the first block of the policy.

    The Operation property with the Deidentify action is what actually masks the data, and it must contain the "MaskConfig": {} object. The "MaskConfig": {} object must be empty.

For an example data protection policy, see the Examples section on this page.

The contents of the two DataIdentifer arrays must match exactly.

In addition to the two JSON blocks, the policyDocument can also include Name, Description, and Version fields. The Name is different than the operation's policyName parameter, and is used as a dimension when CloudWatch Logs reports audit findings metrics to CloudWatch.

The JSON specified in policyDocument can be up to 30,720 characters long.

Subscription filter policy

A subscription filter policy can include the following attributes in a JSON block:

  • DestinationArn The ARN of the destination to deliver log events to. Supported destinations are:

    • An Kinesis Data Streams data stream in the same account as the subscription policy, for same-account delivery.

    • An Firehose data stream in the same account as the subscription policy, for same-account delivery.

    • A Lambda function in the same account as the subscription policy, for same-account delivery.

    • A logical destination in a different account created with PutDestination, for cross-account delivery. Kinesis Data Streams and Firehose are supported as logical destinations.

  • RoleArn The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.

  • FilterPattern A filter pattern for subscribing to a filtered stream of log events.

  • DistributionThe method used to distribute log data to the destination. By default, log data is grouped by log stream, but the grouping can be set to Random for a more even distribution. This property is only applicable when the destination is an Kinesis Data Streams data stream.

*/ @property (nonatomic, strong) NSString * _Nullable policyDocument; @@ -2823,7 +2964,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @property (nonatomic, strong) NSString * _Nullable policyName; /** -

Currently the only valid value for this parameter is DATA_PROTECTION_POLICY.

+

The type of policy that you're creating or updating.

*/ @property (nonatomic, assign) AWSLogsPolicyType policyType; @@ -2832,6 +2973,11 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { */ @property (nonatomic, assign) AWSLogsScope scope; +/** +

Use this parameter to apply the subscription filter policy to a subset of log groups in the account. Currently, the only supported filter is LogGroupName NOT IN []. The selectionCriteria string can be up to 25KB in length. The length is determined by using its UTF-8 bytes.

Using the selectionCriteria parameter is useful to help prevent infinite loops. For more information, see Log recursion prevention.

Specifing selectionCriteria is valid only when you specify SUBSCRIPTION_FILTER_POLICY for policyType.

+ */ +@property (nonatomic, strong) NSString * _Nullable selectionCriteria; + @end /** @@ -2859,7 +3005,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @property (nonatomic, strong) NSString * _Nullable logGroupIdentifier; /** -

Specify the data protection policy, in JSON.

This policy must include two JSON blocks:

  • The first block must include both a DataIdentifer array and an Operation property with an Audit action. The DataIdentifer array lists the types of sensitive data that you want to mask. For more information about the available options, see Types of data that you can mask.

    The Operation property with an Audit action is required to find the sensitive data terms. This Audit action must contain a FindingsDestination object. You can optionally use that FindingsDestination object to list one or more destinations to send audit findings to. If you specify destinations such as log groups, Kinesis Data Firehose streams, and S3 buckets, they must already exist.

  • The second block must include both a DataIdentifer array and an Operation property with an Deidentify action. The DataIdentifer array must exactly match the DataIdentifer array in the first block of the policy.

    The Operation property with the Deidentify action is what actually masks the data, and it must contain the "MaskConfig": {} object. The "MaskConfig": {} object must be empty.

For an example data protection policy, see the Examples section on this page.

The contents of the two DataIdentifer arrays must match exactly.

In addition to the two JSON blocks, the policyDocument can also include Name, Description, and Version fields. The Name is used as a dimension when CloudWatch Logs reports audit findings metrics to CloudWatch.

The JSON specified in policyDocument can be up to 30,720 characters.

+

Specify the data protection policy, in JSON.

This policy must include two JSON blocks:

  • The first block must include both a DataIdentifer array and an Operation property with an Audit action. The DataIdentifer array lists the types of sensitive data that you want to mask. For more information about the available options, see Types of data that you can mask.

    The Operation property with an Audit action is required to find the sensitive data terms. This Audit action must contain a FindingsDestination object. You can optionally use that FindingsDestination object to list one or more destinations to send audit findings to. If you specify destinations such as log groups, Firehose streams, and S3 buckets, they must already exist.

  • The second block must include both a DataIdentifer array and an Operation property with an Deidentify action. The DataIdentifer array must exactly match the DataIdentifer array in the first block of the policy.

    The Operation property with the Deidentify action is what actually masks the data, and it must contain the "MaskConfig": {} object. The "MaskConfig": {} object must be empty.

For an example data protection policy, see the Examples section on this page.

The contents of the two DataIdentifer arrays must match exactly.

In addition to the two JSON blocks, the policyDocument can also include Name, Description, and Version fields. The Name is used as a dimension when CloudWatch Logs reports audit findings metrics to CloudWatch.

The JSON specified in policyDocument can be up to 30,720 characters.

*/ @property (nonatomic, strong) NSString * _Nullable policyDocument; @@ -2967,7 +3113,7 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { /** -

Defines the type of log that the source is sending. For valid values for this parameter, see the documentation for the source service.

+

Defines the type of log that the source is sending.

  • For Amazon CodeWhisperer, the valid value is EVENT_LOGS.

  • For IAM Identity Centerr, the valid value is ERROR_LOGS.

  • For Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, and WORKMAIL_MAILBOX_ACCESS_LOGS.

*/ @property (nonatomic, strong) NSString * _Nullable logType; @@ -3409,12 +3555,12 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @property (nonatomic, strong) NSNumber * _Nullable expiredLogEventEndIndex; /** -

The log events that are too new.

+

The index of the first log event that is too new. This field is inclusive.

*/ @property (nonatomic, strong) NSNumber * _Nullable tooNewLogEventStartIndex; /** -

The log events that are dated too far in the past.

+

The index of the last log event that is too old. This field is exclusive.

*/ @property (nonatomic, strong) NSNumber * _Nullable tooOldLogEventEndIndex; @@ -3479,6 +3625,75 @@ typedef NS_ENUM(NSInteger, AWSLogsSuppressionUnit) { @end +/** + + */ +@interface AWSLogsStartLiveTailRequest : AWSModel + + +/** +

An optional pattern to use to filter the results to include only log events that match the pattern. For example, a filter pattern of error 404 causes only log events that include both error and 404 to be included in the Live Tail stream.

Regular expression filter patterns are supported.

For more information about filter pattern syntax, see Filter and Pattern Syntax.

+ */ +@property (nonatomic, strong) NSString * _Nullable logEventFilterPattern; + +/** +

An array where each item in the array is a log group to include in the Live Tail session.

Specify each log group by its ARN.

If you specify an ARN, the ARN can't end with an asterisk (*).

You can include up to 10 log groups.

+ */ +@property (nonatomic, strong) NSArray * _Nullable logGroupIdentifiers; + +/** +

If you specify this parameter, then only log events in the log streams that have names that start with the prefixes that you specify here are included in the Live Tail session.

If you specify this field, you can't also specify the logStreamNames field.

You can specify this parameter only if you specify only one log group in logGroupIdentifiers.

+ */ +@property (nonatomic, strong) NSArray * _Nullable logStreamNamePrefixes; + +/** +

If you specify this parameter, then only log events in the log streams that you specify here are included in the Live Tail session.

If you specify this field, you can't also specify the logStreamNamePrefixes field.

You can specify this parameter only if you specify only one log group in logGroupIdentifiers.

+ */ +@property (nonatomic, strong) NSArray * _Nullable logStreamNames; + +@end + +/** + + */ +@interface AWSLogsStartLiveTailResponse : AWSModel + + +/** +

An object that includes the stream returned by your request. It can include both log events and exceptions.

+ */ +@property (nonatomic, strong) AWSLogsStartLiveTailResponseStream * _Nullable responseStream; + +@end + +/** +

This object includes the stream returned by your StartLiveTail request.

+ */ +@interface AWSLogsStartLiveTailResponseStream : AWSModel + + +/** +

This exception is returned if an unknown error occurs.

+ */ +@property (nonatomic, strong) NSError * _Nullable sessionStreamingException; + +/** +

This exception is returned in the stream when the Live Tail session times out. Live Tail sessions time out after three hours.

+ */ +@property (nonatomic, strong) NSError * _Nullable sessionTimeoutException; + +/** +

This object contains information about this Live Tail session, including the log groups included and the log stream filters, if any.

+ */ +@property (nonatomic, strong) AWSLogsLiveTailSessionStart * _Nullable sessionStart; + +/** +

This object contains the log events and session metadata.

+ */ +@property (nonatomic, strong) AWSLogsLiveTailSessionUpdate * _Nullable sessionUpdate; + +@end + /** */ diff --git a/AWSLogs/AWSLogsModel.m b/AWSLogs/AWSLogsModel.m index 84db6f92895..a705d97ea6f 100644 --- a/AWSLogs/AWSLogsModel.m +++ b/AWSLogs/AWSLogsModel.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -32,6 +32,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"policyName" : @"policyName", @"policyType" : @"policyType", @"scope" : @"scope", + @"selectionCriteria" : @"selectionCriteria", }; } @@ -40,11 +41,16 @@ + (NSValueTransformer *)policyTypeJSONTransformer { if ([value caseInsensitiveCompare:@"DATA_PROTECTION_POLICY"] == NSOrderedSame) { return @(AWSLogsPolicyTypeDataProtectionPolicy); } + if ([value caseInsensitiveCompare:@"SUBSCRIPTION_FILTER_POLICY"] == NSOrderedSame) { + return @(AWSLogsPolicyTypeSubscriptionFilterPolicy); + } return @(AWSLogsPolicyTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSLogsPolicyTypeDataProtectionPolicy: return @"DATA_PROTECTION_POLICY"; + case AWSLogsPolicyTypeSubscriptionFilterPolicy: + return @"SUBSCRIPTION_FILTER_POLICY"; default: return nil; } @@ -99,6 +105,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)logSamplesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSLogsLogEvent class]]; +} + + (NSValueTransformer *)patternTokensJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSLogsPatternToken class]]; } @@ -480,11 +490,16 @@ + (NSValueTransformer *)policyTypeJSONTransformer { if ([value caseInsensitiveCompare:@"DATA_PROTECTION_POLICY"] == NSOrderedSame) { return @(AWSLogsPolicyTypeDataProtectionPolicy); } + if ([value caseInsensitiveCompare:@"SUBSCRIPTION_FILTER_POLICY"] == NSOrderedSame) { + return @(AWSLogsPolicyTypeSubscriptionFilterPolicy); + } return @(AWSLogsPolicyTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSLogsPolicyTypeDataProtectionPolicy: return @"DATA_PROTECTION_POLICY"; + case AWSLogsPolicyTypeSubscriptionFilterPolicy: + return @"SUBSCRIPTION_FILTER_POLICY"; default: return nil; } @@ -888,11 +903,16 @@ + (NSValueTransformer *)policyTypeJSONTransformer { if ([value caseInsensitiveCompare:@"DATA_PROTECTION_POLICY"] == NSOrderedSame) { return @(AWSLogsPolicyTypeDataProtectionPolicy); } + if ([value caseInsensitiveCompare:@"SUBSCRIPTION_FILTER_POLICY"] == NSOrderedSame) { + return @(AWSLogsPolicyTypeSubscriptionFilterPolicy); + } return @(AWSLogsPolicyTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSLogsPolicyTypeDataProtectionPolicy: return @"DATA_PROTECTION_POLICY"; + case AWSLogsPolicyTypeSubscriptionFilterPolicy: + return @"SUBSCRIPTION_FILTER_POLICY"; default: return nil; } @@ -2304,6 +2324,95 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSLogsLiveTailSessionLogEvent + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"ingestionTime" : @"ingestionTime", + @"logGroupIdentifier" : @"logGroupIdentifier", + @"logStreamName" : @"logStreamName", + @"message" : @"message", + @"timestamp" : @"timestamp", + }; +} + +@end + +@implementation AWSLogsLiveTailSessionMetadata + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"sampled" : @"sampled", + }; +} + +@end + +@implementation AWSLogsLiveTailSessionStart + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"logEventFilterPattern" : @"logEventFilterPattern", + @"logGroupIdentifiers" : @"logGroupIdentifiers", + @"logStreamNamePrefixes" : @"logStreamNamePrefixes", + @"logStreamNames" : @"logStreamNames", + @"requestId" : @"requestId", + @"sessionId" : @"sessionId", + }; +} + +@end + +@implementation AWSLogsLiveTailSessionUpdate + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"sessionMetadata" : @"sessionMetadata", + @"sessionResults" : @"sessionResults", + }; +} + ++ (NSValueTransformer *)sessionMetadataJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLogsLiveTailSessionMetadata class]]; +} + ++ (NSValueTransformer *)sessionResultsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSLogsLiveTailSessionLogEvent class]]; +} + +@end + +@implementation AWSLogsLogEvent + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"message" : @"message", + @"timestamp" : @"timestamp", + }; +} + +@end + @implementation AWSLogsLogGroup + (BOOL)supportsSecureCoding { @@ -2317,6 +2426,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"dataProtectionStatus" : @"dataProtectionStatus", @"inheritedProperties" : @"inheritedProperties", @"kmsKeyId" : @"kmsKeyId", + @"logGroupArn" : @"logGroupArn", @"logGroupClass" : @"logGroupClass", @"logGroupName" : @"logGroupName", @"metricFilterCount" : @"metricFilterCount", @@ -2677,6 +2787,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"policyName" : @"policyName", @"policyType" : @"policyType", @"scope" : @"scope", + @"selectionCriteria" : @"selectionCriteria", }; } @@ -2685,11 +2796,16 @@ + (NSValueTransformer *)policyTypeJSONTransformer { if ([value caseInsensitiveCompare:@"DATA_PROTECTION_POLICY"] == NSOrderedSame) { return @(AWSLogsPolicyTypeDataProtectionPolicy); } + if ([value caseInsensitiveCompare:@"SUBSCRIPTION_FILTER_POLICY"] == NSOrderedSame) { + return @(AWSLogsPolicyTypeSubscriptionFilterPolicy); + } return @(AWSLogsPolicyTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSLogsPolicyTypeDataProtectionPolicy: return @"DATA_PROTECTION_POLICY"; + case AWSLogsPolicyTypeSubscriptionFilterPolicy: + return @"SUBSCRIPTION_FILTER_POLICY"; default: return nil; } @@ -3332,6 +3448,66 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSLogsStartLiveTailRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"logEventFilterPattern" : @"logEventFilterPattern", + @"logGroupIdentifiers" : @"logGroupIdentifiers", + @"logStreamNamePrefixes" : @"logStreamNamePrefixes", + @"logStreamNames" : @"logStreamNames", + }; +} + +@end + +@implementation AWSLogsStartLiveTailResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"responseStream" : @"responseStream", + }; +} + ++ (NSValueTransformer *)responseStreamJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLogsStartLiveTailResponseStream class]]; +} + +@end + +@implementation AWSLogsStartLiveTailResponseStream + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"sessionStreamingException" : @"SessionStreamingException", + @"sessionTimeoutException" : @"SessionTimeoutException", + @"sessionStart" : @"sessionStart", + @"sessionUpdate" : @"sessionUpdate", + }; +} + ++ (NSValueTransformer *)sessionStartJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLogsLiveTailSessionStart class]]; +} + ++ (NSValueTransformer *)sessionUpdateJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLogsLiveTailSessionUpdate class]]; +} + +@end + @implementation AWSLogsStartQueryRequest + (BOOL)supportsSecureCoding { diff --git a/AWSLogs/AWSLogsResources.h b/AWSLogs/AWSLogsResources.h index 7093a05b711..05c17efadaa 100644 --- a/AWSLogs/AWSLogsResources.h +++ b/AWSLogs/AWSLogsResources.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/AWSLogs/AWSLogsResources.m b/AWSLogs/AWSLogsResources.m index edd0d3095ba..87127b519a3 100644 --- a/AWSLogs/AWSLogsResources.m +++ b/AWSLogs/AWSLogsResources.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -117,7 +117,7 @@ - (NSString *)definitionString { {\"shape\":\"ServiceQuotaExceededException\"},\ {\"shape\":\"ThrottlingException\"}\ ],\ - \"documentation\":\"

Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

You can't update an existing delivery. You can only create and delete deliveries.

\"\ + \"documentation\":\"

Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Firehose.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

You can't update an existing delivery. You can only create and delete deliveries.

\"\ },\ \"CreateExportTask\":{\ \"name\":\"CreateExportTask\",\ @@ -168,7 +168,7 @@ - (NSString *)definitionString { {\"shape\":\"OperationAbortedException\"},\ {\"shape\":\"ServiceUnavailableException\"}\ ],\ - \"documentation\":\"

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

\"\ + \"documentation\":\"

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

  • Log group names can't start with the string aws/

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

\"\ },\ \"CreateLogStream\":{\ \"name\":\"CreateLogStream\",\ @@ -198,7 +198,7 @@ - (NSString *)definitionString { {\"shape\":\"ServiceUnavailableException\"},\ {\"shape\":\"OperationAbortedException\"}\ ],\ - \"documentation\":\"

Deletes a CloudWatch Logs account policy.

To use this operation, you must be signed on with the logs:DeleteDataProtectionPolicy and logs:DeleteAccountPolicy permissions.

\"\ + \"documentation\":\"

Deletes a CloudWatch Logs account policy. This stops the policy from applying to all log groups or a subset of log groups in the account. Log-group level policies will still be in effect.

To use this operation, you must be signed on with the correct permissions depending on the type of policy that you are deleting.

  • To delete a data protection policy, you must have the logs:DeleteDataProtectionPolicy and logs:DeleteAccountPolicy permissions.

  • To delete a subscription filter policy, you must have the logs:DeleteSubscriptionFilter and logs:DeleteAccountPolicy permissions.

\"\ },\ \"DeleteDataProtectionPolicy\":{\ \"name\":\"DeleteDataProtectionPolicy\",\ @@ -445,7 +445,7 @@ - (NSString *)definitionString { {\"shape\":\"ValidationException\"},\ {\"shape\":\"ThrottlingException\"}\ ],\ - \"documentation\":\"

Retrieves a list of the deliveries that have been created in the account.

\"\ + \"documentation\":\"

Retrieves a list of the deliveries that have been created in the account.

A delivery is a connection between a delivery source and a delivery destination .

A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose. Only some Amazon Web Services services support being configured as a delivery source. These services are listed in Enable logging from Amazon Web Services services.

\"\ },\ \"DescribeDeliveryDestinations\":{\ \"name\":\"DescribeDeliveryDestinations\",\ @@ -578,7 +578,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidParameterException\"},\ {\"shape\":\"ServiceUnavailableException\"}\ ],\ - \"documentation\":\"

This operation returns a paginated list of your saved CloudWatch Logs Insights query definitions.

You can use the queryDefinitionNamePrefix parameter to limit the results to only the query definitions that have names that start with a certain string.

\"\ + \"documentation\":\"

This operation returns a paginated list of your saved CloudWatch Logs Insights query definitions. You can retrieve query definitions from the current account or from a source account that is linked to the current account.

You can use the queryDefinitionNamePrefix parameter to limit the results to only the query definitions that have names that start with a certain string.

\"\ },\ \"DescribeResourcePolicies\":{\ \"name\":\"DescribeResourcePolicies\",\ @@ -670,7 +670,7 @@ - (NSString *)definitionString { {\"shape\":\"ServiceQuotaExceededException\"},\ {\"shape\":\"ThrottlingException\"}\ ],\ - \"documentation\":\"

Returns complete information about one delivery. A delivery is a connection between a logical delivery source and a logical delivery destination

You need to specify the delivery id in this operation. You can find the IDs of the deliveries in your account with the DescribeDeliveries operation.

\"\ + \"documentation\":\"

Returns complete information about one logical delivery. A delivery is a connection between a delivery source and a delivery destination .

A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose. Only some Amazon Web Services services support being configured as a delivery source. These services are listed in Enable logging from Amazon Web Services services.

You need to specify the delivery id in this operation. You can find the IDs of the deliveries in your account with the DescribeDeliveries operation.

\"\ },\ \"GetDeliveryDestination\":{\ \"name\":\"GetDeliveryDestination\",\ @@ -876,7 +876,7 @@ - (NSString *)definitionString { {\"shape\":\"ServiceUnavailableException\"},\ {\"shape\":\"LimitExceededException\"}\ ],\ - \"documentation\":\"

Creates an account-level data protection policy that applies to all log groups in the account. A data protection policy can help safeguard sensitive data that's ingested by your log groups by auditing and masking the sensitive log data. Each account can have only one account-level policy.

Sensitive data is detected and masked when it is ingested into a log group. When you set a data protection policy, log events ingested into the log groups before that time are not masked.

If you use PutAccountPolicy to create a data protection policy for your whole account, it applies to both existing log groups and all log groups that are created later in this account. The account policy is applied to existing log groups with eventual consistency. It might take up to 5 minutes before sensitive data in existing log groups begins to be masked.

By default, when a user views a log event that includes masked data, the sensitive data is replaced by asterisks. A user who has the logs:Unmask permission can use a GetLogEvents or FilterLogEvents operation with the unmask parameter set to true to view the unmasked log events. Users with the logs:Unmask can also view unmasked data in the CloudWatch Logs console by running a CloudWatch Logs Insights query with the unmask query command.

For more information, including a list of types of data that can be audited and masked, see Protect sensitive log data with masking.

To use the PutAccountPolicy operation, you must be signed on with the logs:PutDataProtectionPolicy and logs:PutAccountPolicy permissions.

The PutAccountPolicy operation applies to all log groups in the account. You can also use PutDataProtectionPolicy to create a data protection policy that applies to just one log group. If a log group has its own data protection policy and the account also has an account-level data protection policy, then the two policies are cumulative. Any sensitive term specified in either policy is masked.

\"\ + \"documentation\":\"

Creates an account-level data protection policy or subscription filter policy that applies to all log groups or a subset of log groups in the account.

Data protection policy

A data protection policy can help safeguard sensitive data that's ingested by your log groups by auditing and masking the sensitive log data. Each account can have only one account-level data protection policy.

Sensitive data is detected and masked when it is ingested into a log group. When you set a data protection policy, log events ingested into the log groups before that time are not masked.

If you use PutAccountPolicy to create a data protection policy for your whole account, it applies to both existing log groups and all log groups that are created later in this account. The account-level policy is applied to existing log groups with eventual consistency. It might take up to 5 minutes before sensitive data in existing log groups begins to be masked.

By default, when a user views a log event that includes masked data, the sensitive data is replaced by asterisks. A user who has the logs:Unmask permission can use a GetLogEvents or FilterLogEvents operation with the unmask parameter set to true to view the unmasked log events. Users with the logs:Unmask can also view unmasked data in the CloudWatch Logs console by running a CloudWatch Logs Insights query with the unmask query command.

For more information, including a list of types of data that can be audited and masked, see Protect sensitive log data with masking.

To use the PutAccountPolicy operation for a data protection policy, you must be signed on with the logs:PutDataProtectionPolicy and logs:PutAccountPolicy permissions.

The PutAccountPolicy operation applies to all log groups in the account. You can use PutDataProtectionPolicy to create a data protection policy that applies to just one log group. If a log group has its own data protection policy and the account also has an account-level data protection policy, then the two policies are cumulative. Any sensitive term specified in either policy is masked.

Subscription filter policy

A subscription filter policy sets up a real-time feed of log events from CloudWatch Logs to other Amazon Web Services services. Account-level subscription filter policies apply to both existing log groups and log groups that are created later in this account. Supported destinations are Kinesis Data Streams, Firehose, and Lambda. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

  • An Kinesis Data Streams data stream in the same account as the subscription policy, for same-account delivery.

  • An Firehose data stream in the same account as the subscription policy, for same-account delivery.

  • A Lambda function in the same account as the subscription policy, for same-account delivery.

  • A logical destination in a different account created with PutDestination, for cross-account delivery. Kinesis Data Streams and Firehose are supported as logical destinations.

Each account can have one account-level subscription filter policy. If you are updating an existing filter, you must specify the correct name in PolicyName. To perform a PutAccountPolicy subscription filter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

\"\ },\ \"PutDataProtectionPolicy\":{\ \"name\":\"PutDataProtectionPolicy\",\ @@ -911,7 +911,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ResourceNotFoundException\"}\ ],\ - \"documentation\":\"

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Kinesis Data Firehose are supported as logs delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

\"\ + \"documentation\":\"

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Firehose are supported as logs delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

\"\ },\ \"PutDeliveryDestinationPolicy\":{\ \"name\":\"PutDeliveryDestinationPolicy\",\ @@ -945,7 +945,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceNotFoundException\"},\ {\"shape\":\"ThrottlingException\"}\ ],\ - \"documentation\":\"

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

  • Use PutDeliverySource to create a delivery source, which is a logical object that represents the resource that is actually sending the logs.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

\"\ + \"documentation\":\"

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose.

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

  • Use PutDeliverySource to create a delivery source, which is a logical object that represents the resource that is actually sending the logs.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

\"\ },\ \"PutDestination\":{\ \"name\":\"PutDestination\",\ @@ -1070,7 +1070,25 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededException\"},\ {\"shape\":\"ServiceUnavailableException\"}\ ],\ - \"documentation\":\"

Creates or updates a subscription filter and associates it with the specified log group. With subscription filters, you can subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

  • An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination created with PutDestination that belongs to a different account, for cross-account delivery. We currently support Kinesis Data Streams and Kinesis Data Firehose as logical destinations.

  • An Amazon Kinesis Data Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

Each log group can have up to two subscription filters associated with it. If you are updating an existing filter, you must specify the correct name in filterName.

To perform a PutSubscriptionFilter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

\"\ + \"documentation\":\"

Creates or updates a subscription filter and associates it with the specified log group. With subscription filters, you can subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

  • An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination created with PutDestination that belongs to a different account, for cross-account delivery. We currently support Kinesis Data Streams and Firehose as logical destinations.

  • An Amazon Kinesis Data Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

Each log group can have up to two subscription filters associated with it. If you are updating an existing filter, you must specify the correct name in filterName.

To perform a PutSubscriptionFilter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

\"\ + },\ + \"StartLiveTail\":{\ + \"name\":\"StartLiveTail\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"StartLiveTailRequest\"},\ + \"output\":{\"shape\":\"StartLiveTailResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"LimitExceededException\"},\ + {\"shape\":\"InvalidOperationException\"}\ + ],\ + \"documentation\":\"

Starts a Live Tail streaming session for one or more log groups. A Live Tail session returns a stream of log events that have been recently ingested in the log groups. For more information, see Use Live Tail to view logs in near real time.

The response to this operation is a response stream, over which the server sends live log events and the client receives them.

The following objects are sent over the stream:

  • A single LiveTailSessionStart object is sent at the start of the session.

  • Every second, a LiveTailSessionUpdate object is sent. Each of these objects contains an array of the actual log events.

    If no new log events were ingested in the past second, the LiveTailSessionUpdate object will contain an empty array.

    The array of log events contained in a LiveTailSessionUpdate can include as many as 500 log events. If the number of log events matching the request exceeds 500 per second, the log events are sampled down to 500 log events to be included in each LiveTailSessionUpdate object.

    If your client consumes the log events slower than the server produces them, CloudWatch Logs buffers up to 10 LiveTailSessionUpdate events or 5000 log events, after which it starts dropping the oldest events.

  • A SessionStreamingException object is returned if an unknown error occurs on the server side.

  • A SessionTimeoutException object is returned when the session times out, after it has been kept open for three hours.

You can end a session before it times out by closing the session stream or by closing the client that is receiving the stream. The session also ends if the established connection between the client and the server breaks.

For examples of using an SDK to start a Live Tail session, see Start a Live Tail session using an Amazon Web Services SDK.

\",\ + \"endpoint\":{\"hostPrefix\":\"streaming-\"}\ },\ \"StartQuery\":{\ \"name\":\"StartQuery\",\ @@ -1258,6 +1276,10 @@ - (NSString *)definitionString { \"shape\":\"Scope\",\ \"documentation\":\"

The scope of the account policy.

\"\ },\ + \"selectionCriteria\":{\ + \"shape\":\"SelectionCriteria\",\ + \"documentation\":\"

The log group selection criteria for this subscription filter policy.

\"\ + },\ \"accountId\":{\ \"shape\":\"AccountId\",\ \"documentation\":\"

The Amazon Web Services account ID that the policy applies to.

\"\ @@ -1574,7 +1596,7 @@ - (NSString *)definitionString { \"members\":{\ \"logGroupArnList\":{\ \"shape\":\"LogGroupArnList\",\ - \"documentation\":\"

An array containing the ARNs of the log groups that this anomaly detector will watch. You must specify at least one ARN.

\"\ + \"documentation\":\"

An array containing the ARN of the log group that this anomaly detector will watch. You can specify only one log group ARN.

\"\ },\ \"detectorName\":{\ \"shape\":\"DetectorName\",\ @@ -1629,7 +1651,7 @@ - (NSString *)definitionString { },\ \"logGroupClass\":{\ \"shape\":\"LogGroupClass\",\ - \"documentation\":\"

Use this parameter to specify the log group class for this log group. There are two classes:

  • The Standard log class supports all CloudWatch Logs features.

  • The Infrequent Access log class supports a subset of CloudWatch Logs features and incurs lower costs.

If you omit this parameter, the default of STANDARD is used.

For details about the features supported by each class, see Log classes

\"\ + \"documentation\":\"

Use this parameter to specify the log group class for this log group. There are two classes:

  • The Standard log class supports all CloudWatch Logs features.

  • The Infrequent Access log class supports a subset of CloudWatch Logs features and incurs lower costs.

If you omit this parameter, the default of STANDARD is used.

The value of logGroupClass can't be changed after a log group is created.

For details about the features supported by each class, see Log classes

\"\ }\ }\ },\ @@ -1686,7 +1708,7 @@ - (NSString *)definitionString { },\ \"policyType\":{\ \"shape\":\"PolicyType\",\ - \"documentation\":\"

The type of policy to delete. Currently, the only valid value is DATA_PROTECTION_POLICY.

\"\ + \"documentation\":\"

The type of policy to delete.

\"\ }\ }\ },\ @@ -1884,7 +1906,7 @@ - (NSString *)definitionString { },\ \"deliveryDestinationType\":{\ \"shape\":\"DeliveryDestinationType\",\ - \"documentation\":\"

Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

\"\ + \"documentation\":\"

Displays whether the delivery destination associated with this delivery is CloudWatch Logs, Amazon S3, or Firehose.

\"\ },\ \"tags\":{\ \"shape\":\"Tags\",\ @@ -1906,7 +1928,7 @@ - (NSString *)definitionString { },\ \"deliveryDestinationType\":{\ \"shape\":\"DeliveryDestinationType\",\ - \"documentation\":\"

Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

\"\ + \"documentation\":\"

Displays whether this delivery destination is CloudWatch Logs, Amazon S3, or Firehose.

\"\ },\ \"outputFormat\":{\ \"shape\":\"OutputFormat\",\ @@ -1921,7 +1943,7 @@ - (NSString *)definitionString { \"documentation\":\"

The tags that have been assigned to this delivery destination.

\"\ }\ },\ - \"documentation\":\"

This structure contains information about one delivery destination in your account. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Kinesis Data Firehose delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\"\ + \"documentation\":\"

This structure contains information about one delivery destination in your account. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, are supported as Firehose delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\"\ },\ \"DeliveryDestinationConfiguration\":{\ \"type\":\"structure\",\ @@ -1929,7 +1951,7 @@ - (NSString *)definitionString { \"members\":{\ \"destinationResourceArn\":{\ \"shape\":\"Arn\",\ - \"documentation\":\"

The ARN of the Amazon Web Services destination that this delivery destination represents. That Amazon Web Services destination can be a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

\"\ + \"documentation\":\"

The ARN of the Amazon Web Services destination that this delivery destination represents. That Amazon Web Services destination can be a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Firehose.

\"\ }\ },\ \"documentation\":\"

A structure that contains information about one logs delivery destination.

\"\ @@ -1991,7 +2013,7 @@ - (NSString *)definitionString { \"documentation\":\"

The tags that have been assigned to this delivery source.

\"\ }\ },\ - \"documentation\":\"

This structure contains information about one delivery source in your account. A delivery source is an Amazon Web Services resource that sends logs to an Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\"\ + \"documentation\":\"

This structure contains information about one delivery source in your account. A delivery source is an Amazon Web Services resource that sends logs to an Amazon Web Services destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

\"\ },\ \"DeliverySourceName\":{\ \"type\":\"string\",\ @@ -2010,7 +2032,7 @@ - (NSString *)definitionString { \"members\":{\ \"policyType\":{\ \"shape\":\"PolicyType\",\ - \"documentation\":\"

Use this parameter to limit the returned policies to only the policies that match the policy type that you specify. Currently, the only valid value is DATA_PROTECTION_POLICY.

\"\ + \"documentation\":\"

Use this parameter to limit the returned policies to only the policies that match the policy type that you specify.

\"\ },\ \"policyName\":{\ \"shape\":\"PolicyName\",\ @@ -3088,6 +3110,7 @@ - (NSString *)definitionString { \"documentation\":\"

The sequence token is not valid. You can get the correct sequence token in the expectedSequenceToken field in the InvalidSequenceTokenException message.

PutLogEvents actions are now always accepted and never return InvalidSequenceTokenException regardless of receiving an invalid sequence token.

\",\ \"exception\":true\ },\ + \"IsSampled\":{\"type\":\"boolean\"},\ \"KmsKeyId\":{\ \"type\":\"string\",\ \"max\":256\ @@ -3203,9 +3226,105 @@ - (NSString *)definitionString { \"deprecated\":true,\ \"deprecatedMessage\":\"Please use the generic tagging API model ListTagsForResourceRequest and ListTagsForResourceResponse\"\ },\ + \"LiveTailSessionLogEvent\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"logStreamName\":{\ + \"shape\":\"LogStreamName\",\ + \"documentation\":\"

The name of the log stream that ingested this log event.

\"\ + },\ + \"logGroupIdentifier\":{\ + \"shape\":\"LogGroupIdentifier\",\ + \"documentation\":\"

The name or ARN of the log group that ingested this log event.

\"\ + },\ + \"message\":{\ + \"shape\":\"EventMessage\",\ + \"documentation\":\"

The log event message text.

\"\ + },\ + \"timestamp\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp specifying when this log event was created.

\"\ + },\ + \"ingestionTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp specifying when this log event was ingested into the log group.

\"\ + }\ + },\ + \"documentation\":\"

This object contains the information for one log event returned in a Live Tail stream.

\"\ + },\ + \"LiveTailSessionMetadata\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"sampled\":{\ + \"shape\":\"IsSampled\",\ + \"documentation\":\"

If this is true, then more than 500 log events matched the request for this update, and the sessionResults includes a sample of 500 of those events.

If this is false, then 500 or fewer log events matched the request for this update, so no sampling was necessary. In this case, the sessionResults array includes all log events that matched your request during this time.

\"\ + }\ + },\ + \"documentation\":\"

This object contains the metadata for one LiveTailSessionUpdate structure. It indicates whether that update includes only a sample of 500 log events out of a larger number of ingested log events, or if it contains all of the matching log events ingested during that second of time.

\"\ + },\ + \"LiveTailSessionResults\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"LiveTailSessionLogEvent\"}\ + },\ + \"LiveTailSessionStart\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"requestId\":{\ + \"shape\":\"RequestId\",\ + \"documentation\":\"

The unique ID generated by CloudWatch Logs to identify this Live Tail session request.

\"\ + },\ + \"sessionId\":{\ + \"shape\":\"SessionId\",\ + \"documentation\":\"

The unique ID generated by CloudWatch Logs to identify this Live Tail session.

\"\ + },\ + \"logGroupIdentifiers\":{\ + \"shape\":\"StartLiveTailLogGroupIdentifiers\",\ + \"documentation\":\"

An array of the names and ARNs of the log groups included in this Live Tail session.

\"\ + },\ + \"logStreamNames\":{\ + \"shape\":\"InputLogStreamNames\",\ + \"documentation\":\"

If your StartLiveTail operation request included a logStreamNames parameter that filtered the session to only include certain log streams, these streams are listed here.

\"\ + },\ + \"logStreamNamePrefixes\":{\ + \"shape\":\"InputLogStreamNames\",\ + \"documentation\":\"

If your StartLiveTail operation request included a logStreamNamePrefixes parameter that filtered the session to only include log streams that have names that start with certain prefixes, these prefixes are listed here.

\"\ + },\ + \"logEventFilterPattern\":{\ + \"shape\":\"FilterPattern\",\ + \"documentation\":\"

An optional pattern to filter the results to include only log events that match the pattern. For example, a filter pattern of error 404 displays only log events that include both error and 404.

For more information about filter pattern syntax, see Filter and Pattern Syntax.

\"\ + }\ + },\ + \"documentation\":\"

This object contains information about this Live Tail session, including the log groups included and the log stream filters, if any.

\",\ + \"event\":true\ + },\ + \"LiveTailSessionUpdate\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"sessionMetadata\":{\ + \"shape\":\"LiveTailSessionMetadata\",\ + \"documentation\":\"

This object contains the session metadata for a Live Tail session.

\"\ + },\ + \"sessionResults\":{\ + \"shape\":\"LiveTailSessionResults\",\ + \"documentation\":\"

An array, where each member of the array includes the information for one log event in the Live Tail session.

A sessionResults array can include as many as 500 log events. If the number of log events matching the request exceeds 500 per second, the log events are sampled down to 500 log events to be included in each sessionUpdate structure.

\"\ + }\ + },\ + \"documentation\":\"

This object contains the log events and metadata for a Live Tail session.

\",\ + \"event\":true\ + },\ \"LogEvent\":{\ - \"type\":\"string\",\ - \"min\":1\ + \"type\":\"structure\",\ + \"members\":{\ + \"timestamp\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The time stamp of the log event.

\"\ + },\ + \"message\":{\ + \"shape\":\"EventMessage\",\ + \"documentation\":\"

The message content of the log event.

\"\ + }\ + },\ + \"documentation\":\"

This structure contains the information for one sample log event that is associated with an anomaly found by a log anomaly detector.

\"\ },\ \"LogEventIndex\":{\"type\":\"integer\"},\ \"LogGroup\":{\ @@ -3226,7 +3345,7 @@ - (NSString *)definitionString { },\ \"arn\":{\ \"shape\":\"Arn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the log group.

\"\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the log group. This version of the ARN includes a trailing :* after the log group name.

Use this version to refer to the ARN in IAM policies when specifying permissions for most API actions. The exception is when specifying permissions for TagResource, UntagResource, and ListTagsForResource. The permissions for those three actions require the ARN version that doesn't include a trailing :*.

\"\ },\ \"storedBytes\":{\ \"shape\":\"StoredBytes\",\ @@ -3247,6 +3366,10 @@ - (NSString *)definitionString { \"logGroupClass\":{\ \"shape\":\"LogGroupClass\",\ \"documentation\":\"

This specifies the log group class for this log group. There are two classes:

  • The Standard log class supports all CloudWatch Logs features.

  • The Infrequent Access log class supports a subset of CloudWatch Logs features and incurs lower costs.

For details about the features supported by each class, see Log classes

\"\ + },\ + \"logGroupArn\":{\ + \"shape\":\"Arn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the log group. This version of the ARN doesn't include a trailing :* after the log group name.

Use this version to refer to the ARN in the following situations:

\"\ }\ },\ \"documentation\":\"

Represents a log group.

\"\ @@ -3611,7 +3734,10 @@ - (NSString *)definitionString { \"PolicyName\":{\"type\":\"string\"},\ \"PolicyType\":{\ \"type\":\"string\",\ - \"enum\":[\"DATA_PROTECTION_POLICY\"]\ + \"enum\":[\ + \"DATA_PROTECTION_POLICY\",\ + \"SUBSCRIPTION_FILTER_POLICY\"\ + ]\ },\ \"Priority\":{\ \"type\":\"string\",\ @@ -3631,15 +3757,19 @@ - (NSString *)definitionString { },\ \"policyDocument\":{\ \"shape\":\"AccountPolicyDocument\",\ - \"documentation\":\"

Specify the data protection policy, in JSON.

This policy must include two JSON blocks:

  • The first block must include both a DataIdentifer array and an Operation property with an Audit action. The DataIdentifer array lists the types of sensitive data that you want to mask. For more information about the available options, see Types of data that you can mask.

    The Operation property with an Audit action is required to find the sensitive data terms. This Audit action must contain a FindingsDestination object. You can optionally use that FindingsDestination object to list one or more destinations to send audit findings to. If you specify destinations such as log groups, Kinesis Data Firehose streams, and S3 buckets, they must already exist.

  • The second block must include both a DataIdentifer array and an Operation property with an Deidentify action. The DataIdentifer array must exactly match the DataIdentifer array in the first block of the policy.

    The Operation property with the Deidentify action is what actually masks the data, and it must contain the \\\"MaskConfig\\\": {} object. The \\\"MaskConfig\\\": {} object must be empty.

For an example data protection policy, see the Examples section on this page.

The contents of the two DataIdentifer arrays must match exactly.

In addition to the two JSON blocks, the policyDocument can also include Name, Description, and Version fields. The Name is different than the operation's policyName parameter, and is used as a dimension when CloudWatch Logs reports audit findings metrics to CloudWatch.

The JSON specified in policyDocument can be up to 30,720 characters.

\"\ + \"documentation\":\"

Specify the policy, in JSON.

Data protection policy

A data protection policy must include two JSON blocks:

  • The first block must include both a DataIdentifer array and an Operation property with an Audit action. The DataIdentifer array lists the types of sensitive data that you want to mask. For more information about the available options, see Types of data that you can mask.

    The Operation property with an Audit action is required to find the sensitive data terms. This Audit action must contain a FindingsDestination object. You can optionally use that FindingsDestination object to list one or more destinations to send audit findings to. If you specify destinations such as log groups, Firehose streams, and S3 buckets, they must already exist.

  • The second block must include both a DataIdentifer array and an Operation property with an Deidentify action. The DataIdentifer array must exactly match the DataIdentifer array in the first block of the policy.

    The Operation property with the Deidentify action is what actually masks the data, and it must contain the \\\"MaskConfig\\\": {} object. The \\\"MaskConfig\\\": {} object must be empty.

For an example data protection policy, see the Examples section on this page.

The contents of the two DataIdentifer arrays must match exactly.

In addition to the two JSON blocks, the policyDocument can also include Name, Description, and Version fields. The Name is different than the operation's policyName parameter, and is used as a dimension when CloudWatch Logs reports audit findings metrics to CloudWatch.

The JSON specified in policyDocument can be up to 30,720 characters long.

Subscription filter policy

A subscription filter policy can include the following attributes in a JSON block:

  • DestinationArn The ARN of the destination to deliver log events to. Supported destinations are:

    • An Kinesis Data Streams data stream in the same account as the subscription policy, for same-account delivery.

    • An Firehose data stream in the same account as the subscription policy, for same-account delivery.

    • A Lambda function in the same account as the subscription policy, for same-account delivery.

    • A logical destination in a different account created with PutDestination, for cross-account delivery. Kinesis Data Streams and Firehose are supported as logical destinations.

  • RoleArn The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.

  • FilterPattern A filter pattern for subscribing to a filtered stream of log events.

  • DistributionThe method used to distribute log data to the destination. By default, log data is grouped by log stream, but the grouping can be set to Random for a more even distribution. This property is only applicable when the destination is an Kinesis Data Streams data stream.

\"\ },\ \"policyType\":{\ \"shape\":\"PolicyType\",\ - \"documentation\":\"

Currently the only valid value for this parameter is DATA_PROTECTION_POLICY.

\"\ + \"documentation\":\"

The type of policy that you're creating or updating.

\"\ },\ \"scope\":{\ \"shape\":\"Scope\",\ \"documentation\":\"

Currently the only valid value for this parameter is ALL, which specifies that the data protection policy applies to all log groups in the account. If you omit this parameter, the default of ALL is used.

\"\ + },\ + \"selectionCriteria\":{\ + \"shape\":\"SelectionCriteria\",\ + \"documentation\":\"

Use this parameter to apply the subscription filter policy to a subset of log groups in the account. Currently, the only supported filter is LogGroupName NOT IN []. The selectionCriteria string can be up to 25KB in length. The length is determined by using its UTF-8 bytes.

Using the selectionCriteria parameter is useful to help prevent infinite loops. For more information, see Log recursion prevention.

Specifing selectionCriteria is valid only when you specify SUBSCRIPTION_FILTER_POLICY for policyType.

\"\ }\ }\ },\ @@ -3665,7 +3795,7 @@ - (NSString *)definitionString { },\ \"policyDocument\":{\ \"shape\":\"DataProtectionPolicyDocument\",\ - \"documentation\":\"

Specify the data protection policy, in JSON.

This policy must include two JSON blocks:

  • The first block must include both a DataIdentifer array and an Operation property with an Audit action. The DataIdentifer array lists the types of sensitive data that you want to mask. For more information about the available options, see Types of data that you can mask.

    The Operation property with an Audit action is required to find the sensitive data terms. This Audit action must contain a FindingsDestination object. You can optionally use that FindingsDestination object to list one or more destinations to send audit findings to. If you specify destinations such as log groups, Kinesis Data Firehose streams, and S3 buckets, they must already exist.

  • The second block must include both a DataIdentifer array and an Operation property with an Deidentify action. The DataIdentifer array must exactly match the DataIdentifer array in the first block of the policy.

    The Operation property with the Deidentify action is what actually masks the data, and it must contain the \\\"MaskConfig\\\": {} object. The \\\"MaskConfig\\\": {} object must be empty.

For an example data protection policy, see the Examples section on this page.

The contents of the two DataIdentifer arrays must match exactly.

In addition to the two JSON blocks, the policyDocument can also include Name, Description, and Version fields. The Name is used as a dimension when CloudWatch Logs reports audit findings metrics to CloudWatch.

The JSON specified in policyDocument can be up to 30,720 characters.

\"\ + \"documentation\":\"

Specify the data protection policy, in JSON.

This policy must include two JSON blocks:

  • The first block must include both a DataIdentifer array and an Operation property with an Audit action. The DataIdentifer array lists the types of sensitive data that you want to mask. For more information about the available options, see Types of data that you can mask.

    The Operation property with an Audit action is required to find the sensitive data terms. This Audit action must contain a FindingsDestination object. You can optionally use that FindingsDestination object to list one or more destinations to send audit findings to. If you specify destinations such as log groups, Firehose streams, and S3 buckets, they must already exist.

  • The second block must include both a DataIdentifer array and an Operation property with an Deidentify action. The DataIdentifer array must exactly match the DataIdentifer array in the first block of the policy.

    The Operation property with the Deidentify action is what actually masks the data, and it must contain the \\\"MaskConfig\\\": {} object. The \\\"MaskConfig\\\": {} object must be empty.

For an example data protection policy, see the Examples section on this page.

The contents of the two DataIdentifer arrays must match exactly.

In addition to the two JSON blocks, the policyDocument can also include Name, Description, and Version fields. The Name is used as a dimension when CloudWatch Logs reports audit findings metrics to CloudWatch.

The JSON specified in policyDocument can be up to 30,720 characters.

\"\ }\ }\ },\ @@ -3764,7 +3894,7 @@ - (NSString *)definitionString { },\ \"logType\":{\ \"shape\":\"LogType\",\ - \"documentation\":\"

Defines the type of log that the source is sending. For valid values for this parameter, see the documentation for the source service.

\"\ + \"documentation\":\"

Defines the type of log that the source is sending.

  • For Amazon CodeWhisperer, the valid value is EVENT_LOGS.

  • For IAM Identity Centerr, the valid value is ERROR_LOGS.

  • For Amazon WorkMail, the valid values are ACCESS_CONTROL_LOGS, AUTHENTICATION_LOGS, WORKMAIL_AVAILABILITY_PROVIDER_LOGS, and WORKMAIL_MAILBOX_ACCESS_LOGS.

\"\ },\ \"tags\":{\ \"shape\":\"Tags\",\ @@ -4166,11 +4296,11 @@ - (NSString *)definitionString { \"members\":{\ \"tooNewLogEventStartIndex\":{\ \"shape\":\"LogEventIndex\",\ - \"documentation\":\"

The log events that are too new.

\"\ + \"documentation\":\"

The index of the first log event that is too new. This field is inclusive.

\"\ },\ \"tooOldLogEventEndIndex\":{\ \"shape\":\"LogEventIndex\",\ - \"documentation\":\"

The log events that are dated too far in the past.

\"\ + \"documentation\":\"

The index of the last log event that is too old. This field is exclusive.

\"\ },\ \"expiredLogEventEndIndex\":{\ \"shape\":\"LogEventIndex\",\ @@ -4179,6 +4309,11 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Represents the rejected events.

\"\ },\ + \"RequestId\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"min\":0\ + },\ \"ResourceAlreadyExistsException\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -4269,6 +4404,7 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"SearchedLogStream\"}\ },\ + \"SelectionCriteria\":{\"type\":\"string\"},\ \"SequenceToken\":{\ \"type\":\"string\",\ \"min\":1\ @@ -4294,6 +4430,27 @@ - (NSString *)definitionString { \"exception\":true,\ \"fault\":true\ },\ + \"SessionId\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"min\":0\ + },\ + \"SessionStreamingException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"message\":{\"shape\":\"Message\"}\ + },\ + \"documentation\":\"

his exception is returned if an unknown error occurs during a Live Tail session.

\",\ + \"exception\":true\ + },\ + \"SessionTimeoutException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"message\":{\"shape\":\"Message\"}\ + },\ + \"documentation\":\"

This exception is returned in a Live Tail stream when the Live Tail session times out. Live Tail sessions time out after three hours.

\",\ + \"exception\":true\ + },\ \"StandardUnit\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -4327,6 +4484,66 @@ - (NSString *)definitionString { ]\ },\ \"StartFromHead\":{\"type\":\"boolean\"},\ + \"StartLiveTailLogGroupIdentifiers\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"LogGroupIdentifier\"},\ + \"max\":10,\ + \"min\":1\ + },\ + \"StartLiveTailRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"logGroupIdentifiers\"],\ + \"members\":{\ + \"logGroupIdentifiers\":{\ + \"shape\":\"StartLiveTailLogGroupIdentifiers\",\ + \"documentation\":\"

An array where each item in the array is a log group to include in the Live Tail session.

Specify each log group by its ARN.

If you specify an ARN, the ARN can't end with an asterisk (*).

You can include up to 10 log groups.

\"\ + },\ + \"logStreamNames\":{\ + \"shape\":\"InputLogStreamNames\",\ + \"documentation\":\"

If you specify this parameter, then only log events in the log streams that you specify here are included in the Live Tail session.

If you specify this field, you can't also specify the logStreamNamePrefixes field.

You can specify this parameter only if you specify only one log group in logGroupIdentifiers.

\"\ + },\ + \"logStreamNamePrefixes\":{\ + \"shape\":\"InputLogStreamNames\",\ + \"documentation\":\"

If you specify this parameter, then only log events in the log streams that have names that start with the prefixes that you specify here are included in the Live Tail session.

If you specify this field, you can't also specify the logStreamNames field.

You can specify this parameter only if you specify only one log group in logGroupIdentifiers.

\"\ + },\ + \"logEventFilterPattern\":{\ + \"shape\":\"FilterPattern\",\ + \"documentation\":\"

An optional pattern to use to filter the results to include only log events that match the pattern. For example, a filter pattern of error 404 causes only log events that include both error and 404 to be included in the Live Tail stream.

Regular expression filter patterns are supported.

For more information about filter pattern syntax, see Filter and Pattern Syntax.

\"\ + }\ + }\ + },\ + \"StartLiveTailResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"responseStream\":{\ + \"shape\":\"StartLiveTailResponseStream\",\ + \"documentation\":\"

An object that includes the stream returned by your request. It can include both log events and exceptions.

\"\ + }\ + }\ + },\ + \"StartLiveTailResponseStream\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"sessionStart\":{\ + \"shape\":\"LiveTailSessionStart\",\ + \"documentation\":\"

This object contains information about this Live Tail session, including the log groups included and the log stream filters, if any.

\"\ + },\ + \"sessionUpdate\":{\ + \"shape\":\"LiveTailSessionUpdate\",\ + \"documentation\":\"

This object contains the log events and session metadata.

\"\ + },\ + \"SessionTimeoutException\":{\ + \"shape\":\"SessionTimeoutException\",\ + \"documentation\":\"

This exception is returned in the stream when the Live Tail session times out. Live Tail sessions time out after three hours.

\"\ + },\ + \"SessionStreamingException\":{\ + \"shape\":\"SessionStreamingException\",\ + \"documentation\":\"

This exception is returned if an unknown error occurs.

\"\ + }\ + },\ + \"documentation\":\"

This object includes the stream returned by your StartLiveTail request.

\",\ + \"eventstream\":true\ + },\ \"StartQueryRequest\":{\ \"type\":\"structure\",\ \"required\":[\ diff --git a/AWSLogs/AWSLogsService.h b/AWSLogs/AWSLogsService.h index 74d59b9e180..529df885288 100644 --- a/AWSLogs/AWSLogsService.h +++ b/AWSLogs/AWSLogsService.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -219,7 +219,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)cancelExportTask:(AWSLogsCancelExportTaskRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

You can't update an existing delivery. You can only create and delete deliveries.

+

Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Firehose.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

You can't update an existing delivery. You can only create and delete deliveries.

@param request A container for the necessary parameters to execute the CreateDelivery service method. @@ -231,7 +231,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)createDelivery:(AWSLogsCreateDeliveryRequest *)request; /** -

Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Kinesis Data Firehose.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

You can't update an existing delivery. You can only create and delete deliveries.

+

Creates a delivery. A delivery is a connection between a logical delivery source and a logical delivery destination that you have already created.

Only some Amazon Web Services services support being configured as a delivery source using this operation. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

A delivery destination can represent a log group in CloudWatch Logs, an Amazon S3 bucket, or a delivery stream in Firehose.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

You can't update an existing delivery. You can only create and delete deliveries.

@param request A container for the necessary parameters to execute the CreateDelivery service method. @param completionHandler The completion handler to call when the load request is complete. @@ -294,7 +294,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)createLogAnomalyDetector:(AWSLogsCreateLogAnomalyDetectorRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsCreateLogAnomalyDetectorResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

+

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

  • Log group names can't start with the string aws/

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

@param request A container for the necessary parameters to execute the CreateLogGroup service method. @@ -305,7 +305,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)createLogGroup:(AWSLogsCreateLogGroupRequest *)request; /** -

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

+

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

  • Log group names can't start with the string aws/

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

@param request A container for the necessary parameters to execute the CreateLogGroup service method. @param completionHandler The completion handler to call when the load request is complete. @@ -338,7 +338,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)createLogStream:(AWSLogsCreateLogStreamRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Deletes a CloudWatch Logs account policy.

To use this operation, you must be signed on with the logs:DeleteDataProtectionPolicy and logs:DeleteAccountPolicy permissions.

+

Deletes a CloudWatch Logs account policy. This stops the policy from applying to all log groups or a subset of log groups in the account. Log-group level policies will still be in effect.

To use this operation, you must be signed on with the correct permissions depending on the type of policy that you are deleting.

  • To delete a data protection policy, you must have the logs:DeleteDataProtectionPolicy and logs:DeleteAccountPolicy permissions.

  • To delete a subscription filter policy, you must have the logs:DeleteSubscriptionFilter and logs:DeleteAccountPolicy permissions.

@param request A container for the necessary parameters to execute the DeleteAccountPolicy service method. @@ -349,7 +349,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)deleteAccountPolicy:(AWSLogsDeleteAccountPolicyRequest *)request; /** -

Deletes a CloudWatch Logs account policy.

To use this operation, you must be signed on with the logs:DeleteDataProtectionPolicy and logs:DeleteAccountPolicy permissions.

+

Deletes a CloudWatch Logs account policy. This stops the policy from applying to all log groups or a subset of log groups in the account. Log-group level policies will still be in effect.

To use this operation, you must be signed on with the correct permissions depending on the type of policy that you are deleting.

  • To delete a data protection policy, you must have the logs:DeleteDataProtectionPolicy and logs:DeleteAccountPolicy permissions.

  • To delete a subscription filter policy, you must have the logs:DeleteSubscriptionFilter and logs:DeleteAccountPolicy permissions.

@param request A container for the necessary parameters to execute the DeleteAccountPolicy service method. @param completionHandler The completion handler to call when the load request is complete. @@ -696,7 +696,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)describeAccountPolicies:(AWSLogsDescribeAccountPoliciesRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsDescribeAccountPoliciesResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Retrieves a list of the deliveries that have been created in the account.

+

Retrieves a list of the deliveries that have been created in the account.

A delivery is a connection between a delivery source and a delivery destination.

A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose. Only some Amazon Web Services services support being configured as a delivery source. These services are listed in Enable logging from Amazon Web Services services.

@param request A container for the necessary parameters to execute the DescribeDeliveries service method. @@ -708,7 +708,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)describeDeliveries:(AWSLogsDescribeDeliveriesRequest *)request; /** -

Retrieves a list of the deliveries that have been created in the account.

+

Retrieves a list of the deliveries that have been created in the account.

A delivery is a connection between a delivery source and a delivery destination.

A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose. Only some Amazon Web Services services support being configured as a delivery source. These services are listed in Enable logging from Amazon Web Services services.

@param request A container for the necessary parameters to execute the DescribeDeliveries service method. @param completionHandler The completion handler to call when the load request is complete. @@ -921,7 +921,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)describeQueries:(AWSLogsDescribeQueriesRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsDescribeQueriesResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

This operation returns a paginated list of your saved CloudWatch Logs Insights query definitions.

You can use the queryDefinitionNamePrefix parameter to limit the results to only the query definitions that have names that start with a certain string.

+

This operation returns a paginated list of your saved CloudWatch Logs Insights query definitions. You can retrieve query definitions from the current account or from a source account that is linked to the current account.

You can use the queryDefinitionNamePrefix parameter to limit the results to only the query definitions that have names that start with a certain string.

@param request A container for the necessary parameters to execute the DescribeQueryDefinitions service method. @@ -933,7 +933,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)describeQueryDefinitions:(AWSLogsDescribeQueryDefinitionsRequest *)request; /** -

This operation returns a paginated list of your saved CloudWatch Logs Insights query definitions.

You can use the queryDefinitionNamePrefix parameter to limit the results to only the query definitions that have names that start with a certain string.

+

This operation returns a paginated list of your saved CloudWatch Logs Insights query definitions. You can retrieve query definitions from the current account or from a source account that is linked to the current account.

You can use the queryDefinitionNamePrefix parameter to limit the results to only the query definitions that have names that start with a certain string.

@param request A container for the necessary parameters to execute the DescribeQueryDefinitions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1068,7 +1068,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)getDataProtectionPolicy:(AWSLogsGetDataProtectionPolicyRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsGetDataProtectionPolicyResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns complete information about one delivery. A delivery is a connection between a logical delivery source and a logical delivery destination

You need to specify the delivery id in this operation. You can find the IDs of the deliveries in your account with the DescribeDeliveries operation.

+

Returns complete information about one logical delivery. A delivery is a connection between a delivery source and a delivery destination.

A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose. Only some Amazon Web Services services support being configured as a delivery source. These services are listed in Enable logging from Amazon Web Services services.

You need to specify the delivery id in this operation. You can find the IDs of the deliveries in your account with the DescribeDeliveries operation.

@param request A container for the necessary parameters to execute the GetDelivery service method. @@ -1080,7 +1080,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)getDelivery:(AWSLogsGetDeliveryRequest *)request; /** -

Returns complete information about one delivery. A delivery is a connection between a logical delivery source and a logical delivery destination

You need to specify the delivery id in this operation. You can find the IDs of the deliveries in your account with the DescribeDeliveries operation.

+

Returns complete information about one logical delivery. A delivery is a connection between a delivery source and a delivery destination.

A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose. Only some Amazon Web Services services support being configured as a delivery source. These services are listed in Enable logging from Amazon Web Services services.

You need to specify the delivery id in this operation. You can find the IDs of the deliveries in your account with the DescribeDeliveries operation.

@param request A container for the necessary parameters to execute the GetDelivery service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1393,7 +1393,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)listTagsLogGroup:(AWSLogsListTagsLogGroupRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsListTagsLogGroupResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates an account-level data protection policy that applies to all log groups in the account. A data protection policy can help safeguard sensitive data that's ingested by your log groups by auditing and masking the sensitive log data. Each account can have only one account-level policy.

Sensitive data is detected and masked when it is ingested into a log group. When you set a data protection policy, log events ingested into the log groups before that time are not masked.

If you use PutAccountPolicy to create a data protection policy for your whole account, it applies to both existing log groups and all log groups that are created later in this account. The account policy is applied to existing log groups with eventual consistency. It might take up to 5 minutes before sensitive data in existing log groups begins to be masked.

By default, when a user views a log event that includes masked data, the sensitive data is replaced by asterisks. A user who has the logs:Unmask permission can use a GetLogEvents or FilterLogEvents operation with the unmask parameter set to true to view the unmasked log events. Users with the logs:Unmask can also view unmasked data in the CloudWatch Logs console by running a CloudWatch Logs Insights query with the unmask query command.

For more information, including a list of types of data that can be audited and masked, see Protect sensitive log data with masking.

To use the PutAccountPolicy operation, you must be signed on with the logs:PutDataProtectionPolicy and logs:PutAccountPolicy permissions.

The PutAccountPolicy operation applies to all log groups in the account. You can also use PutDataProtectionPolicy to create a data protection policy that applies to just one log group. If a log group has its own data protection policy and the account also has an account-level data protection policy, then the two policies are cumulative. Any sensitive term specified in either policy is masked.

+

Creates an account-level data protection policy or subscription filter policy that applies to all log groups or a subset of log groups in the account.

Data protection policy

A data protection policy can help safeguard sensitive data that's ingested by your log groups by auditing and masking the sensitive log data. Each account can have only one account-level data protection policy.

Sensitive data is detected and masked when it is ingested into a log group. When you set a data protection policy, log events ingested into the log groups before that time are not masked.

If you use PutAccountPolicy to create a data protection policy for your whole account, it applies to both existing log groups and all log groups that are created later in this account. The account-level policy is applied to existing log groups with eventual consistency. It might take up to 5 minutes before sensitive data in existing log groups begins to be masked.

By default, when a user views a log event that includes masked data, the sensitive data is replaced by asterisks. A user who has the logs:Unmask permission can use a GetLogEvents or FilterLogEvents operation with the unmask parameter set to true to view the unmasked log events. Users with the logs:Unmask can also view unmasked data in the CloudWatch Logs console by running a CloudWatch Logs Insights query with the unmask query command.

For more information, including a list of types of data that can be audited and masked, see Protect sensitive log data with masking.

To use the PutAccountPolicy operation for a data protection policy, you must be signed on with the logs:PutDataProtectionPolicy and logs:PutAccountPolicy permissions.

The PutAccountPolicy operation applies to all log groups in the account. You can use PutDataProtectionPolicy to create a data protection policy that applies to just one log group. If a log group has its own data protection policy and the account also has an account-level data protection policy, then the two policies are cumulative. Any sensitive term specified in either policy is masked.

Subscription filter policy

A subscription filter policy sets up a real-time feed of log events from CloudWatch Logs to other Amazon Web Services services. Account-level subscription filter policies apply to both existing log groups and log groups that are created later in this account. Supported destinations are Kinesis Data Streams, Firehose, and Lambda. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

  • An Kinesis Data Streams data stream in the same account as the subscription policy, for same-account delivery.

  • An Firehose data stream in the same account as the subscription policy, for same-account delivery.

  • A Lambda function in the same account as the subscription policy, for same-account delivery.

  • A logical destination in a different account created with PutDestination, for cross-account delivery. Kinesis Data Streams and Firehose are supported as logical destinations.

Each account can have one account-level subscription filter policy. If you are updating an existing filter, you must specify the correct name in PolicyName. To perform a PutAccountPolicy subscription filter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

@param request A container for the necessary parameters to execute the PutAccountPolicy service method. @@ -1405,7 +1405,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)putAccountPolicy:(AWSLogsPutAccountPolicyRequest *)request; /** -

Creates an account-level data protection policy that applies to all log groups in the account. A data protection policy can help safeguard sensitive data that's ingested by your log groups by auditing and masking the sensitive log data. Each account can have only one account-level policy.

Sensitive data is detected and masked when it is ingested into a log group. When you set a data protection policy, log events ingested into the log groups before that time are not masked.

If you use PutAccountPolicy to create a data protection policy for your whole account, it applies to both existing log groups and all log groups that are created later in this account. The account policy is applied to existing log groups with eventual consistency. It might take up to 5 minutes before sensitive data in existing log groups begins to be masked.

By default, when a user views a log event that includes masked data, the sensitive data is replaced by asterisks. A user who has the logs:Unmask permission can use a GetLogEvents or FilterLogEvents operation with the unmask parameter set to true to view the unmasked log events. Users with the logs:Unmask can also view unmasked data in the CloudWatch Logs console by running a CloudWatch Logs Insights query with the unmask query command.

For more information, including a list of types of data that can be audited and masked, see Protect sensitive log data with masking.

To use the PutAccountPolicy operation, you must be signed on with the logs:PutDataProtectionPolicy and logs:PutAccountPolicy permissions.

The PutAccountPolicy operation applies to all log groups in the account. You can also use PutDataProtectionPolicy to create a data protection policy that applies to just one log group. If a log group has its own data protection policy and the account also has an account-level data protection policy, then the two policies are cumulative. Any sensitive term specified in either policy is masked.

+

Creates an account-level data protection policy or subscription filter policy that applies to all log groups or a subset of log groups in the account.

Data protection policy

A data protection policy can help safeguard sensitive data that's ingested by your log groups by auditing and masking the sensitive log data. Each account can have only one account-level data protection policy.

Sensitive data is detected and masked when it is ingested into a log group. When you set a data protection policy, log events ingested into the log groups before that time are not masked.

If you use PutAccountPolicy to create a data protection policy for your whole account, it applies to both existing log groups and all log groups that are created later in this account. The account-level policy is applied to existing log groups with eventual consistency. It might take up to 5 minutes before sensitive data in existing log groups begins to be masked.

By default, when a user views a log event that includes masked data, the sensitive data is replaced by asterisks. A user who has the logs:Unmask permission can use a GetLogEvents or FilterLogEvents operation with the unmask parameter set to true to view the unmasked log events. Users with the logs:Unmask can also view unmasked data in the CloudWatch Logs console by running a CloudWatch Logs Insights query with the unmask query command.

For more information, including a list of types of data that can be audited and masked, see Protect sensitive log data with masking.

To use the PutAccountPolicy operation for a data protection policy, you must be signed on with the logs:PutDataProtectionPolicy and logs:PutAccountPolicy permissions.

The PutAccountPolicy operation applies to all log groups in the account. You can use PutDataProtectionPolicy to create a data protection policy that applies to just one log group. If a log group has its own data protection policy and the account also has an account-level data protection policy, then the two policies are cumulative. Any sensitive term specified in either policy is masked.

Subscription filter policy

A subscription filter policy sets up a real-time feed of log events from CloudWatch Logs to other Amazon Web Services services. Account-level subscription filter policies apply to both existing log groups and log groups that are created later in this account. Supported destinations are Kinesis Data Streams, Firehose, and Lambda. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

  • An Kinesis Data Streams data stream in the same account as the subscription policy, for same-account delivery.

  • An Firehose data stream in the same account as the subscription policy, for same-account delivery.

  • A Lambda function in the same account as the subscription policy, for same-account delivery.

  • A logical destination in a different account created with PutDestination, for cross-account delivery. Kinesis Data Streams and Firehose are supported as logical destinations.

Each account can have one account-level subscription filter policy. If you are updating an existing filter, you must specify the correct name in PolicyName. To perform a PutAccountPolicy subscription filter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

@param request A container for the necessary parameters to execute the PutAccountPolicy service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1443,7 +1443,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)putDataProtectionPolicy:(AWSLogsPutDataProtectionPolicyRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsPutDataProtectionPolicyResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Kinesis Data Firehose are supported as logs delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

+

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Firehose are supported as logs delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

@param request A container for the necessary parameters to execute the PutDeliveryDestination service method. @@ -1455,7 +1455,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)putDeliveryDestination:(AWSLogsPutDeliveryDestinationRequest *)request; /** -

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Kinesis Data Firehose are supported as logs delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

+

Creates or updates a logical delivery destination. A delivery destination is an Amazon Web Services resource that represents an Amazon Web Services service that logs can be sent to. CloudWatch Logs, Amazon S3, and Firehose are supported as logs delivery destinations.

To configure logs delivery between a supported Amazon Web Services service and a destination, you must do the following:

  • Create a delivery source, which is a logical object that represents the resource that is actually sending the logs. For more information, see PutDeliverySource.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery destination, all the current delivery destination parameters are overwritten with the new parameter values that you specify.

@param request A container for the necessary parameters to execute the PutDeliveryDestination service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1493,7 +1493,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)putDeliveryDestinationPolicy:(AWSLogsPutDeliveryDestinationPolicyRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsPutDeliveryDestinationPolicyResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

  • Use PutDeliverySource to create a delivery source, which is a logical object that represents the resource that is actually sending the logs.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

+

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose.

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

  • Use PutDeliverySource to create a delivery source, which is a logical object that represents the resource that is actually sending the logs.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

@param request A container for the necessary parameters to execute the PutDeliverySource service method. @@ -1505,7 +1505,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)putDeliverySource:(AWSLogsPutDeliverySourceRequest *)request; /** -

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Kinesis Data Firehose.

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

  • Use PutDeliverySource to create a delivery source, which is a logical object that represents the resource that is actually sending the logs.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

+

Creates or updates a logical delivery source. A delivery source represents an Amazon Web Services resource that sends logs to an logs delivery destination. The destination can be CloudWatch Logs, Amazon S3, or Firehose.

To configure logs delivery between a delivery destination and an Amazon Web Services service that is supported as a delivery source, you must do the following:

  • Use PutDeliverySource to create a delivery source, which is a logical object that represents the resource that is actually sending the logs.

  • Use PutDeliveryDestination to create a delivery destination, which is a logical object that represents the actual delivery destination. For more information, see PutDeliveryDestination.

  • If you are delivering logs cross-account, you must use PutDeliveryDestinationPolicy in the destination account to assign an IAM policy to the destination. This policy allows delivery to that destination.

  • Use CreateDelivery to create a delivery by pairing exactly one delivery source and one delivery destination. For more information, see CreateDelivery.

You can configure a single delivery source to send logs to multiple destinations by creating multiple deliveries. You can also create multiple deliveries to configure multiple delivery sources to send logs to the same delivery destination.

Only some Amazon Web Services services support being configured as a delivery source. These services are listed as Supported [V2 Permissions] in the table at Enabling logging from Amazon Web Services services.

If you use this operation to update an existing delivery source, all the current delivery source parameters are overwritten with the new parameter values that you specify.

@param request A container for the necessary parameters to execute the PutDeliverySource service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1684,7 +1684,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)putRetentionPolicy:(AWSLogsPutRetentionPolicyRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Creates or updates a subscription filter and associates it with the specified log group. With subscription filters, you can subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

  • An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination created with PutDestination that belongs to a different account, for cross-account delivery. We currently support Kinesis Data Streams and Kinesis Data Firehose as logical destinations.

  • An Amazon Kinesis Data Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

Each log group can have up to two subscription filters associated with it. If you are updating an existing filter, you must specify the correct name in filterName.

To perform a PutSubscriptionFilter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

+

Creates or updates a subscription filter and associates it with the specified log group. With subscription filters, you can subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

  • An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination created with PutDestination that belongs to a different account, for cross-account delivery. We currently support Kinesis Data Streams and Firehose as logical destinations.

  • An Amazon Kinesis Data Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

Each log group can have up to two subscription filters associated with it. If you are updating an existing filter, you must specify the correct name in filterName.

To perform a PutSubscriptionFilter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

@param request A container for the necessary parameters to execute the PutSubscriptionFilter service method. @@ -1695,7 +1695,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)putSubscriptionFilter:(AWSLogsPutSubscriptionFilterRequest *)request; /** -

Creates or updates a subscription filter and associates it with the specified log group. With subscription filters, you can subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

  • An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination created with PutDestination that belongs to a different account, for cross-account delivery. We currently support Kinesis Data Streams and Kinesis Data Firehose as logical destinations.

  • An Amazon Kinesis Data Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

Each log group can have up to two subscription filters associated with it. If you are updating an existing filter, you must specify the correct name in filterName.

To perform a PutSubscriptionFilter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

+

Creates or updates a subscription filter and associates it with the specified log group. With subscription filters, you can subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. When log events are sent to the receiving service, they are Base64 encoded and compressed with the GZIP format.

The following destinations are supported for subscription filters:

  • An Amazon Kinesis data stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination created with PutDestination that belongs to a different account, for cross-account delivery. We currently support Kinesis Data Streams and Firehose as logical destinations.

  • An Amazon Kinesis Data Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

Each log group can have up to two subscription filters associated with it. If you are updating an existing filter, you must specify the correct name in filterName.

To perform a PutSubscriptionFilter operation for any destination except a Lambda function, you must also have the iam:PassRole permission.

@param request A container for the necessary parameters to execute the PutSubscriptionFilter service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSLogs/AWSLogsService.m b/AWSLogs/AWSLogsService.m index 9d7ac76f1e0..bb3b6b0f6eb 100644 --- a/AWSLogs/AWSLogsService.m +++ b/AWSLogs/AWSLogsService.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/AWSLogsUnitTests/AWSGeneralLogsTests.m b/AWSLogsUnitTests/AWSGeneralLogsTests.m index 243d73a10d3..eea3e06817b 100644 --- a/AWSLogsUnitTests/AWSGeneralLogsTests.m +++ b/AWSLogsUnitTests/AWSGeneralLogsTests.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. diff --git a/AWSLogsUnitTests/AWSLogsNSSecureCodingTests.m b/AWSLogsUnitTests/AWSLogsNSSecureCodingTests.m index 906f16c8920..95ee5d6b3c4 100644 --- a/AWSLogsUnitTests/AWSLogsNSSecureCodingTests.m +++ b/AWSLogsUnitTests/AWSLogsNSSecureCodingTests.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. @@ -115,6 +115,11 @@ - (void) test_AWSLogsListTagsForResourceRequest API_AVAILABLE(ios(11)); - (void) test_AWSLogsListTagsForResourceResponse API_AVAILABLE(ios(11)); - (void) test_AWSLogsListTagsLogGroupRequest API_AVAILABLE(ios(11)); - (void) test_AWSLogsListTagsLogGroupResponse API_AVAILABLE(ios(11)); +- (void) test_AWSLogsLiveTailSessionLogEvent API_AVAILABLE(ios(11)); +- (void) test_AWSLogsLiveTailSessionMetadata API_AVAILABLE(ios(11)); +- (void) test_AWSLogsLiveTailSessionStart API_AVAILABLE(ios(11)); +- (void) test_AWSLogsLiveTailSessionUpdate API_AVAILABLE(ios(11)); +- (void) test_AWSLogsLogEvent API_AVAILABLE(ios(11)); - (void) test_AWSLogsLogGroup API_AVAILABLE(ios(11)); - (void) test_AWSLogsLogGroupField API_AVAILABLE(ios(11)); - (void) test_AWSLogsLogStream API_AVAILABLE(ios(11)); @@ -155,6 +160,9 @@ - (void) test_AWSLogsRejectedLogEventsInfo API_AVAILABLE(ios(11)); - (void) test_AWSLogsResourcePolicy API_AVAILABLE(ios(11)); - (void) test_AWSLogsResultField API_AVAILABLE(ios(11)); - (void) test_AWSLogsSearchedLogStream API_AVAILABLE(ios(11)); +- (void) test_AWSLogsStartLiveTailRequest API_AVAILABLE(ios(11)); +- (void) test_AWSLogsStartLiveTailResponse API_AVAILABLE(ios(11)); +- (void) test_AWSLogsStartLiveTailResponseStream API_AVAILABLE(ios(11)); - (void) test_AWSLogsStartQueryRequest API_AVAILABLE(ios(11)); - (void) test_AWSLogsStartQueryResponse API_AVAILABLE(ios(11)); - (void) test_AWSLogsStopQueryRequest API_AVAILABLE(ios(11)); @@ -558,6 +566,26 @@ - (void) test_AWSLogsListTagsLogGroupResponse { [self validateSecureCodingForClass:[AWSLogsListTagsLogGroupResponse class]]; } +- (void) test_AWSLogsLiveTailSessionLogEvent { + [self validateSecureCodingForClass:[AWSLogsLiveTailSessionLogEvent class]]; +} + +- (void) test_AWSLogsLiveTailSessionMetadata { + [self validateSecureCodingForClass:[AWSLogsLiveTailSessionMetadata class]]; +} + +- (void) test_AWSLogsLiveTailSessionStart { + [self validateSecureCodingForClass:[AWSLogsLiveTailSessionStart class]]; +} + +- (void) test_AWSLogsLiveTailSessionUpdate { + [self validateSecureCodingForClass:[AWSLogsLiveTailSessionUpdate class]]; +} + +- (void) test_AWSLogsLogEvent { + [self validateSecureCodingForClass:[AWSLogsLogEvent class]]; +} + - (void) test_AWSLogsLogGroup { [self validateSecureCodingForClass:[AWSLogsLogGroup class]]; } @@ -718,6 +746,18 @@ - (void) test_AWSLogsSearchedLogStream { [self validateSecureCodingForClass:[AWSLogsSearchedLogStream class]]; } +- (void) test_AWSLogsStartLiveTailRequest { + [self validateSecureCodingForClass:[AWSLogsStartLiveTailRequest class]]; +} + +- (void) test_AWSLogsStartLiveTailResponse { + [self validateSecureCodingForClass:[AWSLogsStartLiveTailResponse class]]; +} + +- (void) test_AWSLogsStartLiveTailResponseStream { + [self validateSecureCodingForClass:[AWSLogsStartLiveTailResponseStream class]]; +} + - (void) test_AWSLogsStartQueryRequest { [self validateSecureCodingForClass:[AWSLogsStartQueryRequest class]]; } From 9177d67fdf2642bafc271b6c334883adf8be605a Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:18:27 -0400 Subject: [PATCH 11/15] feat(AWSDynamoDB): update models to latest (#5254) --- AWSDynamoDB/AWSDynamoDBModel.h | 193 ++++++++--- AWSDynamoDB/AWSDynamoDBModel.m | 90 +++++ AWSDynamoDB/AWSDynamoDBResources.m | 310 +++++++++++++----- AWSDynamoDB/AWSDynamoDBService.h | 83 ++++- AWSDynamoDB/AWSDynamoDBService.m | 70 ++++ .../AWSDynamoDBNSSecureCodingTests.m | 30 ++ .../AWSGeneralDynamoDBTests.m | 144 ++++++++ 7 files changed, 801 insertions(+), 119 deletions(-) diff --git a/AWSDynamoDB/AWSDynamoDBModel.h b/AWSDynamoDB/AWSDynamoDBModel.h index 9e1a068fd93..05ec042a677 100644 --- a/AWSDynamoDB/AWSDynamoDBModel.h +++ b/AWSDynamoDB/AWSDynamoDBModel.h @@ -42,6 +42,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBErrorType) { AWSDynamoDBErrorItemCollectionSizeLimitExceeded, AWSDynamoDBErrorLimitExceeded, AWSDynamoDBErrorPointInTimeRecoveryUnavailable, + AWSDynamoDBErrorPolicyNotFound, AWSDynamoDBErrorProvisionedThroughputExceeded, AWSDynamoDBErrorReplicaAlreadyExists, AWSDynamoDBErrorReplicaNotFound, @@ -406,6 +407,8 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @class AWSDynamoDBDeleteReplicaAction; @class AWSDynamoDBDeleteReplicationGroupMemberAction; @class AWSDynamoDBDeleteRequest; +@class AWSDynamoDBDeleteResourcePolicyInput; +@class AWSDynamoDBDeleteResourcePolicyOutput; @class AWSDynamoDBDeleteTableInput; @class AWSDynamoDBDeleteTableOutput; @class AWSDynamoDBDescribeBackupInput; @@ -449,6 +452,8 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @class AWSDynamoDBGet; @class AWSDynamoDBGetItemInput; @class AWSDynamoDBGetItemOutput; +@class AWSDynamoDBGetResourcePolicyInput; +@class AWSDynamoDBGetResourcePolicyOutput; @class AWSDynamoDBGlobalSecondaryIndex; @class AWSDynamoDBGlobalSecondaryIndexAutoScalingUpdate; @class AWSDynamoDBGlobalSecondaryIndexDescription; @@ -498,6 +503,8 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @class AWSDynamoDBPutItemInput; @class AWSDynamoDBPutItemOutput; @class AWSDynamoDBPutRequest; +@class AWSDynamoDBPutResourcePolicyInput; +@class AWSDynamoDBPutResourcePolicyOutput; @class AWSDynamoDBQueryInput; @class AWSDynamoDBQueryOutput; @class AWSDynamoDBReplica; @@ -590,7 +597,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @end /** -

Represents an attribute for describing the key schema for the table and indexes.

+

Represents an attribute for describing the schema for the table and indexes.

Required parameters: [AttributeName, AttributeType] */ @interface AWSDynamoDBAttributeDefinition : AWSModel @@ -1014,7 +1021,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

Each element in the map of items to retrieve consists of the following:

  • ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used.

  • ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames:

    • To access an attribute whose name conflicts with a DynamoDB reserved word.

    • To create a placeholder for repeating occurrences of an attribute name in an expression.

    • To prevent special characters in an attribute name from being misinterpreted in an expression.

    Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

    • Percentile

    The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

    • {"#P":"Percentile"}

    You could then use this substitution in an expression, as in this example:

    • #P = :val

    Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

    For more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.

  • ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • AttributesToGet - This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

+

A map of one or more table names or table ARNs and, for each table, a map that describes one or more items to retrieve from that table. Each table name or ARN can be used only once per BatchGetItem request.

Each element in the map of items to retrieve consists of the following:

  • ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used.

  • ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames:

    • To access an attribute whose name conflicts with a DynamoDB reserved word.

    • To create a placeholder for repeating occurrences of an attribute name in an expression.

    • To prevent special characters in an attribute name from being misinterpreted in an expression.

    Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

    • Percentile

    The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

    • {"#P":"Percentile"}

    You could then use this substitution in an expression, as in this example:

    • #P = :val

    Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

    For more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.

  • ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • AttributesToGet - This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) NSDictionary * _Nullable requestItems; @@ -1037,7 +1044,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSArray * _Nullable consumedCapacity; /** -

A map of table name to a list of items. Each object in Responses consists of a table name, along with a map of attribute data consisting of the data type and attribute value.

+

A map of table name or table ARN to a list of items. Each object in Responses consists of a table name or ARN, along with a map of attribute data consisting of the data type and attribute value.

*/ @property (nonatomic, strong) NSDictionary *> *> * _Nullable responses; @@ -1131,7 +1138,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

A map of one or more table names and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following:

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values are rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

+

A map of one or more table names or table ARNs and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following:

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values are rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

*/ @property (nonatomic, strong) NSDictionary *> * _Nullable requestItems; @@ -1164,7 +1171,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSDictionary *> * _Nullable itemCollectionMetrics; /** -

A map of tables and requests against those tables that were not processed. The UnprocessedItems value is in the same form as RequestItems, so you can provide this value directly to a subsequent BatchWriteItem operation. For more information, see RequestItems in the Request Parameters section.

Each UnprocessedItems entry consists of a table name and, for that table, a list of operations to perform (DeleteRequest or PutRequest).

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

If there are no unprocessed items remaining, the response contains an empty UnprocessedItems map.

+

A map of tables and requests against those tables that were not processed. The UnprocessedItems value is in the same form as RequestItems, so you can provide this value directly to a subsequent BatchWriteItem operation. For more information, see RequestItems in the Request Parameters section.

Each UnprocessedItems entry consists of a table name or table ARN and, for that table, a list of operations to perform (DeleteRequest or PutRequest).

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

If there are no unprocessed items remaining, the response contains an empty UnprocessedItems map.

*/ @property (nonatomic, strong) NSDictionary *> * _Nullable unprocessedItems; @@ -1286,7 +1293,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBReturnValuesOnConditionCheckFailure returnValuesOnConditionCheckFailure; /** -

Name of the table for the check item request.

+

Name of the table for the check item request. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -1324,7 +1331,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) AWSDynamoDBCapacity * _Nullable table; /** -

The name of the table that was affected by the operation.

+

The name of the table that was affected by the operation. If you had specified the Amazon Resource Name (ARN) of a table in the input, you'll see the table ARN in the response.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -1389,7 +1396,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSString * _Nullable backupName; /** -

The name of the table.

+

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -1558,6 +1565,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) AWSDynamoDBProvisionedThroughput * _Nullable provisionedThroughput; +/** +

An Amazon Web Services resource-based policy document in JSON format that will be attached to the table.

When you attach a resource-based policy while creating a table, the policy creation is strongly consistent.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. You can’t request an increase for this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.

+ */ +@property (nonatomic, strong) NSString * _Nullable resourcePolicy; + /**

Represents the settings used to enable server-side encryption.

*/ @@ -1574,7 +1586,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBTableClass tableClass; /** -

The name of the table to create.

+

The name of the table to create. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -1649,7 +1661,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBReturnValuesOnConditionCheckFailure returnValuesOnConditionCheckFailure; /** -

Name of the table in which the item to be deleted resides.

+

Name of the table in which the item to be deleted resides. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -1753,7 +1765,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBReturnValuesOnConditionCheckFailure returnValuesOnConditionCheckFailure; /** -

The name of the table from which to delete the item.

+

The name of the table from which to delete the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -1824,6 +1836,37 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @end +/** + + */ +@interface AWSDynamoDBDeleteResourcePolicyInput : AWSRequest + + +/** +

A string value that you can use to conditionally delete your policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, the request will fail and return a PolicyNotFoundException.

+ */ +@property (nonatomic, strong) NSString * _Nullable expectedRevisionId; + +/** +

The Amazon Resource Name (ARN) of the DynamoDB resource from which the policy will be removed. The resources you can specify include tables and streams. If you remove the policy of a table, it will also remove the permissions for the table's indexes defined in that policy document. This is because index permissions are defined in the table's policy.

+ */ +@property (nonatomic, strong) NSString * _Nullable resourceArn; + +@end + +/** + + */ +@interface AWSDynamoDBDeleteResourcePolicyOutput : AWSModel + + +/** +

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

This value will be empty if you make a request against a resource without a policy.

+ */ +@property (nonatomic, strong) NSString * _Nullable revisionId; + +@end + /**

Represents the input of a DeleteTable operation.

Required parameters: [TableName] @@ -1832,7 +1875,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The name of the table to delete.

+

The name of the table to delete. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -1884,7 +1927,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.

+

Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.

You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -1915,7 +1958,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSString * _Nullable indexName; /** -

The name of the table to describe.

+

The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -2096,7 +2139,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The name of the table being described.

+

The name of the table being described. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -2164,7 +2207,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The name of the table to describe.

+

The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -2190,7 +2233,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The name of the table.

+

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -2216,7 +2259,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The name of the table to be described.

+

The name of the table to be described. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -2580,7 +2623,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSString * _Nullable s3Bucket; /** -

The ID of the Amazon Web Services account that owns the bucket the export will be stored in.

+

The ID of the Amazon Web Services account that owns the bucket the export will be stored in.

S3BucketOwner is a required parameter when exporting to a S3 bucket in another account.

*/ @property (nonatomic, strong) NSString * _Nullable s3BucketOwner; @@ -2660,7 +2703,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSString * _Nullable projectionExpression; /** -

The name of the table from which to retrieve the specified item.

+

The name of the table from which to retrieve the specified item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -2704,7 +2747,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBReturnConsumedCapacity returnConsumedCapacity; /** -

The name of the table containing the requested item.

+

The name of the table containing the requested item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -2728,6 +2771,37 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @end +/** + + */ +@interface AWSDynamoDBGetResourcePolicyInput : AWSRequest + + +/** +

The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy is attached. The resources you can specify include tables and streams.

+ */ +@property (nonatomic, strong) NSString * _Nullable resourceArn; + +@end + +/** + + */ +@interface AWSDynamoDBGetResourcePolicyOutput : AWSModel + + +/** +

The resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

+ */ +@property (nonatomic, strong) NSString * _Nullable policy; + +/** +

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

+ */ +@property (nonatomic, strong) NSString * _Nullable revisionId; + +@end + /**

Represents the properties of a global secondary index.

Required parameters: [IndexName, KeySchema, Projection] @@ -3321,7 +3395,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSString * _Nullable streamArn; /** -

The name of the DynamoDB table.

+

The name of the DynamoDB table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -3377,7 +3451,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSNumber * _Nullable limit; /** -

The backups from the table specified by TableName are listed.

+

Lists the backups from the table specified in TableName. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -3428,7 +3502,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

The name of the table.

+

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -3805,7 +3879,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSArray * _Nullable nonKeyAttributes; /** -

The set of attributes that are projected into the index:

  • KEYS_ONLY - Only the index and primary keys are projected into the index.

  • INCLUDE - In addition to the attributes described in KEYS_ONLY, the secondary index will include other non-key attributes that you specify.

  • ALL - All of the table attributes are projected into the index.

+

The set of attributes that are projected into the index:

  • KEYS_ONLY - Only the index and primary keys are projected into the index.

  • INCLUDE - In addition to the attributes described in KEYS_ONLY, the secondary index will include other non-key attributes that you specify.

  • ALL - All of the table attributes are projected into the index.

When using the DynamoDB console, ALL is selected by default.

*/ @property (nonatomic, assign) AWSDynamoDBProjectionType projectionType; @@ -3909,7 +3983,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBReturnValuesOnConditionCheckFailure returnValuesOnConditionCheckFailure; /** -

Name of the table in which to write the item.

+

Name of the table in which to write the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -3973,7 +4047,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBReturnValuesOnConditionCheckFailure returnValuesOnConditionCheckFailure; /** -

The name of the table to contain the item.

+

The name of the table to contain the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -4016,6 +4090,47 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @end +/** + + */ +@interface AWSDynamoDBPutResourcePolicyInput : AWSRequest + + +/** +

Set this parameter to true to confirm that you want to remove your permissions to change the policy of this resource in the future.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable confirmRemoveSelfResourceAccess; + +/** +

A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, your request will be rejected with a PolicyNotFoundException.

To conditionally put a policy when no policy exists for the resource, specify NO_POLICY for the revision ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable expectedRevisionId; + +/** +

An Amazon Web Services resource-based policy document in JSON format.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.

+ */ +@property (nonatomic, strong) NSString * _Nullable policy; + +/** +

The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy will be attached. The resources you can specify include tables and streams.

You can control index permissions using the base table's policy. To specify the same permission level for your table and its indexes, you can provide both the table and index Amazon Resource Name (ARN)s in the Resource field of a given Statement in your policy document. Alternatively, to specify different permissions for your table, indexes, or both, you can define multiple Statement fields in your policy document.

+ */ +@property (nonatomic, strong) NSString * _Nullable resourceArn; + +@end + +/** + + */ +@interface AWSDynamoDBPutResourcePolicyOutput : AWSModel + + +/** +

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

+ */ +@property (nonatomic, strong) NSString * _Nullable revisionId; + +@end + /**

Represents the input of a Query operation.

Required parameters: [TableName] @@ -4054,7 +4169,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSDictionary * _Nullable expressionAttributeValues; /** -

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

+

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) NSString * _Nullable filterExpression; @@ -4104,7 +4219,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBSelect select; /** -

The name of the table containing the requested items.

+

The name of the table containing the requested items. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -4850,7 +4965,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBSelect select; /** -

The name of the table containing the requested items; or, if you provide IndexName, the name of the table to which that index belongs.

+

The name of the table containing the requested items or if you provide IndexName, the name of the table to which that index belongs.

You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -5457,7 +5572,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBReturnValuesOnConditionCheckFailure returnValuesOnConditionCheckFailure; /** -

Name of the table for the UpdateItem request.

+

Name of the table for the UpdateItem request. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -5480,7 +5595,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) AWSDynamoDBPointInTimeRecoverySpecification * _Nullable pointInTimeRecoverySpecification; /** -

The name of the table.

+

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -5516,7 +5631,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSString * _Nullable indexName; /** -

The name of the table.

+

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -5714,7 +5829,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBReturnValuesOnConditionCheckFailure returnValuesOnConditionCheckFailure; /** -

The name of the table containing the item to update.

+

The name of the table containing the item to update. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -5768,12 +5883,12 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The ARN for the Kinesis stream input.

+

The Amazon Resource Name (ARN) for the Kinesis stream input.

*/ @property (nonatomic, strong) NSString * _Nullable streamArn; /** -

The table name for the Kinesis streaming destination input.

+

The table name for the Kinesis streaming destination input. You can also provide the ARN of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -5899,7 +6014,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, assign) AWSDynamoDBTableClass tableClass; /** -

The name of the table to be updated.

+

The name of the table to be updated. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -5940,7 +6055,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSArray * _Nullable replicaUpdates; /** -

The name of the global table to be updated.

+

The name of the global table to be updated. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; @@ -5967,7 +6082,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The name of the table to be configured.

+

The name of the table to be configured. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable tableName; diff --git a/AWSDynamoDB/AWSDynamoDBModel.m b/AWSDynamoDB/AWSDynamoDBModel.m index 530f0d3e449..82584602373 100644 --- a/AWSDynamoDB/AWSDynamoDBModel.m +++ b/AWSDynamoDB/AWSDynamoDBModel.m @@ -1448,6 +1448,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"keySchema" : @"KeySchema", @"localSecondaryIndexes" : @"LocalSecondaryIndexes", @"provisionedThroughput" : @"ProvisionedThroughput", + @"resourcePolicy" : @"ResourcePolicy", @"SSESpecification" : @"SSESpecification", @"streamSpecification" : @"StreamSpecification", @"tableClass" : @"TableClass", @@ -1922,6 +1923,35 @@ + (NSValueTransformer *)keyJSONTransformer { @end +@implementation AWSDynamoDBDeleteResourcePolicyInput + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"expectedRevisionId" : @"ExpectedRevisionId", + @"resourceArn" : @"ResourceArn", + }; +} + +@end + +@implementation AWSDynamoDBDeleteResourcePolicyOutput + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"revisionId" : @"RevisionId", + }; +} + +@end + @implementation AWSDynamoDBDeleteTableInput + (BOOL)supportsSecureCoding { @@ -3189,6 +3219,35 @@ + (NSValueTransformer *)itemJSONTransformer { @end +@implementation AWSDynamoDBGetResourcePolicyInput + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"resourceArn" : @"ResourceArn", + }; +} + +@end + +@implementation AWSDynamoDBGetResourcePolicyOutput + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"policy" : @"Policy", + @"revisionId" : @"RevisionId", + }; +} + +@end + @implementation AWSDynamoDBGlobalSecondaryIndex + (BOOL)supportsSecureCoding { @@ -5009,6 +5068,37 @@ + (NSValueTransformer *)itemJSONTransformer { @end +@implementation AWSDynamoDBPutResourcePolicyInput + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"confirmRemoveSelfResourceAccess" : @"ConfirmRemoveSelfResourceAccess", + @"expectedRevisionId" : @"ExpectedRevisionId", + @"policy" : @"Policy", + @"resourceArn" : @"ResourceArn", + }; +} + +@end + +@implementation AWSDynamoDBPutResourcePolicyOutput + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"revisionId" : @"RevisionId", + }; +} + +@end + @implementation AWSDynamoDBQueryInput + (BOOL)supportsSecureCoding { diff --git a/AWSDynamoDB/AWSDynamoDBResources.m b/AWSDynamoDB/AWSDynamoDBResources.m index c551dc37572..38a84a03abb 100644 --- a/AWSDynamoDB/AWSDynamoDBResources.m +++ b/AWSDynamoDB/AWSDynamoDBResources.m @@ -216,6 +216,25 @@ - (NSString *)definitionString { \"endpointdiscovery\":{\ }\ },\ + \"DeleteResourcePolicy\":{\ + \"name\":\"DeleteResourcePolicy\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DeleteResourcePolicyInput\"},\ + \"output\":{\"shape\":\"DeleteResourcePolicyOutput\"},\ + \"errors\":[\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"PolicyNotFoundException\"},\ + {\"shape\":\"ResourceInUseException\"},\ + {\"shape\":\"LimitExceededException\"}\ + ],\ + \"documentation\":\"

Deletes the resource-based policy attached to the resource, which can be a table or stream.

DeleteResourcePolicy is an idempotent operation; running it multiple times on the same resource doesn't result in an error response, unless you specify an ExpectedRevisionId, which will then return a PolicyNotFoundException.

To make sure that you don't inadvertently lock yourself out of your own resources, the root principal in your Amazon Web Services account can perform DeleteResourcePolicy requests, even if your resource-based policy explicitly denies the root principal's access.

DeleteResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after running the DeleteResourcePolicy request, DynamoDB might still return the deleted policy. This is because the policy for your resource might not have been deleted yet. Wait for a few seconds, and then try the GetResourcePolicy request again.

\",\ + \"endpointdiscovery\":{\ + }\ + },\ \"DeleteTable\":{\ \"name\":\"DeleteTable\",\ \"http\":{\ @@ -539,6 +558,23 @@ - (NSString *)definitionString { \"endpointdiscovery\":{\ }\ },\ + \"GetResourcePolicy\":{\ + \"name\":\"GetResourcePolicy\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetResourcePolicyInput\"},\ + \"output\":{\"shape\":\"GetResourcePolicyOutput\"},\ + \"errors\":[\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"PolicyNotFoundException\"}\ + ],\ + \"documentation\":\"

Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request:

  • If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException.

  • If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request.

  • If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException.

Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request.

After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, you can assume the policy will start getting applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable request will always be applied to all requests for that table.

\",\ + \"endpointdiscovery\":{\ + }\ + },\ \"ImportTable\":{\ \"name\":\"ImportTable\",\ \"http\":{\ @@ -677,6 +713,25 @@ - (NSString *)definitionString { \"endpointdiscovery\":{\ }\ },\ + \"PutResourcePolicy\":{\ + \"name\":\"PutResourcePolicy\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"PutResourcePolicyInput\"},\ + \"output\":{\"shape\":\"PutResourcePolicyOutput\"},\ + \"errors\":[\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"LimitExceededException\"},\ + {\"shape\":\"PolicyNotFoundException\"},\ + {\"shape\":\"ResourceInUseException\"}\ + ],\ + \"documentation\":\"

Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent .

PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId which doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned.

PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.

\",\ + \"endpointdiscovery\":{\ + }\ + },\ \"Query\":{\ \"name\":\"Query\",\ \"http\":{\ @@ -874,7 +929,7 @@ - (NSString *)definitionString { {\"shape\":\"ReplicaNotFoundException\"},\ {\"shape\":\"TableNotFoundException\"}\ ],\ - \"documentation\":\"

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use DescribeTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

\",\ + \"documentation\":\"

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -951,7 +1006,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request on the base table nor any replicas. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

\",\ + \"documentation\":\"

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -1041,7 +1096,7 @@ - (NSString *)definitionString { \"documentation\":\"

The data type for the attribute, where:

  • S - the attribute is of type String

  • N - the attribute is of type Number

  • B - the attribute is of type Binary

\"\ }\ },\ - \"documentation\":\"

Represents an attribute for describing the key schema for the table and indexes.

\"\ + \"documentation\":\"

Represents an attribute for describing the schema for the table and indexes.

\"\ },\ \"AttributeDefinitions\":{\ \"type\":\"list\",\ @@ -1475,7 +1530,7 @@ - (NSString *)definitionString { \"members\":{\ \"RequestItems\":{\ \"shape\":\"BatchGetRequestMap\",\ - \"documentation\":\"

A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

Each element in the map of items to retrieve consists of the following:

  • ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used.

  • ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames:

    • To access an attribute whose name conflicts with a DynamoDB reserved word.

    • To create a placeholder for repeating occurrences of an attribute name in an expression.

    • To prevent special characters in an attribute name from being misinterpreted in an expression.

    Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

    • Percentile

    The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

    • {\\\"#P\\\":\\\"Percentile\\\"}

    You could then use this substitution in an expression, as in this example:

    • #P = :val

    Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

    For more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.

  • ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • AttributesToGet - This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

\"\ + \"documentation\":\"

A map of one or more table names or table ARNs and, for each table, a map that describes one or more items to retrieve from that table. Each table name or ARN can be used only once per BatchGetItem request.

Each element in the map of items to retrieve consists of the following:

  • ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used.

  • ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames:

    • To access an attribute whose name conflicts with a DynamoDB reserved word.

    • To create a placeholder for repeating occurrences of an attribute name in an expression.

    • To prevent special characters in an attribute name from being misinterpreted in an expression.

    Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

    • Percentile

    The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

    • {\\\"#P\\\":\\\"Percentile\\\"}

    You could then use this substitution in an expression, as in this example:

    • #P = :val

    Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

    For more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.

  • ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • AttributesToGet - This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

\"\ },\ \"ReturnConsumedCapacity\":{\"shape\":\"ReturnConsumedCapacity\"}\ },\ @@ -1486,7 +1541,7 @@ - (NSString *)definitionString { \"members\":{\ \"Responses\":{\ \"shape\":\"BatchGetResponseMap\",\ - \"documentation\":\"

A map of table name to a list of items. Each object in Responses consists of a table name, along with a map of attribute data consisting of the data type and attribute value.

\"\ + \"documentation\":\"

A map of table name or table ARN to a list of items. Each object in Responses consists of a table name or ARN, along with a map of attribute data consisting of the data type and attribute value.

\"\ },\ \"UnprocessedKeys\":{\ \"shape\":\"BatchGetRequestMap\",\ @@ -1501,14 +1556,14 @@ - (NSString *)definitionString { },\ \"BatchGetRequestMap\":{\ \"type\":\"map\",\ - \"key\":{\"shape\":\"TableName\"},\ + \"key\":{\"shape\":\"TableArn\"},\ \"value\":{\"shape\":\"KeysAndAttributes\"},\ \"max\":100,\ \"min\":1\ },\ \"BatchGetResponseMap\":{\ \"type\":\"map\",\ - \"key\":{\"shape\":\"TableName\"},\ + \"key\":{\"shape\":\"TableArn\"},\ \"value\":{\"shape\":\"ItemList\"}\ },\ \"BatchStatementError\":{\ @@ -1592,7 +1647,7 @@ - (NSString *)definitionString { \"members\":{\ \"RequestItems\":{\ \"shape\":\"BatchWriteItemRequestMap\",\ - \"documentation\":\"

A map of one or more table names and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following:

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values are rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

\"\ + \"documentation\":\"

A map of one or more table names or table ARNs and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following:

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values are rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

\"\ },\ \"ReturnConsumedCapacity\":{\"shape\":\"ReturnConsumedCapacity\"},\ \"ReturnItemCollectionMetrics\":{\ @@ -1607,7 +1662,7 @@ - (NSString *)definitionString { \"members\":{\ \"UnprocessedItems\":{\ \"shape\":\"BatchWriteItemRequestMap\",\ - \"documentation\":\"

A map of tables and requests against those tables that were not processed. The UnprocessedItems value is in the same form as RequestItems, so you can provide this value directly to a subsequent BatchWriteItem operation. For more information, see RequestItems in the Request Parameters section.

Each UnprocessedItems entry consists of a table name and, for that table, a list of operations to perform (DeleteRequest or PutRequest).

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

If there are no unprocessed items remaining, the response contains an empty UnprocessedItems map.

\"\ + \"documentation\":\"

A map of tables and requests against those tables that were not processed. The UnprocessedItems value is in the same form as RequestItems, so you can provide this value directly to a subsequent BatchWriteItem operation. For more information, see RequestItems in the Request Parameters section.

Each UnprocessedItems entry consists of a table name or table ARN and, for that table, a list of operations to perform (DeleteRequest or PutRequest).

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

If there are no unprocessed items remaining, the response contains an empty UnprocessedItems map.

\"\ },\ \"ItemCollectionMetrics\":{\ \"shape\":\"ItemCollectionMetricsPerTable\",\ @@ -1622,7 +1677,7 @@ - (NSString *)definitionString { },\ \"BatchWriteItemRequestMap\":{\ \"type\":\"map\",\ - \"key\":{\"shape\":\"TableName\"},\ + \"key\":{\"shape\":\"TableArn\"},\ \"value\":{\"shape\":\"WriteRequests\"},\ \"max\":25,\ \"min\":1\ @@ -1762,8 +1817,8 @@ - (NSString *)definitionString { \"documentation\":\"

The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.

\"\ },\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

Name of the table for the check item request.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

Name of the table for the check item request. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"ConditionExpression\":{\ \"shape\":\"ConditionExpression\",\ @@ -1807,13 +1862,14 @@ - (NSString *)definitionString { \"OR\"\ ]\ },\ + \"ConfirmRemoveSelfResourceAccess\":{\"type\":\"boolean\"},\ \"ConsistentRead\":{\"type\":\"boolean\"},\ \"ConsumedCapacity\":{\ \"type\":\"structure\",\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table that was affected by the operation.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table that was affected by the operation. If you had specified the Amazon Resource Name (ARN) of a table in the input, you'll see the table ARN in the response.

\"\ },\ \"CapacityUnits\":{\ \"shape\":\"ConsumedCapacityUnits\",\ @@ -1932,8 +1988,8 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"BackupName\":{\ \"shape\":\"BackupName\",\ @@ -2054,8 +2110,8 @@ - (NSString *)definitionString { \"documentation\":\"

An array of attributes that describe the key schema for the table and indexes.

\"\ },\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table to create.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table to create. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"KeySchema\":{\ \"shape\":\"KeySchema\",\ @@ -2096,6 +2152,10 @@ - (NSString *)definitionString { \"DeletionProtectionEnabled\":{\ \"shape\":\"DeletionProtectionEnabled\",\ \"documentation\":\"

Indicates whether deletion protection is to be enabled (true) or disabled (false) on the table.

\"\ + },\ + \"ResourcePolicy\":{\ + \"shape\":\"ResourcePolicy\",\ + \"documentation\":\"

An Amazon Web Services resource-based policy document in JSON format that will be attached to the table.

When you attach a resource-based policy while creating a table, the policy creation is strongly consistent.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. You can’t request an increase for this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.

\"\ }\ },\ \"documentation\":\"

Represents the input of a CreateTable operation.

\"\ @@ -2155,8 +2215,8 @@ - (NSString *)definitionString { \"documentation\":\"

The primary key of the item to be deleted. Each element consists of an attribute name and a value for that attribute.

\"\ },\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

Name of the table in which the item to be deleted resides.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

Name of the table in which the item to be deleted resides. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"ConditionExpression\":{\ \"shape\":\"ConditionExpression\",\ @@ -2215,8 +2275,8 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table from which to delete the item.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table from which to delete the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"Key\":{\ \"shape\":\"Key\",\ @@ -2309,13 +2369,36 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Represents a request to perform a DeleteItem operation on an item.

\"\ },\ + \"DeleteResourcePolicyInput\":{\ + \"type\":\"structure\",\ + \"required\":[\"ResourceArn\"],\ + \"members\":{\ + \"ResourceArn\":{\ + \"shape\":\"ResourceArnString\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the DynamoDB resource from which the policy will be removed. The resources you can specify include tables and streams. If you remove the policy of a table, it will also remove the permissions for the table's indexes defined in that policy document. This is because index permissions are defined in the table's policy.

\"\ + },\ + \"ExpectedRevisionId\":{\ + \"shape\":\"PolicyRevisionId\",\ + \"documentation\":\"

A string value that you can use to conditionally delete your policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, the request will fail and return a PolicyNotFoundException.

\"\ + }\ + }\ + },\ + \"DeleteResourcePolicyOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"RevisionId\":{\ + \"shape\":\"PolicyRevisionId\",\ + \"documentation\":\"

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

This value will be empty if you make a request against a resource without a policy.

\"\ + }\ + }\ + },\ \"DeleteTableInput\":{\ \"type\":\"structure\",\ \"required\":[\"TableName\"],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table to delete.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table to delete. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ }\ },\ \"documentation\":\"

Represents the input of a DeleteTable operation.

\"\ @@ -2355,8 +2438,8 @@ - (NSString *)definitionString { \"required\":[\"TableName\"],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.

You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ }\ }\ },\ @@ -2374,8 +2457,8 @@ - (NSString *)definitionString { \"required\":[\"TableName\"],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table to describe.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"IndexName\":{\ \"shape\":\"IndexName\",\ @@ -2513,8 +2596,8 @@ - (NSString *)definitionString { \"required\":[\"TableName\"],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table being described.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table being described. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ }\ }\ },\ @@ -2564,8 +2647,8 @@ - (NSString *)definitionString { \"required\":[\"TableName\"],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table to describe.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table to describe. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ }\ },\ \"documentation\":\"

Represents the input of a DescribeTable operation.

\"\ @@ -2585,8 +2668,8 @@ - (NSString *)definitionString { \"required\":[\"TableName\"],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ }\ }\ },\ @@ -2604,8 +2687,8 @@ - (NSString *)definitionString { \"required\":[\"TableName\"],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table to be described.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table to be described. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ }\ }\ },\ @@ -2964,7 +3047,7 @@ - (NSString *)definitionString { },\ \"S3BucketOwner\":{\ \"shape\":\"S3BucketOwner\",\ - \"documentation\":\"

The ID of the Amazon Web Services account that owns the bucket the export will be stored in.

\"\ + \"documentation\":\"

The ID of the Amazon Web Services account that owns the bucket the export will be stored in.

S3BucketOwner is a required parameter when exporting to a S3 bucket in another account.

\"\ },\ \"S3Prefix\":{\ \"shape\":\"S3Prefix\",\ @@ -3062,8 +3145,8 @@ - (NSString *)definitionString { \"documentation\":\"

A map of attribute names to AttributeValue objects that specifies the primary key of the item to retrieve.

\"\ },\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table from which to retrieve the specified item.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table from which to retrieve the specified item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"ProjectionExpression\":{\ \"shape\":\"ProjectionExpression\",\ @@ -3084,8 +3167,8 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table containing the requested item.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table containing the requested item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"Key\":{\ \"shape\":\"Key\",\ @@ -3125,6 +3208,29 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Represents the output of a GetItem operation.

\"\ },\ + \"GetResourcePolicyInput\":{\ + \"type\":\"structure\",\ + \"required\":[\"ResourceArn\"],\ + \"members\":{\ + \"ResourceArn\":{\ + \"shape\":\"ResourceArnString\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy is attached. The resources you can specify include tables and streams.

\"\ + }\ + }\ + },\ + \"GetResourcePolicyOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Policy\":{\ + \"shape\":\"ResourcePolicy\",\ + \"documentation\":\"

The resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

\"\ + },\ + \"RevisionId\":{\ + \"shape\":\"PolicyRevisionId\",\ + \"documentation\":\"

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

\"\ + }\ + }\ + },\ \"GlobalSecondaryIndex\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -3703,7 +3809,7 @@ - (NSString *)definitionString { },\ \"ItemCollectionMetricsPerTable\":{\ \"type\":\"map\",\ - \"key\":{\"shape\":\"TableName\"},\ + \"key\":{\"shape\":\"TableArn\"},\ \"value\":{\"shape\":\"ItemCollectionMetricsMultiple\"}\ },\ \"ItemCollectionSizeEstimateBound\":{\"type\":\"double\"},\ @@ -3862,8 +3968,8 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the DynamoDB table.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the DynamoDB table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"StreamArn\":{\ \"shape\":\"StreamArn\",\ @@ -3916,8 +4022,8 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The backups from the table specified by TableName are listed.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

Lists the backups from the table specified in TableName. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"Limit\":{\ \"shape\":\"BackupsInputLimit\",\ @@ -3958,8 +4064,8 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"NextToken\":{\ \"shape\":\"NextTokenString\",\ @@ -4349,6 +4455,19 @@ - (NSString *)definitionString { \"documentation\":\"

Point in time recovery has not yet been enabled for this source table.

\",\ \"exception\":true\ },\ + \"PolicyNotFoundException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"message\":{\"shape\":\"ErrorMessage\"}\ + },\ + \"documentation\":\"

The operation tried to access a nonexistent resource-based policy.

If you specified an ExpectedRevisionId, it's possible that a policy is present for the resource but its revision ID didn't match the expected value.

\",\ + \"exception\":true\ + },\ + \"PolicyRevisionId\":{\ + \"type\":\"string\",\ + \"max\":255,\ + \"min\":1\ + },\ \"PositiveIntegerObject\":{\ \"type\":\"integer\",\ \"min\":1\ @@ -4371,7 +4490,7 @@ - (NSString *)definitionString { \"members\":{\ \"ProjectionType\":{\ \"shape\":\"ProjectionType\",\ - \"documentation\":\"

The set of attributes that are projected into the index:

  • KEYS_ONLY - Only the index and primary keys are projected into the index.

  • INCLUDE - In addition to the attributes described in KEYS_ONLY, the secondary index will include other non-key attributes that you specify.

  • ALL - All of the table attributes are projected into the index.

\"\ + \"documentation\":\"

The set of attributes that are projected into the index:

  • KEYS_ONLY - Only the index and primary keys are projected into the index.

  • INCLUDE - In addition to the attributes described in KEYS_ONLY, the secondary index will include other non-key attributes that you specify.

  • ALL - All of the table attributes are projected into the index.

When using the DynamoDB console, ALL is selected by default.

\"\ },\ \"NonKeyAttributes\":{\ \"shape\":\"NonKeyAttributeNameList\",\ @@ -4466,8 +4585,8 @@ - (NSString *)definitionString { \"documentation\":\"

A map of attribute name to attribute values, representing the primary key of the item to be written by PutItem. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema. If any attributes are present in the item that are part of an index key schema for the table, their types must match the index key schema.

\"\ },\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

Name of the table in which to write the item.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

Name of the table in which to write the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"ConditionExpression\":{\ \"shape\":\"ConditionExpression\",\ @@ -4496,8 +4615,8 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table to contain the item.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table to contain the item. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"Item\":{\ \"shape\":\"PutItemInputAttributeMap\",\ @@ -4573,13 +4692,47 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Represents a request to perform a PutItem operation on an item.

\"\ },\ + \"PutResourcePolicyInput\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"ResourceArn\",\ + \"Policy\"\ + ],\ + \"members\":{\ + \"ResourceArn\":{\ + \"shape\":\"ResourceArnString\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the DynamoDB resource to which the policy will be attached. The resources you can specify include tables and streams.

You can control index permissions using the base table's policy. To specify the same permission level for your table and its indexes, you can provide both the table and index Amazon Resource Name (ARN)s in the Resource field of a given Statement in your policy document. Alternatively, to specify different permissions for your table, indexes, or both, you can define multiple Statement fields in your policy document.

\"\ + },\ + \"Policy\":{\ + \"shape\":\"ResourcePolicy\",\ + \"documentation\":\"

An Amazon Web Services resource-based policy document in JSON format.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.

\"\ + },\ + \"ExpectedRevisionId\":{\ + \"shape\":\"PolicyRevisionId\",\ + \"documentation\":\"

A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, your request will be rejected with a PolicyNotFoundException.

To conditionally put a policy when no policy exists for the resource, specify NO_POLICY for the revision ID.

\"\ + },\ + \"ConfirmRemoveSelfResourceAccess\":{\ + \"shape\":\"ConfirmRemoveSelfResourceAccess\",\ + \"documentation\":\"

Set this parameter to true to confirm that you want to remove your permissions to change the policy of this resource in the future.

\"\ + }\ + }\ + },\ + \"PutResourcePolicyOutput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"RevisionId\":{\ + \"shape\":\"PolicyRevisionId\",\ + \"documentation\":\"

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

\"\ + }\ + }\ + },\ \"QueryInput\":{\ \"type\":\"structure\",\ \"required\":[\"TableName\"],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table containing the requested items.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table containing the requested items. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"IndexName\":{\ \"shape\":\"IndexName\",\ @@ -4628,7 +4781,7 @@ - (NSString *)definitionString { },\ \"FilterExpression\":{\ \"shape\":\"ConditionExpression\",\ - \"documentation\":\"

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

\"\ + \"documentation\":\"

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

\"\ },\ \"KeyConditionExpression\":{\ \"shape\":\"KeyExpression\",\ @@ -5090,6 +5243,7 @@ - (NSString *)definitionString { \"documentation\":\"

The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE.

\",\ \"exception\":true\ },\ + \"ResourcePolicy\":{\"type\":\"string\"},\ \"RestoreInProgress\":{\"type\":\"boolean\"},\ \"RestoreSummary\":{\ \"type\":\"structure\",\ @@ -5366,8 +5520,8 @@ - (NSString *)definitionString { \"required\":[\"TableName\"],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table containing the requested items; or, if you provide IndexName, the name of the table to which that index belongs.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table containing the requested items or if you provide IndexName, the name of the table to which that index belongs.

You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"IndexName\":{\ \"shape\":\"IndexName\",\ @@ -5598,7 +5752,11 @@ - (NSString *)definitionString { \"documentation\":\"

A target table with the specified name already exists.

\",\ \"exception\":true\ },\ - \"TableArn\":{\"type\":\"string\"},\ + \"TableArn\":{\ + \"type\":\"string\",\ + \"max\":1024,\ + \"min\":1\ + },\ \"TableAutoScalingDescription\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -6081,8 +6239,8 @@ - (NSString *)definitionString { \"documentation\":\"

An expression that defines one or more attributes to be updated, the action to be performed on them, and new value(s) for them.

\"\ },\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

Name of the table for the UpdateItem request.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

Name of the table for the UpdateItem request. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"ConditionExpression\":{\ \"shape\":\"ConditionExpression\",\ @@ -6111,8 +6269,8 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"PointInTimeRecoverySpecification\":{\ \"shape\":\"PointInTimeRecoverySpecification\",\ @@ -6137,8 +6295,8 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"IndexName\":{\ \"shape\":\"IndexName\",\ @@ -6263,8 +6421,8 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table containing the item to update.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table containing the item to update. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"Key\":{\ \"shape\":\"Key\",\ @@ -6350,12 +6508,12 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The table name for the Kinesis streaming destination input.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The table name for the Kinesis streaming destination input. You can also provide the ARN of the table in this parameter.

\"\ },\ \"StreamArn\":{\ \"shape\":\"StreamArn\",\ - \"documentation\":\"

The ARN for the Kinesis stream input.

\"\ + \"documentation\":\"

The Amazon Resource Name (ARN) for the Kinesis stream input.

\"\ },\ \"UpdateKinesisStreamingConfiguration\":{\ \"shape\":\"UpdateKinesisStreamingConfiguration\",\ @@ -6420,8 +6578,8 @@ - (NSString *)definitionString { \"documentation\":\"

An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, AttributeDefinitions must include the key element(s) of the new index.

\"\ },\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table to be updated.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table to be updated. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"BillingMode\":{\ \"shape\":\"BillingMode\",\ @@ -6477,8 +6635,8 @@ - (NSString *)definitionString { \"documentation\":\"

Represents the auto scaling settings of the global secondary indexes of the replica to be updated.

\"\ },\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the global table to be updated.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the global table to be updated. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"ProvisionedWriteCapacityAutoScalingUpdate\":{\"shape\":\"AutoScalingSettingsUpdate\"},\ \"ReplicaUpdates\":{\ @@ -6504,8 +6662,8 @@ - (NSString *)definitionString { ],\ \"members\":{\ \"TableName\":{\ - \"shape\":\"TableName\",\ - \"documentation\":\"

The name of the table to be configured.

\"\ + \"shape\":\"TableArn\",\ + \"documentation\":\"

The name of the table to be configured. You can also provide the Amazon Resource Name (ARN) of the table in this parameter.

\"\ },\ \"TimeToLiveSpecification\":{\ \"shape\":\"TimeToLiveSpecification\",\ diff --git a/AWSDynamoDB/AWSDynamoDBService.h b/AWSDynamoDB/AWSDynamoDBService.h index bf4ebeb888f..c89fce8edef 100644 --- a/AWSDynamoDB/AWSDynamoDBService.h +++ b/AWSDynamoDB/AWSDynamoDBService.h @@ -374,6 +374,31 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; */ - (void)deleteItem:(AWSDynamoDBDeleteItemInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBDeleteItemOutput * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Deletes the resource-based policy attached to the resource, which can be a table or stream.

DeleteResourcePolicy is an idempotent operation; running it multiple times on the same resource doesn't result in an error response, unless you specify an ExpectedRevisionId, which will then return a PolicyNotFoundException.

To make sure that you don't inadvertently lock yourself out of your own resources, the root principal in your Amazon Web Services account can perform DeleteResourcePolicy requests, even if your resource-based policy explicitly denies the root principal's access.

DeleteResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after running the DeleteResourcePolicy request, DynamoDB might still return the deleted policy. This is because the policy for your resource might not have been deleted yet. Wait for a few seconds, and then try the GetResourcePolicy request again.

+ + @param request A container for the necessary parameters to execute the DeleteResourcePolicy service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSDynamoDBDeleteResourcePolicyOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSDynamoDBErrorDomain` domain and the following error code: `AWSDynamoDBErrorResourceNotFound`, `AWSDynamoDBErrorInternalServer`, `AWSDynamoDBErrorPolicyNotFound`, `AWSDynamoDBErrorResourceInUse`, `AWSDynamoDBErrorLimitExceeded`. + + @see AWSDynamoDBDeleteResourcePolicyInput + @see AWSDynamoDBDeleteResourcePolicyOutput + */ +- (AWSTask *)deleteResourcePolicy:(AWSDynamoDBDeleteResourcePolicyInput *)request; + +/** +

Deletes the resource-based policy attached to the resource, which can be a table or stream.

DeleteResourcePolicy is an idempotent operation; running it multiple times on the same resource doesn't result in an error response, unless you specify an ExpectedRevisionId, which will then return a PolicyNotFoundException.

To make sure that you don't inadvertently lock yourself out of your own resources, the root principal in your Amazon Web Services account can perform DeleteResourcePolicy requests, even if your resource-based policy explicitly denies the root principal's access.

DeleteResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after running the DeleteResourcePolicy request, DynamoDB might still return the deleted policy. This is because the policy for your resource might not have been deleted yet. Wait for a few seconds, and then try the GetResourcePolicy request again.

+ + @param request A container for the necessary parameters to execute the DeleteResourcePolicy service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSDynamoDBErrorDomain` domain and the following error code: `AWSDynamoDBErrorResourceNotFound`, `AWSDynamoDBErrorInternalServer`, `AWSDynamoDBErrorPolicyNotFound`, `AWSDynamoDBErrorResourceInUse`, `AWSDynamoDBErrorLimitExceeded`. + + @see AWSDynamoDBDeleteResourcePolicyInput + @see AWSDynamoDBDeleteResourcePolicyOutput + */ +- (void)deleteResourcePolicy:(AWSDynamoDBDeleteResourcePolicyInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBDeleteResourcePolicyOutput * _Nullable response, NSError * _Nullable error))completionHandler; + /**

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

This operation only applies to Version 2019.11.21 (Current) of global tables.

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable action to check the status of the table.

@@ -874,6 +899,31 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; */ - (void)getItem:(AWSDynamoDBGetItemInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBGetItemOutput * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request:

  • If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException.

  • If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request.

  • If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException.

Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request.

After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, you can assume the policy will start getting applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable request will always be applied to all requests for that table.

+ + @param request A container for the necessary parameters to execute the GetResourcePolicy service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSDynamoDBGetResourcePolicyOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSDynamoDBErrorDomain` domain and the following error code: `AWSDynamoDBErrorResourceNotFound`, `AWSDynamoDBErrorInternalServer`, `AWSDynamoDBErrorPolicyNotFound`. + + @see AWSDynamoDBGetResourcePolicyInput + @see AWSDynamoDBGetResourcePolicyOutput + */ +- (AWSTask *)getResourcePolicy:(AWSDynamoDBGetResourcePolicyInput *)request; + +/** +

Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request:

  • If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException.

  • If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request.

  • If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException.

Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request.

After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, you can assume the policy will start getting applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable request will always be applied to all requests for that table.

+ + @param request A container for the necessary parameters to execute the GetResourcePolicy service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSDynamoDBErrorDomain` domain and the following error code: `AWSDynamoDBErrorResourceNotFound`, `AWSDynamoDBErrorInternalServer`, `AWSDynamoDBErrorPolicyNotFound`. + + @see AWSDynamoDBGetResourcePolicyInput + @see AWSDynamoDBGetResourcePolicyOutput + */ +- (void)getResourcePolicy:(AWSDynamoDBGetResourcePolicyInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBGetResourcePolicyOutput * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Imports table data from an S3 bucket.

@@ -1099,6 +1149,31 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; */ - (void)putItem:(AWSDynamoDBPutItemInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBPutItemOutput * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent.

PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId which doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned.

PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.

+ + @param request A container for the necessary parameters to execute the PutResourcePolicy service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSDynamoDBPutResourcePolicyOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSDynamoDBErrorDomain` domain and the following error code: `AWSDynamoDBErrorResourceNotFound`, `AWSDynamoDBErrorInternalServer`, `AWSDynamoDBErrorLimitExceeded`, `AWSDynamoDBErrorPolicyNotFound`, `AWSDynamoDBErrorResourceInUse`. + + @see AWSDynamoDBPutResourcePolicyInput + @see AWSDynamoDBPutResourcePolicyOutput + */ +- (AWSTask *)putResourcePolicy:(AWSDynamoDBPutResourcePolicyInput *)request; + +/** +

Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent.

PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId which doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned.

PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.

+ + @param request A container for the necessary parameters to execute the PutResourcePolicy service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSDynamoDBErrorDomain` domain and the following error code: `AWSDynamoDBErrorResourceNotFound`, `AWSDynamoDBErrorInternalServer`, `AWSDynamoDBErrorLimitExceeded`, `AWSDynamoDBErrorPolicyNotFound`, `AWSDynamoDBErrorResourceInUse`. + + @see AWSDynamoDBPutResourcePolicyInput + @see AWSDynamoDBPutResourcePolicyOutput + */ +- (void)putResourcePolicy:(AWSDynamoDBPutResourcePolicyInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBPutResourcePolicyOutput * _Nullable response, NSError * _Nullable error))completionHandler; + /**

You must provide the name of the partition key attribute and a single value for that attribute. Query returns all items with that partition key value. Optionally, you can provide a sort key attribute and use a comparison operator to refine the search results.

Use the KeyConditionExpression parameter to provide a specific value for the partition key. The Query operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query operation by specifying a sort key value and a comparison operator in KeyConditionExpression. To further refine the Query results, you can optionally provide a FilterExpression. A FilterExpression determines which items within the results should be returned to you. All of the other results are discarded.

A Query operation always returns a result set. If no matching items are found, the result set will be empty. Queries that do not return results consume the minimum number of read capacity units for that type of read operation.

DynamoDB calculates the number of read capacity units consumed based on item size, not on the amount of data that is returned to an application. The number of capacity units consumed will be the same whether you request all of the attributes (the default behavior) or just some of them (using a projection expression). The number will also be the same whether or not you use a FilterExpression.

Query results are always sorted by the sort key value. If the data type of the sort key is Number, the results are returned in numeric order; otherwise, the results are returned in order of UTF-8 bytes. By default, the sort order is ascending. To reverse the order, set the ScanIndexForward parameter to false.

A single Query operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

FilterExpression is applied after a Query finishes, but before the results are returned. A FilterExpression cannot contain partition key or sort key attributes. You need to specify those attributes in the KeyConditionExpression.

A Query operation can return an empty result set and a LastEvaluatedKey if all the items read for the page of results are filtered out.

You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead parameter to true and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead when querying a global secondary index.

@@ -1344,7 +1419,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)updateContributorInsights:(AWSDynamoDBUpdateContributorInsightsInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBUpdateContributorInsightsOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use DescribeTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

+

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

@param request A container for the necessary parameters to execute the UpdateGlobalTable service method. @@ -1356,7 +1431,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)updateGlobalTable:(AWSDynamoDBUpdateGlobalTableInput *)request; /** -

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use DescribeTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

+

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

@param request A container for the necessary parameters to execute the UpdateGlobalTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1444,7 +1519,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)updateKinesisStreamingDestination:(AWSDynamoDBUpdateKinesisStreamingDestinationInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBUpdateKinesisStreamingDestinationOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request on the base table nor any replicas. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

+

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

@param request A container for the necessary parameters to execute the UpdateTable service method. @@ -1456,7 +1531,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)updateTable:(AWSDynamoDBUpdateTableInput *)request; /** -

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request on the base table nor any replicas. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

+

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

@param request A container for the necessary parameters to execute the UpdateTable service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSDynamoDB/AWSDynamoDBService.m b/AWSDynamoDB/AWSDynamoDBService.m index ce39ec63454..8a2cf6314b4 100644 --- a/AWSDynamoDB/AWSDynamoDBService.m +++ b/AWSDynamoDB/AWSDynamoDBService.m @@ -59,6 +59,7 @@ + (void)initialize { @"ItemCollectionSizeLimitExceededException" : @(AWSDynamoDBErrorItemCollectionSizeLimitExceeded), @"LimitExceededException" : @(AWSDynamoDBErrorLimitExceeded), @"PointInTimeRecoveryUnavailableException" : @(AWSDynamoDBErrorPointInTimeRecoveryUnavailable), + @"PolicyNotFoundException" : @(AWSDynamoDBErrorPolicyNotFound), @"ProvisionedThroughputExceededException" : @(AWSDynamoDBErrorProvisionedThroughputExceeded), @"ReplicaAlreadyExistsException" : @(AWSDynamoDBErrorReplicaAlreadyExists), @"ReplicaNotFoundException" : @(AWSDynamoDBErrorReplicaNotFound), @@ -482,6 +483,29 @@ - (void)deleteItem:(AWSDynamoDBDeleteItemInput *)request }]; } +- (AWSTask *)deleteResourcePolicy:(AWSDynamoDBDeleteResourcePolicyInput *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"DynamoDB_20120810" + operationName:@"DeleteResourcePolicy" + outputClass:[AWSDynamoDBDeleteResourcePolicyOutput class]]; +} + +- (void)deleteResourcePolicy:(AWSDynamoDBDeleteResourcePolicyInput *)request + completionHandler:(void (^)(AWSDynamoDBDeleteResourcePolicyOutput *response, NSError *error))completionHandler { + [[self deleteResourcePolicy:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSDynamoDBDeleteResourcePolicyOutput *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)deleteTable:(AWSDynamoDBDeleteTableInput *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -942,6 +966,29 @@ - (void)getItem:(AWSDynamoDBGetItemInput *)request }]; } +- (AWSTask *)getResourcePolicy:(AWSDynamoDBGetResourcePolicyInput *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"DynamoDB_20120810" + operationName:@"GetResourcePolicy" + outputClass:[AWSDynamoDBGetResourcePolicyOutput class]]; +} + +- (void)getResourcePolicy:(AWSDynamoDBGetResourcePolicyInput *)request + completionHandler:(void (^)(AWSDynamoDBGetResourcePolicyOutput *response, NSError *error))completionHandler { + [[self getResourcePolicy:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSDynamoDBGetResourcePolicyOutput *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)importTable:(AWSDynamoDBImportTableInput *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -1149,6 +1196,29 @@ - (void)putItem:(AWSDynamoDBPutItemInput *)request }]; } +- (AWSTask *)putResourcePolicy:(AWSDynamoDBPutResourcePolicyInput *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"DynamoDB_20120810" + operationName:@"PutResourcePolicy" + outputClass:[AWSDynamoDBPutResourcePolicyOutput class]]; +} + +- (void)putResourcePolicy:(AWSDynamoDBPutResourcePolicyInput *)request + completionHandler:(void (^)(AWSDynamoDBPutResourcePolicyOutput *response, NSError *error))completionHandler { + [[self putResourcePolicy:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSDynamoDBPutResourcePolicyOutput *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)query:(AWSDynamoDBQueryInput *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m b/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m index f38d9eb7bec..d643c8fbb20 100644 --- a/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m +++ b/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m @@ -68,6 +68,8 @@ - (void) test_AWSDynamoDBDeleteItemOutput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBDeleteReplicaAction API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBDeleteReplicationGroupMemberAction API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBDeleteRequest API_AVAILABLE(ios(11)); +- (void) test_AWSDynamoDBDeleteResourcePolicyInput API_AVAILABLE(ios(11)); +- (void) test_AWSDynamoDBDeleteResourcePolicyOutput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBDeleteTableInput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBDeleteTableOutput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBDescribeBackupInput API_AVAILABLE(ios(11)); @@ -111,6 +113,8 @@ - (void) test_AWSDynamoDBFailureException API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBGet API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBGetItemInput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBGetItemOutput API_AVAILABLE(ios(11)); +- (void) test_AWSDynamoDBGetResourcePolicyInput API_AVAILABLE(ios(11)); +- (void) test_AWSDynamoDBGetResourcePolicyOutput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBGlobalSecondaryIndex API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBGlobalSecondaryIndexAutoScalingUpdate API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBGlobalSecondaryIndexDescription API_AVAILABLE(ios(11)); @@ -160,6 +164,8 @@ - (void) test_AWSDynamoDBPut API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBPutItemInput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBPutItemOutput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBPutRequest API_AVAILABLE(ios(11)); +- (void) test_AWSDynamoDBPutResourcePolicyInput API_AVAILABLE(ios(11)); +- (void) test_AWSDynamoDBPutResourcePolicyOutput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBQueryInput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBQueryOutput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBReplica API_AVAILABLE(ios(11)); @@ -428,6 +434,14 @@ - (void) test_AWSDynamoDBDeleteRequest { [self validateSecureCodingForClass:[AWSDynamoDBDeleteRequest class]]; } +- (void) test_AWSDynamoDBDeleteResourcePolicyInput { + [self validateSecureCodingForClass:[AWSDynamoDBDeleteResourcePolicyInput class]]; +} + +- (void) test_AWSDynamoDBDeleteResourcePolicyOutput { + [self validateSecureCodingForClass:[AWSDynamoDBDeleteResourcePolicyOutput class]]; +} + - (void) test_AWSDynamoDBDeleteTableInput { [self validateSecureCodingForClass:[AWSDynamoDBDeleteTableInput class]]; } @@ -600,6 +614,14 @@ - (void) test_AWSDynamoDBGetItemOutput { [self validateSecureCodingForClass:[AWSDynamoDBGetItemOutput class]]; } +- (void) test_AWSDynamoDBGetResourcePolicyInput { + [self validateSecureCodingForClass:[AWSDynamoDBGetResourcePolicyInput class]]; +} + +- (void) test_AWSDynamoDBGetResourcePolicyOutput { + [self validateSecureCodingForClass:[AWSDynamoDBGetResourcePolicyOutput class]]; +} + - (void) test_AWSDynamoDBGlobalSecondaryIndex { [self validateSecureCodingForClass:[AWSDynamoDBGlobalSecondaryIndex class]]; } @@ -796,6 +818,14 @@ - (void) test_AWSDynamoDBPutRequest { [self validateSecureCodingForClass:[AWSDynamoDBPutRequest class]]; } +- (void) test_AWSDynamoDBPutResourcePolicyInput { + [self validateSecureCodingForClass:[AWSDynamoDBPutResourcePolicyInput class]]; +} + +- (void) test_AWSDynamoDBPutResourcePolicyOutput { + [self validateSecureCodingForClass:[AWSDynamoDBPutResourcePolicyOutput class]]; +} + - (void) test_AWSDynamoDBQueryInput { [self validateSecureCodingForClass:[AWSDynamoDBQueryInput class]]; } diff --git a/AWSDynamoDBUnitTests/AWSGeneralDynamoDBTests.m b/AWSDynamoDBUnitTests/AWSGeneralDynamoDBTests.m index bb65d0efa5f..2a3319f05b6 100644 --- a/AWSDynamoDBUnitTests/AWSGeneralDynamoDBTests.m +++ b/AWSDynamoDBUnitTests/AWSGeneralDynamoDBTests.m @@ -441,6 +441,54 @@ - (void)testDeleteItemCompletionHandler { [AWSDynamoDB removeDynamoDBForKey:key]; } +- (void)testDeleteResourcePolicy { + NSString *key = @"testDeleteResourcePolicy"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSDynamoDB registerDynamoDBWithConfiguration:configuration forKey:key]; + + AWSDynamoDB *awsClient = [AWSDynamoDB DynamoDBForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSDynamoDB DynamoDBForKey:key] deleteResourcePolicy:[AWSDynamoDBDeleteResourcePolicyInput new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSDynamoDB removeDynamoDBForKey:key]; +} + +- (void)testDeleteResourcePolicyCompletionHandler { + NSString *key = @"testDeleteResourcePolicy"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSDynamoDB registerDynamoDBWithConfiguration:configuration forKey:key]; + + AWSDynamoDB *awsClient = [AWSDynamoDB DynamoDBForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSDynamoDB DynamoDBForKey:key] deleteResourcePolicy:[AWSDynamoDBDeleteResourcePolicyInput new] completionHandler:^(AWSDynamoDBDeleteResourcePolicyOutput* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSDynamoDB removeDynamoDBForKey:key]; +} + - (void)testDeleteTable { NSString *key = @"testDeleteTable"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -1401,6 +1449,54 @@ - (void)testGetItemCompletionHandler { [AWSDynamoDB removeDynamoDBForKey:key]; } +- (void)testGetResourcePolicy { + NSString *key = @"testGetResourcePolicy"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSDynamoDB registerDynamoDBWithConfiguration:configuration forKey:key]; + + AWSDynamoDB *awsClient = [AWSDynamoDB DynamoDBForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSDynamoDB DynamoDBForKey:key] getResourcePolicy:[AWSDynamoDBGetResourcePolicyInput new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSDynamoDB removeDynamoDBForKey:key]; +} + +- (void)testGetResourcePolicyCompletionHandler { + NSString *key = @"testGetResourcePolicy"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSDynamoDB registerDynamoDBWithConfiguration:configuration forKey:key]; + + AWSDynamoDB *awsClient = [AWSDynamoDB DynamoDBForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSDynamoDB DynamoDBForKey:key] getResourcePolicy:[AWSDynamoDBGetResourcePolicyInput new] completionHandler:^(AWSDynamoDBGetResourcePolicyOutput* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSDynamoDB removeDynamoDBForKey:key]; +} + - (void)testImportTable { NSString *key = @"testImportTable"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -1833,6 +1929,54 @@ - (void)testPutItemCompletionHandler { [AWSDynamoDB removeDynamoDBForKey:key]; } +- (void)testPutResourcePolicy { + NSString *key = @"testPutResourcePolicy"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSDynamoDB registerDynamoDBWithConfiguration:configuration forKey:key]; + + AWSDynamoDB *awsClient = [AWSDynamoDB DynamoDBForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSDynamoDB DynamoDBForKey:key] putResourcePolicy:[AWSDynamoDBPutResourcePolicyInput new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSDynamoDB removeDynamoDBForKey:key]; +} + +- (void)testPutResourcePolicyCompletionHandler { + NSString *key = @"testPutResourcePolicy"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSDynamoDB registerDynamoDBWithConfiguration:configuration forKey:key]; + + AWSDynamoDB *awsClient = [AWSDynamoDB DynamoDBForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSDynamoDB DynamoDBForKey:key] putResourcePolicy:[AWSDynamoDBPutResourcePolicyInput new] completionHandler:^(AWSDynamoDBPutResourcePolicyOutput* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSDynamoDB removeDynamoDBForKey:key]; +} + - (void)testQuery { NSString *key = @"testQuery"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; From 956ba37b2179e1511362dfb45c8beff17268c47b Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:23:34 -0400 Subject: [PATCH 12/15] feat(AWSEC2): update models to latest (#5275) --- AWSEC2/AWSEC2Model.h | 557 +++++- AWSEC2/AWSEC2Model.m | 1862 ++++++++++++++++++- AWSEC2/AWSEC2Resources.m | 693 +++++-- AWSEC2/AWSEC2Service.h | 289 +-- AWSEC2/AWSEC2Service.m | 69 + AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m | 75 + AWSEC2UnitTests/AWSGeneralEC2Tests.m | 144 ++ 7 files changed, 3335 insertions(+), 354 deletions(-) diff --git a/AWSEC2/AWSEC2Model.h b/AWSEC2/AWSEC2Model.h index d4dbe527419..11f85cc8f45 100644 --- a/AWSEC2/AWSEC2Model.h +++ b/AWSEC2/AWSEC2Model.h @@ -499,6 +499,20 @@ typedef NS_ENUM(NSInteger, AWSEC2DatafeedSubscriptionState) { AWSEC2DatafeedSubscriptionStateInactive, }; +typedef NS_ENUM(NSInteger, AWSEC2DefaultInstanceMetadataEndpointState) { + AWSEC2DefaultInstanceMetadataEndpointStateUnknown, + AWSEC2DefaultInstanceMetadataEndpointStateDisabled, + AWSEC2DefaultInstanceMetadataEndpointStateEnabled, + AWSEC2DefaultInstanceMetadataEndpointStateNoPreference, +}; + +typedef NS_ENUM(NSInteger, AWSEC2DefaultInstanceMetadataTagsState) { + AWSEC2DefaultInstanceMetadataTagsStateUnknown, + AWSEC2DefaultInstanceMetadataTagsStateDisabled, + AWSEC2DefaultInstanceMetadataTagsStateEnabled, + AWSEC2DefaultInstanceMetadataTagsStateNoPreference, +}; + typedef NS_ENUM(NSInteger, AWSEC2DefaultRouteTableAssociationValue) { AWSEC2DefaultRouteTableAssociationValueUnknown, AWSEC2DefaultRouteTableAssociationValueEnable, @@ -1834,6 +1848,19 @@ typedef NS_ENUM(NSInteger, AWSEC2InstanceType) { AWSEC2InstanceTypeR7I_metal_48xl, AWSEC2InstanceTypeR7Iz_metal_16xl, AWSEC2InstanceTypeR7Iz_metal_32xl, + AWSEC2InstanceTypeC7Gd_metal, + AWSEC2InstanceTypeM7Gd_metal, + AWSEC2InstanceTypeR7Gd_metal, + AWSEC2InstanceTypeG6_xlarge, + AWSEC2InstanceTypeG6_2xlarge, + AWSEC2InstanceTypeG6_4xlarge, + AWSEC2InstanceTypeG6_8xlarge, + AWSEC2InstanceTypeG6_12xlarge, + AWSEC2InstanceTypeG6_16xlarge, + AWSEC2InstanceTypeG6_24xlarge, + AWSEC2InstanceTypeG6_48xlarge, + AWSEC2InstanceTypeGR6_4xlarge, + AWSEC2InstanceTypeGR6_8xlarge, }; typedef NS_ENUM(NSInteger, AWSEC2InstanceTypeHypervisor) { @@ -2230,6 +2257,13 @@ typedef NS_ENUM(NSInteger, AWSEC2MembershipType) { AWSEC2MembershipTypeIgmp, }; +typedef NS_ENUM(NSInteger, AWSEC2MetadataDefaultHttpTokensState) { + AWSEC2MetadataDefaultHttpTokensStateUnknown, + AWSEC2MetadataDefaultHttpTokensStateOptional, + AWSEC2MetadataDefaultHttpTokensStateRequired, + AWSEC2MetadataDefaultHttpTokensStateNoPreference, +}; + typedef NS_ENUM(NSInteger, AWSEC2MetricType) { AWSEC2MetricTypeUnknown, AWSEC2MetricTypeAggregateLatency, @@ -4010,6 +4044,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DescribeLocalGatewaysResult; @class AWSEC2DescribeLockedSnapshotsRequest; @class AWSEC2DescribeLockedSnapshotsResult; +@class AWSEC2DescribeMacHostsRequest; +@class AWSEC2DescribeMacHostsResult; @class AWSEC2DescribeManagedPrefixListsRequest; @class AWSEC2DescribeManagedPrefixListsResult; @class AWSEC2DescribeMovingAddressesRequest; @@ -4379,6 +4415,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2GetHostReservationPurchasePreviewResult; @class AWSEC2GetImageBlockPublicAccessStateRequest; @class AWSEC2GetImageBlockPublicAccessStateResult; +@class AWSEC2GetInstanceMetadataDefaultsRequest; +@class AWSEC2GetInstanceMetadataDefaultsResult; @class AWSEC2GetInstanceTypesFromInstanceRequirementsRequest; @class AWSEC2GetInstanceTypesFromInstanceRequirementsResult; @class AWSEC2GetInstanceUefiDataRequest; @@ -4518,6 +4556,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2InstanceMaintenanceOptions; @class AWSEC2InstanceMaintenanceOptionsRequest; @class AWSEC2InstanceMarketOptionsRequest; +@class AWSEC2InstanceMetadataDefaultsResponse; @class AWSEC2InstanceMetadataOptionsRequest; @class AWSEC2InstanceMetadataOptionsResponse; @class AWSEC2InstanceMonitoring; @@ -4650,8 +4689,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2LockSnapshotRequest; @class AWSEC2LockSnapshotResult; @class AWSEC2LockedSnapshotsInfo; +@class AWSEC2MacHost; @class AWSEC2MaintenanceDetails; @class AWSEC2ManagedPrefixList; +@class AWSEC2MediaAcceleratorInfo; +@class AWSEC2MediaDeviceInfo; +@class AWSEC2MediaDeviceMemoryInfo; @class AWSEC2MemoryGiBPerVCpu; @class AWSEC2MemoryGiBPerVCpuRequest; @class AWSEC2MemoryInfo; @@ -4692,6 +4735,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2ModifyInstanceEventWindowResult; @class AWSEC2ModifyInstanceMaintenanceOptionsRequest; @class AWSEC2ModifyInstanceMaintenanceOptionsResult; +@class AWSEC2ModifyInstanceMetadataDefaultsRequest; +@class AWSEC2ModifyInstanceMetadataDefaultsResult; @class AWSEC2ModifyInstanceMetadataOptionsRequest; @class AWSEC2ModifyInstanceMetadataOptionsResult; @class AWSEC2ModifyInstancePlacementRequest; @@ -4816,6 +4861,10 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2NetworkInterfacePermission; @class AWSEC2NetworkInterfacePermissionState; @class AWSEC2NetworkInterfacePrivateIpAddress; +@class AWSEC2NeuronDeviceCoreInfo; +@class AWSEC2NeuronDeviceInfo; +@class AWSEC2NeuronDeviceMemoryInfo; +@class AWSEC2NeuronInfo; @class AWSEC2LatestDhcpConfiguration; @class AWSEC2NitroTpmInfo; @class AWSEC2OidcOptions; @@ -7966,7 +8015,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Not supported. Use a set of IP permissions to specify the CIDR.

+

Not supported. Use IP permissions instead.

*/ @property (nonatomic, strong) NSString * _Nullable cidrIp; @@ -7976,7 +8025,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

Not supported. Use a set of IP permissions to specify the port.

+

Not supported. Use IP permissions instead.

*/ @property (nonatomic, strong) NSNumber * _Nullable fromPort; @@ -7986,22 +8035,22 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable groupId; /** -

The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

+

The permissions for the security group rules.

*/ @property (nonatomic, strong) NSArray * _Nullable ipPermissions; /** -

Not supported. Use a set of IP permissions to specify the protocol name or number.

+

Not supported. Use IP permissions instead.

*/ @property (nonatomic, strong) NSString * _Nullable ipProtocol; /** -

Not supported. Use a set of IP permissions to specify a destination security group.

+

Not supported. Use IP permissions instead.

*/ @property (nonatomic, strong) NSString * _Nullable sourceSecurityGroupName; /** -

Not supported. Use a set of IP permissions to specify a destination security group.

+

Not supported. Use IP permissions instead.

*/ @property (nonatomic, strong) NSString * _Nullable sourceSecurityGroupOwnerId; @@ -8011,7 +8060,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable tagSpecifications; /** -

Not supported. Use a set of IP permissions to specify the port.

+

Not supported. Use IP permissions instead.

*/ @property (nonatomic, strong) NSNumber * _Nullable toPort; @@ -8042,7 +8091,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source security group. To specify an IPv6 address range, use a set of IP permissions.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

+

The IPv4 address range, in CIDR format.

To specify an IPv6 address range, use IP permissions instead.

To specify multiple rules and descriptions for the rules, use IP permissions instead.

*/ @property (nonatomic, strong) NSString * _Nullable cidrIp; @@ -8052,47 +8101,47 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the type number. A value of -1 indicates all ICMP types. If you specify all ICMP types, you must specify all ICMP codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

+

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the ICMP type or -1 (all ICMP types).

To specify multiple rules and descriptions for the rules, use IP permissions instead.

*/ @property (nonatomic, strong) NSNumber * _Nullable fromPort; /** -

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

+

The ID of the security group.

*/ @property (nonatomic, strong) NSString * _Nullable groupId; /** -

[Default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

+

[Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.

*/ @property (nonatomic, strong) NSString * _Nullable groupName; /** -

The sets of IP permissions.

+

The permissions for the security group rules.

*/ @property (nonatomic, strong) NSArray * _Nullable ipPermissions; /** -

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

Use -1 to specify all protocols. If you specify -1 or a protocol other than tcp, udp, or icmp, traffic on all ports is allowed, regardless of any ports you specify.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

+

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify all protocols, use -1.

To specify icmpv6, use IP permissions instead.

If you specify a protocol other than one of the supported values, traffic is allowed on all ports, regardless of any ports that you specify.

To specify multiple rules and descriptions for the rules, use IP permissions instead.

*/ @property (nonatomic, strong) NSString * _Nullable ipProtocol; /** -

[Default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. The source security group must be in the same VPC.

+

[Default VPC] The name of the source security group.

The rule grants full ICMP, UDP, and TCP access. To create a rule with a specific protocol and port range, specify a set of IP permissions instead.

*/ @property (nonatomic, strong) NSString * _Nullable sourceSecurityGroupName; /** -

[Nondefault VPC] The Amazon Web Services account ID for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

+

The Amazon Web Services account ID for the source security group, if the source security group is in a different account.

The rule grants full ICMP, UDP, and TCP access. To create a rule with a specific protocol and port range, use IP permissions instead.

*/ @property (nonatomic, strong) NSString * _Nullable sourceSecurityGroupOwnerId; /** -

[VPC Only] The tags applied to the security group rule.

+

The tags applied to the security group rule.

*/ @property (nonatomic, strong) NSArray * _Nullable tagSpecifications; /** -

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the code. A value of -1 indicates all ICMP codes. If you specify all ICMP types, you must specify all ICMP codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

+

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

To specify multiple rules and descriptions for the rules, use IP permissions instead.

*/ @property (nonatomic, strong) NSNumber * _Nullable toPort; @@ -8300,7 +8349,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

+

The ID of the instance to bundle.

Default: None

*/ @property (nonatomic, strong) NSString * _Nullable instanceId; @@ -10420,7 +10469,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy AMIs from an Amazon Web Services Region to an Outpost in the Amazon EC2 User Guide.

+

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy AMIs from an Amazon Web Services Region to an Outpost in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable destinationOutpostArn; @@ -10430,7 +10479,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide.

+

Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable encrypted; @@ -10454,6 +10503,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable sourceRegion; +/** +

The tags to apply to the new AMI and new snapshots. You can tag the AMI, the snapshots, or both.

  • To tag the new AMI, the value for ResourceType must be image.

  • To tag the new snapshots, the value for ResourceType must be snapshot. The same tag is applied to all the new snapshots.

If you specify other values for ResourceType, the request fails.

To tag an AMI or snapshot after it has been created, see CreateTags.

+ */ +@property (nonatomic, strong) NSArray * _Nullable tagSpecifications; + @end /** @@ -10481,7 +10535,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only specify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. The snapshot must be in the Region for the destination Outpost. You cannot copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy snapshots from an Amazon Web Services Region to an Outpost in the Amazon Elastic Compute Cloud User Guide.

+

The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only specify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. The snapshot must be in the Region for the destination Outpost. You cannot copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy snapshots from an Amazon Web Services Region to an Outpost in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable destinationOutpostArn; @@ -10496,7 +10550,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots are encrypted, even if you omit this parameter and encryption by default is not enabled. You cannot set this parameter to false. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots are encrypted, even if you omit this parameter and encryption by default is not enabled. You cannot set this parameter to false. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable encrypted; @@ -11478,7 +11532,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable deliverCrossAccountRole; /** -

The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account.

This parameter is required if the destination type is cloud-watch-logs and unsupported otherwise.

+

The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.

This parameter is required if the destination type is cloud-watch-logs, or if the destination type is kinesis-data-firehose and the delivery stream and the resources to monitor are in different accounts.

*/ @property (nonatomic, strong) NSString * _Nullable deliverLogsPermissionArn; @@ -13403,7 +13457,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The Amazon Resource Name (ARN) of the Outpost on which to create a local snapshot.

  • To create a snapshot of a volume in a Region, omit this parameter. The snapshot is created in the same Region as the volume.

  • To create a snapshot of a volume on an Outpost and store the snapshot in the Region, omit this parameter. The snapshot is created in the Region for the Outpost.

  • To create a snapshot of a volume on an Outpost and store the snapshot on an Outpost, specify the ARN of the destination Outpost. The snapshot must be created on the same Outpost as the volume.

For more information, see Create local snapshots from volumes on an Outpost in the Amazon Elastic Compute Cloud User Guide.

+

The Amazon Resource Name (ARN) of the Outpost on which to create a local snapshot.

  • To create a snapshot of a volume in a Region, omit this parameter. The snapshot is created in the same Region as the volume.

  • To create a snapshot of a volume on an Outpost and store the snapshot in the Region, omit this parameter. The snapshot is created in the Region for the Outpost.

  • To create a snapshot of a volume on an Outpost and store the snapshot on an Outpost, specify the ARN of the destination Outpost. The snapshot must be created on the same Outpost as the volume.

For more information, see Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable outpostArn; @@ -13446,7 +13500,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2InstanceSpecification * _Nullable instanceSpecification; /** -

The Amazon Resource Name (ARN) of the Outpost on which to create the local snapshots.

  • To create snapshots from an instance in a Region, omit this parameter. The snapshots are created in the same Region as the instance.

  • To create snapshots from an instance on an Outpost and store the snapshots in the Region, omit this parameter. The snapshots are created in the Region for the Outpost.

  • To create snapshots from an instance on an Outpost and store the snapshots on an Outpost, specify the ARN of the destination Outpost. The snapshots must be created on the same Outpost as the instance.

For more information, see Create multi-volume local snapshots from instances on an Outpost in the Amazon Elastic Compute Cloud User Guide.

+

The Amazon Resource Name (ARN) of the Outpost on which to create the local snapshots.

  • To create snapshots from an instance in a Region, omit this parameter. The snapshots are created in the same Region as the instance.

  • To create snapshots from an instance on an Outpost and store the snapshots in the Region, omit this parameter. The snapshots are created in the Region for the Outpost.

  • To create snapshots from an instance on an Outpost and store the snapshots on an Outpost, specify the ARN of the destination Outpost. The snapshots must be created on the same Outpost as the instance.

For more information, see Create multi-volume local snapshots from instances on an Outpost in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable outpostArn; @@ -14527,7 +14581,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2Ipv6SupportValue ipv6Support; /** -

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

If you don't enable or disable SecurityGroupReferencingSupport in the request, the attachment will inherit the security group referencing support setting on the transit gateway.

For important information about this feature, see Create a transit gateway attachment to a VPC in the Amazon Web Services Transit Gateway Guide.

+

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

If you don't enable or disable SecurityGroupReferencingSupport in the request, the attachment will inherit the security group referencing support setting on the transit gateway.

*/ @property (nonatomic, assign) AWSEC2SecurityGroupReferencingSupportValue securityGroupReferencingSupport; @@ -14990,7 +15044,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

Indicates whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon Elastic Compute Cloud User Guide.

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

+

Indicates whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon EBS User Guide.

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

*/ @property (nonatomic, strong) NSNumber * _Nullable encrypted; @@ -15005,7 +15059,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable kmsKeyId; /** -

Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

+

Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable multiAttachEnabled; @@ -15035,7 +15089,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable throughput; /** -

The volume type. This parameter can be one of the following values:

  • General Purpose SSD: gp2 | gp3

  • Provisioned IOPS SSD: io1 | io2

  • Throughput Optimized HDD: st1

  • Cold HDD: sc1

  • Magnetic: standard

Throughput Optimized HDD (st1) and Cold HDD (sc1) volumes can't be used as boot volumes.

For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

Default: gp2

+

The volume type. This parameter can be one of the following values:

  • General Purpose SSD: gp2 | gp3

  • Provisioned IOPS SSD: io1 | io2

  • Throughput Optimized HDD: st1

  • Cold HDD: sc1

  • Magnetic: standard

Throughput Optimized HDD (st1) and Cold HDD (sc1) volumes can't be used as boot volumes.

For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

Default: gp2

*/ @property (nonatomic, assign) AWSEC2VolumeType volumeType; @@ -18512,7 +18566,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The filters.

  • group-name - For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1) For Wavelength Zones, use the name of the group associated with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • message - The Zone message.

  • opt-in-status - The opt-in status (opted-in | not-opted-in | opt-in-not-required).

  • parent-zone-id - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • parent-zone-name - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • region-name - The name of the Region for the Zone (for example, us-east-1).

  • state - The state of the Availability Zone, the Local Zone, or the Wavelength Zone (available).

  • zone-id - The ID of the Availability Zone (for example, use1-az1), the Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-name - The name of the Availability Zone (for example, us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-type - The type of zone (availability-zone | local-zone | wavelength-zone).

+

The filters.

  • group-name - For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1) For Wavelength Zones, use the name of the group associated with the Wavelength Zone (for example, us-east-1-wl1).

  • message - The Zone message.

  • opt-in-status - The opt-in status (opted-in | not-opted-in | opt-in-not-required).

  • parent-zone-id - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • parent-zone-name - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • region-name - The name of the Region for the Zone (for example, us-east-1).

  • state - The state of the Availability Zone, the Local Zone, or the Wavelength Zone (available).

  • zone-id - The ID of the Availability Zone (for example, use1-az1), the Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-name - The name of the Availability Zone (for example, us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-type - The type of zone (availability-zone | local-zone | wavelength-zone).

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -21995,6 +22049,52 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DescribeMacHostsRequest : AWSRequest + + +/** +

The filters.

  • availability-zone - The Availability Zone of the EC2 Mac Dedicated Host.

  • instance-type - The instance type size that the EC2 Mac Dedicated Host is configured to support.

+ */ +@property (nonatomic, strong) NSArray * _Nullable filters; + +/** +

The IDs of the EC2 Mac Dedicated Hosts.

+ */ +@property (nonatomic, strong) NSArray * _Nullable hostIds; + +/** +

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

The token to use to retrieve the next page of results.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSEC2DescribeMacHostsResult : AWSModel + + +/** +

Information about the EC2 Mac Dedicated Hosts.

+ */ +@property (nonatomic, strong) NSArray * _Nullable macHosts; + +/** +

The token to use to retrieve the next page of results.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + /** */ @@ -23859,7 +23959,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

+

The token to include in another request to get the next page of items. This value is an empty string ("") or null when there are no more items to return.

*/ @property (nonatomic, strong) NSString * _Nullable nextToken; @@ -27521,7 +27621,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable deleteOnTermination; /** -

Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide.

In no case can you remove encryption from an encrypted volume.

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

This parameter is not returned by DescribeImageAttribute.

For CreateImage and RegisterImage, whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating.

  • If you are creating a block device mapping for a new (empty) volume, you can include this parameter, and specify either true for an encrypted volume, or false for an unencrypted volume. If you omit this parameter, it defaults to false (unencrypted).

  • If you are creating a block device mapping from an existing encrypted or unencrypted snapshot, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.

  • If you are creating a block device mapping from an existing unencrypted volume, you can include this parameter, but you must specify false. If you specify true, the request will fail. In this case, we recommend that you omit the parameter.

  • If you are creating a block device mapping from an existing encrypted volume, you can include this parameter, and specify either true or false. However, if you specify false, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.

+

Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

In no case can you remove encryption from an encrypted volume.

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

This parameter is not returned by DescribeImageAttribute.

For CreateImage and RegisterImage, whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating.

  • If you are creating a block device mapping for a new (empty) volume, you can include this parameter, and specify either true for an encrypted volume, or false for an unencrypted volume. If you omit this parameter, it defaults to false (unencrypted).

  • If you are creating a block device mapping from an existing encrypted or unencrypted snapshot, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.

  • If you are creating a block device mapping from an existing unencrypted volume, you can include this parameter, but you must specify false. If you specify true, the request will fail. In this case, we recommend that you omit the parameter.

  • If you are creating a block device mapping from an existing encrypted volume, you can include this parameter, and specify either true or false. However, if you specify false, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.

*/ @property (nonatomic, strong) NSNumber * _Nullable encrypted; @@ -27556,7 +27656,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable volumeSize; /** -

The volume type. For more information, see Amazon EBS volume types in the Amazon EC2 User Guide.

+

The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

*/ @property (nonatomic, assign) AWSEC2VolumeType volumeType; @@ -29988,7 +30088,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable subnetId; /** -

The number of units provided by the specified instance type.

+

The number of units provided by the specified instance type.

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

*/ @property (nonatomic, strong) NSNumber * _Nullable weightedCapacity; @@ -30041,7 +30141,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable subnetId; /** -

The number of units provided by the specified instance type.

+

The number of units provided by the specified instance type.

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

*/ @property (nonatomic, strong) NSNumber * _Nullable weightedCapacity; @@ -31040,6 +31140,32 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2GetInstanceMetadataDefaultsRequest : AWSRequest + + +/** +

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +@end + +/** + + */ +@interface AWSEC2GetInstanceMetadataDefaultsResult : AWSModel + + +/** +

The account-level default IMDS settings.

+ */ +@property (nonatomic, strong) AWSEC2InstanceMetadataDefaultsResponse * _Nullable accountLevel; + +@end + /** */ @@ -33311,7 +33437,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable imageLocation; /** -

The Amazon Web Services account alias (for example, amazon, self) or the Amazon Web Services account ID of the AMI owner.

+

The owner alias (amazon | aws-marketplace).

*/ @property (nonatomic, strong) NSString * _Nullable imageOwnerAlias; @@ -35239,6 +35365,34 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +

The default instance metadata service (IMDS) settings that were set at the account level in the specified Amazon Web Services
 Region.

+ */ +@interface AWSEC2InstanceMetadataDefaultsResponse : AWSModel + + +/** +

Indicates whether the IMDS endpoint for an instance is enabled or disabled. When disabled, the instance metadata can't be accessed.

+ */ +@property (nonatomic, assign) AWSEC2InstanceMetadataEndpointState httpEndpoint; + +/** +

The maximum number of hops that the metadata token can travel.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable httpPutResponseHopLimit; + +/** +

Indicates whether IMDSv2 is required.

  • optional – IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required – IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

+ */ +@property (nonatomic, assign) AWSEC2HttpTokensState httpTokens; + +/** +

Indicates whether access to instance tags from the instance metadata is enabled or disabled. For more information, see Work with instance tags using the instance metadata in the Amazon EC2 User Guide.

+ */ +@property (nonatomic, assign) AWSEC2InstanceMetadataTagsState instanceMetadataTags; + +@end + /**

The metadata options for the instance.

*/ @@ -35251,17 +35405,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2InstanceMetadataEndpointState httpEndpoint; /** -

Enables or disables the IPv6 endpoint for the instance metadata service.

+

Enables or disables the IPv6 endpoint for the instance metadata service.

Default: disabled

*/ @property (nonatomic, assign) AWSEC2InstanceMetadataProtocolState httpProtocolIpv6; /** -

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

+

The maximum number of hops that the metadata token can travel.

Possible values: Integers from 1 to 64

*/ @property (nonatomic, strong) NSNumber * _Nullable httpPutResponseHopLimit; /** -

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

Default: If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, the default is required.

+

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

Default:

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0 and the account level default is set to no-preference, the default is required.

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, but the account level default is set to V1 or V2, the default is optional.

The default value can also be affected by other combinations of parameters. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

*/ @property (nonatomic, assign) AWSEC2HttpTokensState httpTokens; @@ -35284,17 +35438,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2InstanceMetadataEndpointState httpEndpoint; /** -

Indicates whether the IPv6 endpoint for the instance metadata service is enabled or disabled.

+

Indicates whether the IPv6 endpoint for the instance metadata service is enabled or disabled.

Default: disabled

*/ @property (nonatomic, assign) AWSEC2InstanceMetadataProtocolState httpProtocolIpv6; /** -

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

+

The maximum number of hops that the metadata token can travel.

Possible values: Integers from 1 to 64

*/ @property (nonatomic, strong) NSNumber * _Nullable httpPutResponseHopLimit; /** -

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

+

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

*/ @property (nonatomic, assign) AWSEC2HttpTokensState httpTokens; @@ -35519,7 +35673,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable associateCarrierIpAddress; /** -

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

+

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

*/ @property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; @@ -35730,7 +35884,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable localStorageTypes; /** -

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

+

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxSpotPriceAsPercentageOfOptimalOnDemandPrice; @@ -35765,7 +35919,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable requireHibernateSupport; /** -

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

Default: 100

+

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

Default: 100

*/ @property (nonatomic, strong) NSNumber * _Nullable spotMaxPricePercentageOverLowestPrice; @@ -35859,7 +36013,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable localStorageTypes; /** -

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

+

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxSpotPriceAsPercentageOfOptimalOnDemandPrice; @@ -35894,7 +36048,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable requireHibernateSupport; /** -

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

Default: 100

+

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

Default: 100

*/ @property (nonatomic, strong) NSNumber * _Nullable spotMaxPricePercentageOverLowestPrice; @@ -36193,7 +36347,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable instanceType; /** -

The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same droplet will return a different hashed list of strings.

+

The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same server will return a different hashed list of strings.

*/ @property (nonatomic, strong) NSArray * _Nullable networkNodes; @@ -36285,6 +36439,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, assign) AWSEC2InstanceType instanceType; +/** +

Describes the media accelerator settings for the instance type.

+ */ +@property (nonatomic, strong) AWSEC2MediaAcceleratorInfo * _Nullable mediaAcceleratorInfo; + /**

Describes the memory for the instance type.

*/ @@ -36295,6 +36454,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) AWSEC2NetworkInfo * _Nullable networkInfo; +/** +

Describes the Neuron accelerator settings for the instance type.

+ */ +@property (nonatomic, strong) AWSEC2NeuronInfo * _Nullable neuronInfo; + /**

Indicates whether Nitro Enclaves is supported.

*/ @@ -36461,13 +36625,13 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Describes a set of permissions for a security group rule.

+

Describes the permissions for a security group rule.

*/ @interface AWSEC2IpPermission : AWSModel /** -

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

+

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

*/ @property (nonatomic, strong) NSNumber * _Nullable fromPort; @@ -36477,12 +36641,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable ipProtocol; /** -

The IPv4 ranges.

+

The IPv4 address ranges.

*/ @property (nonatomic, strong) NSArray * _Nullable ipRanges; /** -

The IPv6 ranges.

+

The IPv6 address ranges.

*/ @property (nonatomic, strong) NSArray * _Nullable ipv6Ranges; @@ -36492,7 +36656,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable prefixListIds; /** -

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

+

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

*/ @property (nonatomic, strong) NSNumber * _Nullable toPort; @@ -36504,13 +36668,13 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Describes an IPv4 range.

+

Describes an IPv4 address range.

*/ @interface AWSEC2IpRange : AWSModel /** -

The IPv4 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv4 address, use the /32 prefix length.

+

The IPv4 address range. You can either specify a CIDR block or a source security group, not both. To specify a single IPv4 address, use the /32 prefix length.

*/ @property (nonatomic, strong) NSString * _Nullable cidrIp; @@ -37660,13 +37824,13 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Describes an IPv6 range.

+

Describes an IPv6 address range.

*/ @interface AWSEC2Ipv6Range : AWSModel /** -

The IPv6 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv6 address, use the /128 prefix length.

+

The IPv6 address range. You can either specify a CIDR block or a source security group, not both. To specify a single IPv6 address, use the /128 prefix length.

*/ @property (nonatomic, strong) NSString * _Nullable cidrIpv6; @@ -38207,7 +38371,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable volumeSize; /** -

The volume type. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

+

The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

*/ @property (nonatomic, assign) AWSEC2VolumeType volumeType; @@ -38514,7 +38678,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable associateCarrierIpAddress; /** -

Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

+

Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

*/ @property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; @@ -38632,7 +38796,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable associateCarrierIpAddress; /** -

Associates a public IPv4 address with eth0 for a new network interface.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

+

Associates a public IPv4 address with eth0 for a new network interface.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

*/ @property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; @@ -38801,7 +38965,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable subnetId; /** -

The number of units provided by the specified instance type.

+

The number of units provided by the specified instance type.

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

*/ @property (nonatomic, strong) NSNumber * _Nullable weightedCapacity; @@ -39818,6 +39982,24 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +

Information about the EC2 Mac Dedicated Host.

+ */ +@interface AWSEC2MacHost : AWSModel + + +/** +

The EC2 Mac Dedicated Host ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable hostId; + +/** +

The latest macOS versions that the EC2 Mac Dedicated Host can launch without being upgraded.

+ */ +@property (nonatomic, strong) NSArray * _Nullable macOSLatestSupportedVersions; + +@end + /**

Details for Site-to-Site VPN tunnel endpoint maintenance events.

*/ @@ -39899,6 +40081,65 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +

Describes the media accelerators for the instance type.

+ */ +@interface AWSEC2MediaAcceleratorInfo : AWSModel + + +/** +

Describes the media accelerators for the instance type.

+ */ +@property (nonatomic, strong) NSArray * _Nullable accelerators; + +/** +

The total size of the memory for the media accelerators for the instance type, in MiB.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable totalMediaMemoryInMiB; + +@end + +/** +

Describes the media accelerators for the instance type.

+ */ +@interface AWSEC2MediaDeviceInfo : AWSModel + + +/** +

The number of media accelerators for the instance type.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable count; + +/** +

The manufacturer of the media accelerator.

+ */ +@property (nonatomic, strong) NSString * _Nullable manufacturer; + +/** +

Describes the memory available to the media accelerator.

+ */ +@property (nonatomic, strong) AWSEC2MediaDeviceMemoryInfo * _Nullable memoryInfo; + +/** +

The name of the media accelerator.

+ */ +@property (nonatomic, strong) NSString * _Nullable name; + +@end + +/** +

Describes the memory available to the media accelerator.

+ */ +@interface AWSEC2MediaDeviceMemoryInfo : AWSModel + + +/** +

The size of the memory available to each media accelerator, in MiB.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable sizeInMiB; + +@end + /**

The minimum and maximum amount of memory per vCPU, in GiB.

*/ @@ -40936,6 +41177,52 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2ModifyInstanceMetadataDefaultsRequest : AWSRequest + + +/** +

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +/** +

Enables or disables the IMDS endpoint on an instance. When disabled, the instance metadata can't be accessed.

+ */ +@property (nonatomic, assign) AWSEC2DefaultInstanceMetadataEndpointState httpEndpoint; + +/** +

The maximum number of hops that the metadata token can travel.

Minimum: 1

Maximum: 64

+ */ +@property (nonatomic, strong) NSNumber * _Nullable httpPutResponseHopLimit; + +/** +

Indicates whether IMDSv2 is required.

  • optional – IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required – IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

+ */ +@property (nonatomic, assign) AWSEC2MetadataDefaultHttpTokensState httpTokens; + +/** +

Enables or disables access to an instance's tags from the instance metadata. For more information, see Work with instance tags using the instance metadata in the Amazon EC2 User Guide.

+ */ +@property (nonatomic, assign) AWSEC2DefaultInstanceMetadataTagsState instanceMetadataTags; + +@end + +/** + + */ +@interface AWSEC2ModifyInstanceMetadataDefaultsResult : AWSModel + + +/** +

If the request succeeds, the response returns true. If the request fails, no response is returned, and instead an error message is returned.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable returned; + +@end + /** */ @@ -40963,7 +41250,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable httpPutResponseHopLimit; /** -

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

Default: If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, the default is required.

+

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

Default:

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0 and the account level default is set to no-preference, the default is required.

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, but the account level default is set to V1 or V2, the default is optional.

The default value can also be affected by other combinations of parameters. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

*/ @property (nonatomic, assign) AWSEC2HttpTokensState httpTokens; @@ -40973,7 +41260,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable instanceId; /** -

Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. For more information, see Work with instance tags using the instance metadata.

Default: disabled

+

Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. For more information, see Work with instance tags using the instance metadata.

*/ @property (nonatomic, assign) AWSEC2InstanceMetadataTagsState instanceMetadataTags; @@ -41004,7 +41291,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The affinity setting for the instance.

+

The affinity setting for the instance. For more information, see Host affinity in the Amazon EC2 User Guide.

*/ @property (nonatomic, assign) AWSEC2Affinity affinity; @@ -41827,7 +42114,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2AttributeBooleanValue * _Nullable mapCustomerOwnedIpOnLaunch; /** -

Specify true to indicate that network interfaces attached to instances created in the specified subnet should be assigned a public IPv4 address.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

+

Specify true to indicate that network interfaces attached to instances created in the specified subnet should be assigned a public IPv4 address.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

*/ @property (nonatomic, strong) AWSEC2AttributeBooleanValue * _Nullable mapPublicIpOnLaunch; @@ -42083,7 +42370,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable removeTransitGatewayCidrBlocks; /** -

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

For important information about this feature, see Create a transit gateway in the Amazon Web Services Transit Gateway Guide.

+

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

*/ @property (nonatomic, assign) AWSEC2SecurityGroupReferencingSupportValue securityGroupReferencingSupport; @@ -42236,7 +42523,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2Ipv6SupportValue ipv6Support; /** -

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

For important information about this feature, see Create a transit gateway attachment to a VPC in the Amazon Web Services Transit Gateway Guide.

+

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

*/ @property (nonatomic, assign) AWSEC2SecurityGroupReferencingSupportValue securityGroupReferencingSupport; @@ -42754,7 +43041,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable iops; /** -

Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro-based instances in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

+

Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro-based instances in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable multiAttachEnabled; @@ -42774,7 +43061,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable volumeId; /** -

The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

Default: The existing type is retained.

+

The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

Default: The existing type is retained.

*/ @property (nonatomic, assign) AWSEC2VolumeType volumeType; @@ -44672,18 +44959,95 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** - +

Describes the cores available to the neuron accelerator.

+ */ +@interface AWSEC2NeuronDeviceCoreInfo : AWSModel + + +/** +

The number of cores available to the neuron accelerator.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable count; + +/** +

The version of the neuron accelerator.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable version; + +@end + +/** +

Describes the neuron accelerators for the instance type.

+ */ +@interface AWSEC2NeuronDeviceInfo : AWSModel + + +/** +

Describes the cores available to each neuron accelerator.

+ */ +@property (nonatomic, strong) AWSEC2NeuronDeviceCoreInfo * _Nullable coreInfo; + +/** +

The number of neuron accelerators for the instance type.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable count; + +/** +

Describes the memory available to each neuron accelerator.

+ */ +@property (nonatomic, strong) AWSEC2NeuronDeviceMemoryInfo * _Nullable memoryInfo; + +/** +

The name of the neuron accelerator.

+ */ +@property (nonatomic, strong) NSString * _Nullable name; + +@end + +/** +

Describes the memory available to the neuron accelerator.

+ */ +@interface AWSEC2NeuronDeviceMemoryInfo : AWSModel + + +/** +

The size of the memory available to the neuron accelerator, in MiB.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable sizeInMiB; + +@end + +/** +

Describes the neuron accelerators for the instance type.

+ */ +@interface AWSEC2NeuronInfo : AWSModel + + +/** +

Describes the neuron accelerators for the instance type.

+ */ +@property (nonatomic, strong) NSArray * _Nullable neuronDevices; + +/** +

The total size of the memory for the neuron accelerators for the instance type, in MiB.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable totalNeuronDeviceMemoryInMiB; + +@end + +/** +

Describes a DHCP configuration option.

*/ @interface AWSEC2LatestDhcpConfiguration : AWSModel /** - +

The name of a DHCP option.

*/ @property (nonatomic, strong) NSString * _Nullable key; /** - +

The values for the DHCP option.

*/ @property (nonatomic, strong) NSArray * _Nullable values; @@ -45899,7 +46263,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've brought to this or another Region.

+

The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is /24. The most specific IPv6 address range that you can bring is /48 for CIDRs that are publicly advertisable and /56 for CIDRs that are not publicly advertisable. The address range cannot overlap with another address range that you've brought to this or another Region.

*/ @property (nonatomic, strong) NSString * _Nullable cidr; @@ -46591,7 +46955,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable billingProducts; /** -

The block device mapping entries.

If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost only. For more information, Amazon EBS local snapshots on Outposts in the Amazon EC2 User Guide.

+

The block device mapping entries.

If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost only. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSArray * _Nullable blockDeviceMappings; @@ -46650,6 +47014,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable sriovNetSupport; +/** +

The tags to apply to the AMI.

To tag the AMI, the value for ResourceType must be image. If you specify another value for ResourceType, the request fails.

To tag an AMI after it has been registered, see CreateTags.

+ */ +@property (nonatomic, strong) NSArray * _Nullable tagSpecifications; + /**

Set to v2.0 to enable Trusted Platform Module (TPM) support. For more information, see NitroTPM in the Amazon EC2 User Guide.

*/ @@ -48998,7 +49367,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

+

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable outpostArn; @@ -49239,7 +49608,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the type number. A value of -1 indicates all ICMP types.

+

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the ICMP type or -1 (all ICMP types).

*/ @property (nonatomic, strong) NSNumber * _Nullable fromPort; @@ -49279,7 +49648,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable sourceSecurityGroupOwnerId; /** -

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the code. A value of -1 indicates all ICMP codes.

+

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the ICMP code or -1 (all ICMP codes).

*/ @property (nonatomic, strong) NSNumber * _Nullable toPort; @@ -50287,7 +50656,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The public IPv4 address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

+

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The public IPv4 address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

*/ @property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; @@ -50653,12 +51022,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable referencingVpcId; /** -

The ID of the transit gateway (if applicable). For more information about security group referencing for transit gateways, see Create a transit gateway attachment to a VPC in the Amazon Web Services Transit Gateway Guide.

+

This parameter is in preview and may not be available for your account.

The ID of the transit gateway (if applicable).

*/ @property (nonatomic, strong) NSString * _Nullable transitGatewayId; /** -

The ID of the VPC peering connection (if applicable). For more information about security group referencing for peering connections, see Update your security groups to reference peer security groups in the VPC Peering Guide.

+

The ID of the VPC peering connection (if applicable). For more information about security group referencing for peering connections, see Update your security groups to reference peer security groups in the VPC Peering Guide.

*/ @property (nonatomic, strong) NSString * _Nullable vpcPeeringConnectionId; @@ -50686,7 +51055,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

+

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

*/ @property (nonatomic, strong) NSNumber * _Nullable fromPort; @@ -50731,7 +51100,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable tags; /** -

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

+

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

*/ @property (nonatomic, strong) NSNumber * _Nullable toPort; @@ -50777,7 +51146,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

+

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

*/ @property (nonatomic, strong) NSNumber * _Nullable fromPort; @@ -50797,7 +51166,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable referencedGroupId; /** -

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

+

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

*/ @property (nonatomic, strong) NSNumber * _Nullable toPort; @@ -51083,7 +51452,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable kmsKeyId; /** -

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

+

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable outpostArn; @@ -51257,7 +51626,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

+

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable outpostArn; @@ -51725,7 +52094,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable instancePoolsToUseCount; /** -

The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications, you can't specify LaunchTemplateConfigs. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

+

The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications, you can't specify LaunchTemplateConfigs. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

If an AMI specified in a launch specification is deregistered or disabled, no new instances can be launched from the AMI. For fleets of type maintain, the target capacity will not be maintained.

*/ @property (nonatomic, strong) NSArray * _Nullable launchSpecifications; @@ -52206,12 +52575,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

+

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

*/ @property (nonatomic, strong) NSNumber * _Nullable fromPort; /** -

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

+

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

*/ @property (nonatomic, strong) NSString * _Nullable ipProtocol; @@ -52226,7 +52595,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable prefixListIds; /** -

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

+

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes).

*/ @property (nonatomic, strong) NSNumber * _Nullable toPort; @@ -52634,7 +53003,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable mapCustomerOwnedIpOnLaunch; /** -

Indicates whether instances launched in this subnet receive a public IPv4 address.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

+

Indicates whether instances launched in this subnet receive a public IPv4 address.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

*/ @property (nonatomic, strong) NSNumber * _Nullable mapPublicIpOnLaunch; @@ -54216,7 +54585,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable propagationDefaultRouteTableId; /** -

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

For important information about this feature, see Create a transit gateway in the Amazon Web Services Transit Gateway Guide.

+

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

*/ @property (nonatomic, assign) AWSEC2SecurityGroupReferencingSupportValue securityGroupReferencingSupport; @@ -54579,7 +54948,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2MulticastSupportValue multicastSupport; /** -

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

For important information about this feature, see Create a transit gateway in the Amazon Web Services Transit Gateway Guide.

+

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

*/ @property (nonatomic, assign) AWSEC2SecurityGroupReferencingSupportValue securityGroupReferencingSupport; @@ -54941,7 +55310,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2Ipv6SupportValue ipv6Support; /** -

For important information about this feature, see Create a transit gateway attachment to a VPC in the Amazon Web Services Transit Gateway Guide.

+

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

*/ @property (nonatomic, assign) AWSEC2SecurityGroupReferencingSupportValue securityGroupReferencingSupport; diff --git a/AWSEC2/AWSEC2Model.m b/AWSEC2/AWSEC2Model.m index 847ab96236b..7df709ff9b2 100644 --- a/AWSEC2/AWSEC2Model.m +++ b/AWSEC2/AWSEC2Model.m @@ -5615,9 +5615,14 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"name" : @"Name", @"sourceImageId" : @"SourceImageId", @"sourceRegion" : @"SourceRegion", + @"tagSpecifications" : @"TagSpecifications", }; } ++ (NSValueTransformer *)tagSpecificationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; +} + @end @implementation AWSEC2ReplicateImageResult @@ -9060,6 +9065,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -10629,6 +10673,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -21624,6 +21694,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -23193,6 +23302,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -25109,6 +25244,46 @@ + (NSValueTransformer *)snapshotsJSONTransformer { @end +@implementation AWSEC2DescribeMacHostsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"filters" : @"Filters", + @"hostIds" : @"HostIds", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)filtersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; +} + +@end + +@implementation AWSEC2DescribeMacHostsResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"macHosts" : @"MacHosts", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)macHostsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2MacHost class]]; +} + +@end + @implementation AWSEC2DescribeManagedPrefixListsRequest + (BOOL)supportsSecureCoding { @@ -28357,6 +28532,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -29926,6 +30140,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -39191,6 +39431,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -40760,6 +41039,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -43399,6 +43704,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -44968,6 +45312,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -47355,6 +47725,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -48924,6 +49333,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -49991,6 +50426,38 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2GetInstanceMetadataDefaultsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + }; +} + +@end + +@implementation AWSEC2GetInstanceMetadataDefaultsResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"accountLevel" : @"AccountLevel", + }; +} + ++ (NSValueTransformer *)accountLevelJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceMetadataDefaultsResponse class]]; +} + +@end + @implementation AWSEC2GetInstanceTypesFromInstanceRequirementsRequest + (BOOL)supportsSecureCoding { @@ -55310,6 +55777,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -56879,6 +57385,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -59851,6 +60383,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -61420,6 +61991,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -62450,6 +63047,86 @@ + (NSValueTransformer *)spotOptionsJSONTransformer { @end +@implementation AWSEC2InstanceMetadataDefaultsResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"httpEndpoint" : @"HttpEndpoint", + @"httpPutResponseHopLimit" : @"HttpPutResponseHopLimit", + @"httpTokens" : @"HttpTokens", + @"instanceMetadataTags" : @"InstanceMetadataTags", + }; +} + ++ (NSValueTransformer *)httpEndpointJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { + return @(AWSEC2InstanceMetadataEndpointStateDisabled); + } + if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { + return @(AWSEC2InstanceMetadataEndpointStateEnabled); + } + return @(AWSEC2InstanceMetadataEndpointStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2InstanceMetadataEndpointStateDisabled: + return @"disabled"; + case AWSEC2InstanceMetadataEndpointStateEnabled: + return @"enabled"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)httpTokensJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"optional"] == NSOrderedSame) { + return @(AWSEC2HttpTokensStateOptional); + } + if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { + return @(AWSEC2HttpTokensStateRequired); + } + return @(AWSEC2HttpTokensStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2HttpTokensStateOptional: + return @"optional"; + case AWSEC2HttpTokensStateRequired: + return @"required"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)instanceMetadataTagsJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { + return @(AWSEC2InstanceMetadataTagsStateDisabled); + } + if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { + return @(AWSEC2InstanceMetadataTagsStateEnabled); + } + return @(AWSEC2InstanceMetadataTagsStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2InstanceMetadataTagsStateDisabled: + return @"disabled"; + case AWSEC2InstanceMetadataTagsStateEnabled: + return @"enabled"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2InstanceMetadataOptionsRequest + (BOOL)supportsSecureCoding { @@ -63740,8 +64417,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"instanceStorageInfo" : @"InstanceStorageInfo", @"instanceStorageSupported" : @"InstanceStorageSupported", @"instanceType" : @"InstanceType", + @"mediaAcceleratorInfo" : @"MediaAcceleratorInfo", @"memoryInfo" : @"MemoryInfo", @"networkInfo" : @"NetworkInfo", + @"neuronInfo" : @"NeuronInfo", @"nitroEnclavesSupport" : @"NitroEnclavesSupport", @"nitroTpmInfo" : @"NitroTpmInfo", @"nitroTpmSupport" : @"NitroTpmSupport", @@ -66147,6 +66826,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -67716,10 +68434,40 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; - default: - return nil; - } - }]; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)mediaAcceleratorInfoJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2MediaAcceleratorInfo class]]; } + (NSValueTransformer *)memoryInfoJSONTransformer { @@ -67730,6 +68478,10 @@ + (NSValueTransformer *)networkInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInfo class]]; } ++ (NSValueTransformer *)neuronInfoJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NeuronInfo class]]; +} + + (NSValueTransformer *)nitroEnclavesSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { @@ -70169,6 +70921,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -71738,6 +72529,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -76198,6 +77015,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -77767,6 +78623,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -81243,6 +82125,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -82812,6 +83733,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -84810,6 +85757,21 @@ + (NSValueTransformer *)lockStateJSONTransformer { @end +@implementation AWSEC2MacHost + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"hostId" : @"HostId", + @"macOSLatestSupportedVersions" : @"MacOSLatestSupportedVersions", + }; +} + +@end + @implementation AWSEC2MaintenanceDetails + (BOOL)supportsSecureCoding { @@ -84940,6 +85902,60 @@ + (NSValueTransformer *)tagsJSONTransformer { @end +@implementation AWSEC2MediaAcceleratorInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"accelerators" : @"Accelerators", + @"totalMediaMemoryInMiB" : @"TotalMediaMemoryInMiB", + }; +} + ++ (NSValueTransformer *)acceleratorsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2MediaDeviceInfo class]]; +} + +@end + +@implementation AWSEC2MediaDeviceInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"count" : @"Count", + @"manufacturer" : @"Manufacturer", + @"memoryInfo" : @"MemoryInfo", + @"name" : @"Name", + }; +} + ++ (NSValueTransformer *)memoryInfoJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2MediaDeviceMemoryInfo class]]; +} + +@end + +@implementation AWSEC2MediaDeviceMemoryInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"sizeInMiB" : @"SizeInMiB", + }; +} + +@end + @implementation AWSEC2MemoryGiBPerVCpu + (BOOL)supportsSecureCoding { @@ -86159,6 +87175,116 @@ + (NSValueTransformer *)autoRecoveryJSONTransformer { @end +@implementation AWSEC2ModifyInstanceMetadataDefaultsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"httpEndpoint" : @"HttpEndpoint", + @"httpPutResponseHopLimit" : @"HttpPutResponseHopLimit", + @"httpTokens" : @"HttpTokens", + @"instanceMetadataTags" : @"InstanceMetadataTags", + }; +} + ++ (NSValueTransformer *)httpEndpointJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { + return @(AWSEC2DefaultInstanceMetadataEndpointStateDisabled); + } + if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { + return @(AWSEC2DefaultInstanceMetadataEndpointStateEnabled); + } + if ([value caseInsensitiveCompare:@"no-preference"] == NSOrderedSame) { + return @(AWSEC2DefaultInstanceMetadataEndpointStateNoPreference); + } + return @(AWSEC2DefaultInstanceMetadataEndpointStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2DefaultInstanceMetadataEndpointStateDisabled: + return @"disabled"; + case AWSEC2DefaultInstanceMetadataEndpointStateEnabled: + return @"enabled"; + case AWSEC2DefaultInstanceMetadataEndpointStateNoPreference: + return @"no-preference"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)httpTokensJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"optional"] == NSOrderedSame) { + return @(AWSEC2MetadataDefaultHttpTokensStateOptional); + } + if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { + return @(AWSEC2MetadataDefaultHttpTokensStateRequired); + } + if ([value caseInsensitiveCompare:@"no-preference"] == NSOrderedSame) { + return @(AWSEC2MetadataDefaultHttpTokensStateNoPreference); + } + return @(AWSEC2MetadataDefaultHttpTokensStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2MetadataDefaultHttpTokensStateOptional: + return @"optional"; + case AWSEC2MetadataDefaultHttpTokensStateRequired: + return @"required"; + case AWSEC2MetadataDefaultHttpTokensStateNoPreference: + return @"no-preference"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)instanceMetadataTagsJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { + return @(AWSEC2DefaultInstanceMetadataTagsStateDisabled); + } + if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { + return @(AWSEC2DefaultInstanceMetadataTagsStateEnabled); + } + if ([value caseInsensitiveCompare:@"no-preference"] == NSOrderedSame) { + return @(AWSEC2DefaultInstanceMetadataTagsStateNoPreference); + } + return @(AWSEC2DefaultInstanceMetadataTagsStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2DefaultInstanceMetadataTagsStateDisabled: + return @"disabled"; + case AWSEC2DefaultInstanceMetadataTagsStateEnabled: + return @"enabled"; + case AWSEC2DefaultInstanceMetadataTagsStateNoPreference: + return @"no-preference"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSEC2ModifyInstanceMetadataDefaultsResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"returned" : @"Return", + }; +} + +@end + @implementation AWSEC2ModifyInstanceMetadataOptionsRequest + (BOOL)supportsSecureCoding { @@ -90078,6 +91204,79 @@ + (NSValueTransformer *)associationJSONTransformer { @end +@implementation AWSEC2NeuronDeviceCoreInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"count" : @"Count", + @"version" : @"Version", + }; +} + +@end + +@implementation AWSEC2NeuronDeviceInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"coreInfo" : @"CoreInfo", + @"count" : @"Count", + @"memoryInfo" : @"MemoryInfo", + @"name" : @"Name", + }; +} + ++ (NSValueTransformer *)coreInfoJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NeuronDeviceCoreInfo class]]; +} + ++ (NSValueTransformer *)memoryInfoJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NeuronDeviceMemoryInfo class]]; +} + +@end + +@implementation AWSEC2NeuronDeviceMemoryInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"sizeInMiB" : @"SizeInMiB", + }; +} + +@end + +@implementation AWSEC2NeuronInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"neuronDevices" : @"NeuronDevices", + @"totalNeuronDeviceMemoryInMiB" : @"TotalNeuronDeviceMemoryInMiB", + }; +} + ++ (NSValueTransformer *)neuronDevicesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NeuronDeviceInfo class]]; +} + +@end + @implementation AWSEC2LatestDhcpConfiguration + (BOOL)supportsSecureCoding { @@ -92060,6 +93259,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"ramdiskId" : @"RamdiskId", @"rootDeviceName" : @"RootDeviceName", @"sriovNetSupport" : @"SriovNetSupport", + @"tagSpecifications" : @"TagSpecifications", @"tpmSupport" : @"TpmSupport", @"uefiData" : @"UefiData", @"virtualizationType" : @"VirtualizationType", @@ -92148,6 +93348,10 @@ + (NSValueTransformer *)imdsSupportJSONTransformer { }]; } ++ (NSValueTransformer *)tagSpecificationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; +} + + (NSValueTransformer *)tpmSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"v2.0"] == NSOrderedSame) { @@ -95438,6 +96642,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -97007,6 +98250,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -99581,6 +100850,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -101150,6 +102458,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -103666,6 +105000,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -105235,6 +106608,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -107739,6 +109138,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -109308,6 +110746,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -111854,6 +113318,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -113423,6 +114926,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -116040,6 +117569,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -117609,6 +119177,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -120599,6 +122193,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -122168,6 +123801,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -125321,6 +126980,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -126890,6 +128588,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -130917,6 +132641,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -132486,6 +134249,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } @@ -136251,6 +138040,45 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"r7iz.metal-32xl"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7Iz_metal_32xl); } + if ([value caseInsensitiveCompare:@"c7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_metal); + } + if ([value caseInsensitiveCompare:@"m7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_metal); + } + if ([value caseInsensitiveCompare:@"r7gd.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_metal); + } + if ([value caseInsensitiveCompare:@"g6.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_xlarge); + } + if ([value caseInsensitiveCompare:@"g6.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_2xlarge); + } + if ([value caseInsensitiveCompare:@"g6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_4xlarge); + } + if ([value caseInsensitiveCompare:@"g6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_8xlarge); + } + if ([value caseInsensitiveCompare:@"g6.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_12xlarge); + } + if ([value caseInsensitiveCompare:@"g6.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_16xlarge); + } + if ([value caseInsensitiveCompare:@"g6.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_24xlarge); + } + if ([value caseInsensitiveCompare:@"g6.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeG6_48xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_4xlarge); + } + if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeGR6_8xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -137820,6 +139648,32 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"r7iz.metal-16xl"; case AWSEC2InstanceTypeR7Iz_metal_32xl: return @"r7iz.metal-32xl"; + case AWSEC2InstanceTypeC7Gd_metal: + return @"c7gd.metal"; + case AWSEC2InstanceTypeM7Gd_metal: + return @"m7gd.metal"; + case AWSEC2InstanceTypeR7Gd_metal: + return @"r7gd.metal"; + case AWSEC2InstanceTypeG6_xlarge: + return @"g6.xlarge"; + case AWSEC2InstanceTypeG6_2xlarge: + return @"g6.2xlarge"; + case AWSEC2InstanceTypeG6_4xlarge: + return @"g6.4xlarge"; + case AWSEC2InstanceTypeG6_8xlarge: + return @"g6.8xlarge"; + case AWSEC2InstanceTypeG6_12xlarge: + return @"g6.12xlarge"; + case AWSEC2InstanceTypeG6_16xlarge: + return @"g6.16xlarge"; + case AWSEC2InstanceTypeG6_24xlarge: + return @"g6.24xlarge"; + case AWSEC2InstanceTypeG6_48xlarge: + return @"g6.48xlarge"; + case AWSEC2InstanceTypeGR6_4xlarge: + return @"gr6.4xlarge"; + case AWSEC2InstanceTypeGR6_8xlarge: + return @"gr6.8xlarge"; default: return nil; } diff --git a/AWSEC2/AWSEC2Resources.m b/AWSEC2/AWSEC2Resources.m index 91e018a4a6c..729116deadc 100644 --- a/AWSEC2/AWSEC2Resources.m +++ b/AWSEC2/AWSEC2Resources.m @@ -426,7 +426,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AttachVolumeRequest\"},\ \"output\":{\"shape\":\"VolumeAttachment\"},\ - \"documentation\":\"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use.

If a volume has an Amazon Web Services Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attach an Amazon EBS volume to an instance in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use.

If a volume has an Amazon Web Services Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attach an Amazon EBS volume to an instance in the Amazon EBS User Guide.

\"\ },\ \"AttachVpnGateway\":{\ \"name\":\"AttachVpnGateway\",\ @@ -456,7 +456,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AuthorizeSecurityGroupEgressRequest\"},\ \"output\":{\"shape\":\"AuthorizeSecurityGroupEgressResult\"},\ - \"documentation\":\"

Adds the specified outbound (egress) rules to a security group for use with a VPC.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR address ranges, or to the instances that are associated with the specified source security groups. When specifying an outbound rule for your security group in a VPC, the IpPermissions must include a destination for the traffic.

You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

For information about VPC security group quotas, see Amazon VPC quotas.

If you want to reference a security group across VPCs attached to a transit gateway using the security group referencing feature, note that you can only reference security groups for ingress rules. You cannot reference a security group for egress rules.

\"\ + \"documentation\":\"

Adds the specified outbound (egress) rules to a security group.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address ranges, the IP address ranges specified by a prefix list, or the instances that are associated with a source security group. For more information, see Security group rules.

You must specify exactly one of the following destinations: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

\"\ },\ \"AuthorizeSecurityGroupIngress\":{\ \"name\":\"AuthorizeSecurityGroupIngress\",\ @@ -466,7 +466,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AuthorizeSecurityGroupIngressRequest\"},\ \"output\":{\"shape\":\"AuthorizeSecurityGroupIngressResult\"},\ - \"documentation\":\"

Adds the specified inbound (ingress) rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address range, or from the instances that are associated with the specified destination security groups. When specifying an inbound rule for your security group in a VPC, the IpPermissions must include a source for the traffic.

You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify the destination port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

For more information about VPC security group quotas, see Amazon VPC quotas.

\"\ + \"documentation\":\"

Adds the specified inbound (ingress) rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 address range, the IP address ranges that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see Security group rules.

You must specify exactly one of the following sources: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For more information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

\"\ },\ \"BundleInstance\":{\ \"name\":\"BundleInstance\",\ @@ -604,7 +604,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CopyImageRequest\"},\ \"output\":{\"shape\":\"CopyImageResult\"},\ - \"documentation\":\"

Initiates the copy of an AMI. You can copy an AMI from one Region to another, or from a Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

To copy an AMI from one Region to another, specify the source Region using the SourceRegion parameter, and specify the destination Region using its endpoint. Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

To copy an AMI from a Region to an Outpost, specify the source Region using the SourceRegion parameter, and specify the ARN of the destination Outpost using DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EC2 User Guide.

For more information about the prerequisites and limits when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Initiates the copy of an AMI. You can copy an AMI from one Region to another, or from a Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

To copy an AMI from one Region to another, specify the source Region using the SourceRegion parameter, and specify the destination Region using its endpoint. Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

To copy an AMI from a Region to an Outpost, specify the source Region using the SourceRegion parameter, and specify the ARN of the destination Outpost using DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

For more information about the prerequisites and limits when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

\"\ },\ \"CopySnapshot\":{\ \"name\":\"CopySnapshot\",\ @@ -614,7 +614,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CopySnapshotRequest\"},\ \"output\":{\"shape\":\"CopySnapshotResult\"},\ - \"documentation\":\"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a snapshot within the same Region, from one Region to another, or from a Region to an Outpost. You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default Key Management Service (KMS) KMS key; however, you can specify a different KMS key. To copy an encrypted snapshot that has been shared from another account, you must have permissions for the KMS key used to encrypt the snapshot.

Snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copy an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a snapshot within the same Region, from one Region to another, or from a Region to an Outpost. You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default Key Management Service (KMS) KMS key; however, you can specify a different KMS key. To copy an encrypted snapshot that has been shared from another account, you must have permissions for the KMS key used to encrypt the snapshot.

Snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copy an Amazon EBS snapshot in the Amazon EBS User Guide.

\"\ },\ \"CreateCapacityReservation\":{\ \"name\":\"CreateCapacityReservation\",\ @@ -724,7 +724,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateDhcpOptionsRequest\"},\ \"output\":{\"shape\":\"CreateDhcpOptionsResult\"},\ - \"documentation\":\"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. To have your instance receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another Region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, ExampleCompany.com). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name.

  • ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers.

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP options sets in the Amazon VPC User Guide.

\"\ + \"documentation\":\"

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

\"\ },\ \"CreateEgressOnlyInternetGateway\":{\ \"name\":\"CreateEgressOnlyInternetGateway\",\ @@ -1093,7 +1093,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateSnapshotRequest\"},\ \"output\":{\"shape\":\"Snapshot\"},\ - \"documentation\":\"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

You can create snapshots of volumes in a Region and volumes on an Outpost. If you create a snapshot of a volume in a Region, the snapshot must be stored in the same Region as the volume. If you create a snapshot of a volume on an Outpost, the snapshot can be stored on the same Outpost as the volume, or in the Region for that Outpost.

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this might exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

When you create a snapshot for an EBS volume that serves as a root device, we recommend that you stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

You can create snapshots of volumes in a Region and volumes on an Outpost. If you create a snapshot of a volume in a Region, the snapshot must be stored in the same Region as the volume. If you create a snapshot of a volume on an Outpost, the snapshot can be stored on the same Outpost as the volume, or in the Region for that Outpost.

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this might exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

When you create a snapshot for an EBS volume that serves as a root device, we recommend that you stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS encryption in the Amazon EBS User Guide.

\"\ },\ \"CreateSnapshots\":{\ \"name\":\"CreateSnapshots\",\ @@ -1352,7 +1352,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateVolumeRequest\"},\ \"output\":{\"shape\":\"Volume\"},\ - \"documentation\":\"

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Create an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Create an Amazon EBS volume in the Amazon EBS User Guide.

\"\ },\ \"CreateVpc\":{\ \"name\":\"CreateVpc\",\ @@ -1840,7 +1840,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"DeleteSnapshotRequest\"},\ - \"documentation\":\"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Delete an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Delete an Amazon EBS snapshot in the Amazon EBS User Guide.

\"\ },\ \"DeleteSpotDatafeedSubscription\":{\ \"name\":\"DeleteSpotDatafeedSubscription\",\ @@ -2076,7 +2076,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"DeleteVolumeRequest\"},\ - \"documentation\":\"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Delete an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Delete an Amazon EBS volume in the Amazon EBS User Guide.

\"\ },\ \"DeleteVpc\":{\ \"name\":\"DeleteVpc\",\ @@ -2241,7 +2241,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeAccountAttributesRequest\"},\ \"output\":{\"shape\":\"DescribeAccountAttributesResult\"},\ - \"documentation\":\"

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • supported-platforms: This attribute is deprecated.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

\"\ + \"documentation\":\"

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • supported-platforms: This attribute is deprecated.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeAddressTransfers\":{\ \"name\":\"DescribeAddressTransfers\",\ @@ -2291,7 +2291,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeAvailabilityZonesRequest\"},\ \"output\":{\"shape\":\"DescribeAvailabilityZonesResult\"},\ - \"documentation\":\"

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.

For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions and zones in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.

For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions and zones in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeAwsNetworkPerformanceMetricSubscriptions\":{\ \"name\":\"DescribeAwsNetworkPerformanceMetricSubscriptions\",\ @@ -2311,7 +2311,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeBundleTasksRequest\"},\ \"output\":{\"shape\":\"DescribeBundleTasksResult\"},\ - \"documentation\":\"

Describes the specified bundle tasks or all of your bundle tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

\"\ + \"documentation\":\"

Describes the specified bundle tasks or all of your bundle tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeByoipCidrs\":{\ \"name\":\"DescribeByoipCidrs\",\ @@ -2331,7 +2331,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeCapacityBlockOfferingsRequest\"},\ \"output\":{\"shape\":\"DescribeCapacityBlockOfferingsResult\"},\ - \"documentation\":\"

Describes Capacity Block offerings available for purchase. With Capacity Blocks, you purchase a specific instance type for a period of time.

\"\ + \"documentation\":\"

Describes Capacity Block offerings available for purchase in the Amazon Web Services Region that you're currently using. With Capacity Blocks, you purchase a specific instance type for a period of time.

\"\ },\ \"DescribeCapacityReservationFleets\":{\ \"name\":\"DescribeCapacityReservationFleets\",\ @@ -2541,7 +2541,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeFleetInstancesRequest\"},\ \"output\":{\"shape\":\"DescribeFleetInstancesResult\"},\ - \"documentation\":\"

Describes the running instances for the specified EC2 Fleet.

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Describes the running instances for the specified EC2 Fleet.

Currently, DescribeFleetInstances does not support fleets of type instant. Instead, use DescribeFleets, specifying the instant fleet ID in the request.

For more information, see Describe your EC2 Fleet in the Amazon EC2 User Guide.

\"\ },\ \"DescribeFleets\":{\ \"name\":\"DescribeFleets\",\ @@ -2551,7 +2551,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeFleetsRequest\"},\ \"output\":{\"shape\":\"DescribeFleetsResult\"},\ - \"documentation\":\"

Describes the specified EC2 Fleets or all of your EC2 Fleets.

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Describes the specified EC2 Fleet or all of your EC2 Fleets.

If a fleet is of type instant, you must specify the fleet ID in the request, otherwise the fleet does not appear in the response.

For more information, see Describe your EC2 Fleet in the Amazon EC2 User Guide.

\"\ },\ \"DescribeFlowLogs\":{\ \"name\":\"DescribeFlowLogs\",\ @@ -2651,7 +2651,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeImageAttributeRequest\"},\ \"output\":{\"shape\":\"ImageAttribute\"},\ - \"documentation\":\"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

\"\ + \"documentation\":\"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeImages\":{\ \"name\":\"DescribeImages\",\ @@ -2661,7 +2661,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeImagesRequest\"},\ \"output\":{\"shape\":\"DescribeImagesResult\"},\ - \"documentation\":\"

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

\"\ + \"documentation\":\"

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeImportImageTasks\":{\ \"name\":\"DescribeImportImageTasks\",\ @@ -2741,7 +2741,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeInstanceStatusRequest\"},\ \"output\":{\"shape\":\"DescribeInstanceStatusResult\"},\ - \"documentation\":\"

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status checks for your instances and Troubleshoot instances with failed status checks in the Amazon EC2 User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled events for your instances in the Amazon EC2 User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance lifecycle in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status checks for your instances and Troubleshoot instances with failed status checks in the Amazon EC2 User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled events for your instances in the Amazon EC2 User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance lifecycle in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeInstanceTopology\":{\ \"name\":\"DescribeInstanceTopology\",\ @@ -2781,7 +2781,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeInstancesRequest\"},\ \"output\":{\"shape\":\"DescribeInstancesResult\"},\ - \"documentation\":\"

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

\"\ + \"documentation\":\"

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeInternetGateways\":{\ \"name\":\"DescribeInternetGateways\",\ @@ -2963,6 +2963,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DescribeLockedSnapshotsResult\"},\ \"documentation\":\"

Describes the lock status for a snapshot.

\"\ },\ + \"DescribeMacHosts\":{\ + \"name\":\"DescribeMacHosts\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DescribeMacHostsRequest\"},\ + \"output\":{\"shape\":\"DescribeMacHostsResult\"},\ + \"documentation\":\"

Describes the specified EC2 Mac Dedicated Host or all of your EC2 Mac Dedicated Hosts.

\"\ + },\ \"DescribeManagedPrefixLists\":{\ \"name\":\"DescribeManagedPrefixLists\",\ \"http\":{\ @@ -3121,7 +3131,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeRegionsRequest\"},\ \"output\":{\"shape\":\"DescribeRegionsResult\"},\ - \"documentation\":\"

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Amazon Elastic Compute Cloud endpoints and quotas.

For information about enabling and disabling Regions for your account, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

\"\ + \"documentation\":\"

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Amazon Elastic Compute Cloud endpoints and quotas.

For information about enabling and disabling Regions for your account, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeReplaceRootVolumeTasks\":{\ \"name\":\"DescribeReplaceRootVolumeTasks\",\ @@ -3141,7 +3151,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeReservedInstancesRequest\"},\ \"output\":{\"shape\":\"DescribeReservedInstancesResult\"},\ - \"documentation\":\"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeReservedInstancesListings\":{\ \"name\":\"DescribeReservedInstancesListings\",\ @@ -3151,7 +3161,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeReservedInstancesListingsRequest\"},\ \"output\":{\"shape\":\"DescribeReservedInstancesListingsResult\"},\ - \"documentation\":\"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeReservedInstancesModifications\":{\ \"name\":\"DescribeReservedInstancesModifications\",\ @@ -3161,7 +3171,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeReservedInstancesModificationsRequest\"},\ \"output\":{\"shape\":\"DescribeReservedInstancesModificationsResult\"},\ - \"documentation\":\"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeReservedInstancesOfferings\":{\ \"name\":\"DescribeReservedInstancesOfferings\",\ @@ -3171,7 +3181,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeReservedInstancesOfferingsRequest\"},\ \"output\":{\"shape\":\"DescribeReservedInstancesOfferingsResult\"},\ - \"documentation\":\"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeRouteTables\":{\ \"name\":\"DescribeRouteTables\",\ @@ -3211,7 +3221,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeSecurityGroupReferencesRequest\"},\ \"output\":{\"shape\":\"DescribeSecurityGroupReferencesResult\"},\ - \"documentation\":\"

Describes the VPCs on the other side of a VPC peering connection or the VPCs attached to a transit gateway that are referencing the security groups you've specified in this request.

\"\ + \"documentation\":\"

Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

\"\ },\ \"DescribeSecurityGroupRules\":{\ \"name\":\"DescribeSecurityGroupRules\",\ @@ -3241,7 +3251,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeSnapshotAttributeRequest\"},\ \"output\":{\"shape\":\"DescribeSnapshotAttributeResult\"},\ - \"documentation\":\"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

\"\ },\ \"DescribeSnapshotTierStatus\":{\ \"name\":\"DescribeSnapshotTierStatus\",\ @@ -3261,7 +3271,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeSnapshotsRequest\"},\ \"output\":{\"shape\":\"DescribeSnapshotsResult\"},\ - \"documentation\":\"

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

\"\ },\ \"DescribeSpotDatafeedSubscription\":{\ \"name\":\"DescribeSpotDatafeedSubscription\",\ @@ -3331,7 +3341,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeStaleSecurityGroupsRequest\"},\ \"output\":{\"shape\":\"DescribeStaleSecurityGroupsResult\"},\ - \"documentation\":\"

Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in the same VPC, peered VPC, or in separate VPCs attached to a transit gateway (with security group referencing support enabled). Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted or if they reference a security group in a VPC that has been detached from a transit gateway.

\"\ + \"documentation\":\"

Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in the same VPC or peered VPC. Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted.

\"\ },\ \"DescribeStoreImageTasks\":{\ \"name\":\"DescribeStoreImageTasks\",\ @@ -3361,7 +3371,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeTagsRequest\"},\ \"output\":{\"shape\":\"DescribeTagsResult\"},\ - \"documentation\":\"

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeTrafficMirrorFilters\":{\ \"name\":\"DescribeTrafficMirrorFilters\",\ @@ -3561,7 +3571,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVolumeAttributeRequest\"},\ \"output\":{\"shape\":\"DescribeVolumeAttributeResult\"},\ - \"documentation\":\"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

\"\ },\ \"DescribeVolumeStatus\":{\ \"name\":\"DescribeVolumeStatus\",\ @@ -3571,7 +3581,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVolumeStatusRequest\"},\ \"output\":{\"shape\":\"DescribeVolumeStatusResult\"},\ - \"documentation\":\"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks might still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitor the status of your volumes in the Amazon Elastic Compute Cloud User Guide.

Events: Reflect the cause of a volume status and might require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and might have inconsistent data.

Actions: Reflect the actions you might have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

\"\ + \"documentation\":\"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks might still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitor the status of your volumes in the Amazon EBS User Guide.

Events: Reflect the cause of a volume status and might require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and might have inconsistent data.

Actions: Reflect the actions you might have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeVolumes\":{\ \"name\":\"DescribeVolumes\",\ @@ -3581,7 +3591,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVolumesRequest\"},\ \"output\":{\"shape\":\"DescribeVolumesResult\"},\ - \"documentation\":\"

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeVolumesModifications\":{\ \"name\":\"DescribeVolumesModifications\",\ @@ -3591,7 +3601,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVolumesModificationsRequest\"},\ \"output\":{\"shape\":\"DescribeVolumesModificationsResult\"},\ - \"documentation\":\"

Describes the most recent volume modification request for the specified EBS volumes.

If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitor the progress of volume modifications in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Describes the most recent volume modification request for the specified EBS volumes.

If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

\"\ },\ \"DescribeVpcAttribute\":{\ \"name\":\"DescribeVpcAttribute\",\ @@ -3769,7 +3779,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DetachVolumeRequest\"},\ \"output\":{\"shape\":\"VolumeAttachment\"},\ - \"documentation\":\"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an Amazon Web Services Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

You can't detach or force detach volumes that are attached to Amazon ECS or Fargate tasks. Attempting to do this results in the UnsupportedOperationException exception with the Unable to detach volume attached to ECS tasks error message.

For more information, see Detach an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an Amazon Web Services Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

You can't detach or force detach volumes that are attached to Amazon ECS or Fargate tasks. Attempting to do this results in the UnsupportedOperationException exception with the Unable to detach volume attached to ECS tasks error message.

For more information, see Detach an Amazon EBS volume in the Amazon EBS User Guide.

\"\ },\ \"DetachVpnGateway\":{\ \"name\":\"DetachVpnGateway\",\ @@ -3808,7 +3818,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DisableEbsEncryptionByDefaultRequest\"},\ \"output\":{\"shape\":\"DisableEbsEncryptionByDefaultResult\"},\ - \"documentation\":\"

Disables EBS encryption by default for your account in the current Region.

After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume.

Disabling encryption by default does not change the encryption status of your existing volumes.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Disables EBS encryption by default for your account in the current Region.

After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume.

Disabling encryption by default does not change the encryption status of your existing volumes.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

\"\ },\ \"DisableFastLaunch\":{\ \"name\":\"DisableFastLaunch\",\ @@ -3888,7 +3898,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DisableSnapshotBlockPublicAccessRequest\"},\ \"output\":{\"shape\":\"DisableSnapshotBlockPublicAccessResult\"},\ - \"documentation\":\"

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide .

\"\ + \"documentation\":\"

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon EBS User Guide .

\"\ },\ \"DisableTransitGatewayRouteTablePropagation\":{\ \"name\":\"DisableTransitGatewayRouteTablePropagation\",\ @@ -4105,7 +4115,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"EnableEbsEncryptionByDefaultRequest\"},\ \"output\":{\"shape\":\"EnableEbsEncryptionByDefaultResult\"},\ - \"documentation\":\"

Enables EBS encryption by default for your account in the current Region.

After you enable encryption by default, the EBS volumes that you create are always encrypted, either using the default KMS key or the KMS key that you specified when you created each volume. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

Enabling encryption by default has no effect on the encryption status of your existing volumes.

After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.

\"\ + \"documentation\":\"

Enables EBS encryption by default for your account in the current Region.

After you enable encryption by default, the EBS volumes that you create are always encrypted, either using the default KMS key or the KMS key that you specified when you created each volume. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

Enabling encryption by default has no effect on the encryption status of your existing volumes.

After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.

\"\ },\ \"EnableFastLaunch\":{\ \"name\":\"EnableFastLaunch\",\ @@ -4125,7 +4135,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"EnableFastSnapshotRestoresRequest\"},\ \"output\":{\"shape\":\"EnableFastSnapshotRestoresResult\"},\ - \"documentation\":\"

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

For more information, see Amazon EBS fast snapshot restore in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

For more information, see Amazon EBS fast snapshot restore in the Amazon EBS User Guide.

\"\ },\ \"EnableImage\":{\ \"name\":\"EnableImage\",\ @@ -4195,7 +4205,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"EnableSnapshotBlockPublicAccessRequest\"},\ \"output\":{\"shape\":\"EnableSnapshotBlockPublicAccessResult\"},\ - \"documentation\":\"

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

If block public access is enabled in block-all-sharing mode, and you change the mode to block-new-sharing, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

If block public access is enabled in block-all-sharing mode, and you change the mode to block-new-sharing, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon EBS User Guide.

\"\ },\ \"EnableTransitGatewayRouteTablePropagation\":{\ \"name\":\"EnableTransitGatewayRouteTablePropagation\",\ @@ -4373,7 +4383,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"GetEbsDefaultKmsKeyIdRequest\"},\ \"output\":{\"shape\":\"GetEbsDefaultKmsKeyIdResult\"},\ - \"documentation\":\"

Describes the default KMS key for EBS encryption by default for your account in this Region. You can change the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Describes the default KMS key for EBS encryption by default for your account in this Region. You can change the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

\"\ },\ \"GetEbsEncryptionByDefault\":{\ \"name\":\"GetEbsEncryptionByDefault\",\ @@ -4383,7 +4393,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"GetEbsEncryptionByDefaultRequest\"},\ \"output\":{\"shape\":\"GetEbsEncryptionByDefaultResult\"},\ - \"documentation\":\"

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

\"\ },\ \"GetFlowLogsIntegrationTemplate\":{\ \"name\":\"GetFlowLogsIntegrationTemplate\",\ @@ -4425,6 +4435,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"GetImageBlockPublicAccessStateResult\"},\ \"documentation\":\"

Gets the current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

\"\ },\ + \"GetInstanceMetadataDefaults\":{\ + \"name\":\"GetInstanceMetadataDefaults\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetInstanceMetadataDefaultsRequest\"},\ + \"output\":{\"shape\":\"GetInstanceMetadataDefaultsResult\"},\ + \"documentation\":\"

Gets the default instance metadata service (IMDS) settings that are set at the account level in the specified Amazon Web Services
 Region.

For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ + },\ \"GetInstanceTypesFromInstanceRequirements\":{\ \"name\":\"GetInstanceTypesFromInstanceRequirements\",\ \"http\":{\ @@ -4613,7 +4633,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"GetSnapshotBlockPublicAccessStateRequest\"},\ \"output\":{\"shape\":\"GetSnapshotBlockPublicAccessStateResult\"},\ - \"documentation\":\"

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon EBS User Guide.

\"\ },\ \"GetSpotPlacementScores\":{\ \"name\":\"GetSpotPlacementScores\",\ @@ -4913,7 +4933,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifyEbsDefaultKmsKeyIdRequest\"},\ \"output\":{\"shape\":\"ModifyEbsDefaultKmsKeyIdResult\"},\ - \"documentation\":\"

Changes the default KMS key for EBS encryption by default for your account in this Region.

Amazon Web Services creates a unique Amazon Web Services managed KMS key in each Region for use with encryption by default. If you change the default KMS key to a symmetric customer managed KMS key, it is used instead of the Amazon Web Services managed KMS key. To reset the default KMS key to the Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric KMS keys.

If you delete or disable the customer managed KMS key that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Changes the default KMS key for EBS encryption by default for your account in this Region.

Amazon Web Services creates a unique Amazon Web Services managed KMS key in each Region for use with encryption by default. If you change the default KMS key to a symmetric customer managed KMS key, it is used instead of the Amazon Web Services managed KMS key. To reset the default KMS key to the Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric KMS keys.

If you delete or disable the customer managed KMS key that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

\"\ },\ \"ModifyFleet\":{\ \"name\":\"ModifyFleet\",\ @@ -5031,6 +5051,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"ModifyInstanceMaintenanceOptionsResult\"},\ \"documentation\":\"

Modifies the recovery behavior of your instance to disable simplified automatic recovery or set the recovery behavior to default. The default configuration will not enable simplified automatic recovery for an unsupported instance type. For more information, see Simplified automatic recovery.

\"\ },\ + \"ModifyInstanceMetadataDefaults\":{\ + \"name\":\"ModifyInstanceMetadataDefaults\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ModifyInstanceMetadataDefaultsRequest\"},\ + \"output\":{\"shape\":\"ModifyInstanceMetadataDefaultsResult\"},\ + \"documentation\":\"

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. At instance launch, the value will come from the AMI, or from the launch parameter if specified. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ + },\ \"ModifyInstanceMetadataOptions\":{\ \"name\":\"ModifyInstanceMetadataOptions\",\ \"http\":{\ @@ -5049,7 +5079,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifyInstancePlacementRequest\"},\ \"output\":{\"shape\":\"ModifyInstancePlacementResult\"},\ - \"documentation\":\"

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is launched, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state.

\"\ + \"documentation\":\"

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is started, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state.

\"\ },\ \"ModifyIpam\":{\ \"name\":\"ModifyIpam\",\ @@ -5177,7 +5207,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"ModifySnapshotAttributeRequest\"},\ - \"documentation\":\"

Adds or removes permission settings for the specified snapshot. You may add or remove specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Adds or removes permission settings for the specified snapshot. You may add or remove specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon EBS User Guide.

\"\ },\ \"ModifySnapshotTier\":{\ \"name\":\"ModifySnapshotTier\",\ @@ -5187,7 +5217,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifySnapshotTierRequest\"},\ \"output\":{\"shape\":\"ModifySnapshotTierResult\"},\ - \"documentation\":\"

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full snapshot that includes all of the blocks of data that were written to the volume at the time the snapshot was created, and moved from the standard tier to the archive tier. For more information, see Archive Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full snapshot that includes all of the blocks of data that were written to the volume at the time the snapshot was created, and moved from the standard tier to the archive tier. For more information, see Archive Amazon EBS snapshots in the Amazon EBS User Guide.

\"\ },\ \"ModifySpotFleetRequest\":{\ \"name\":\"ModifySpotFleetRequest\",\ @@ -5346,7 +5376,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifyVolumeRequest\"},\ \"output\":{\"shape\":\"ModifyVolumeResult\"},\ - \"documentation\":\"

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you might be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying EBS volumes, see Amazon EBS Elastic Volumes (Linux instances) or Amazon EBS Elastic Volumes (Windows instances).

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For more information, see Extend a Linux file system or Extend a Windows file system.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitor the progress of volume modifications.

With previous-generation instance types, resizing an EBS volume might require detaching and reattaching the volume or stopping and restarting the instance.

After modifying a volume, you must wait at least six hours and ensure that the volume is in the in-use or available state before you can modify the same volume. This is sometimes referred to as a cooldown period.

\"\ + \"documentation\":\"

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you might be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying EBS volumes, see Amazon EBS Elastic Volumes in the Amazon EBS User Guide.

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For more information, see Extend the file system.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitor the progress of volume modifications.

With previous-generation instance types, resizing an EBS volume might require detaching and reattaching the volume or stopping and restarting the instance.

After modifying a volume, you must wait at least six hours and ensure that the volume is in the in-use or available state before you can modify the same volume. This is sometimes referred to as a cooldown period.

\"\ },\ \"ModifyVolumeAttribute\":{\ \"name\":\"ModifyVolumeAttribute\",\ @@ -5603,7 +5633,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"RegisterImageRequest\"},\ \"output\":{\"shape\":\"RegisterImageResult\"},\ - \"documentation\":\"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Create your own AMI in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

Register a snapshot of a root device volume

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud User Guide.

Amazon Web Services Marketplace product codes

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association:

  1. Launch an instance from an existing AMI with that billing product code.

  2. Customize the instance.

  3. Create an AMI from the instance using CreateImage.

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI is the final step in the creation process. For more information about creating AMIs, see Create your own AMI in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

Register a snapshot of a root device volume

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud User Guide.

Amazon Web Services Marketplace product codes

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association:

  1. Launch an instance from an existing AMI with that billing product code.

  2. Customize the instance.

  3. Create an AMI from the instance using CreateImage.

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

\"\ },\ \"RegisterInstanceEventNotificationAttributes\":{\ \"name\":\"RegisterInstanceEventNotificationAttributes\",\ @@ -5829,7 +5859,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ResetEbsDefaultKmsKeyIdRequest\"},\ \"output\":{\"shape\":\"ResetEbsDefaultKmsKeyIdResult\"},\ - \"documentation\":\"

Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a customer managed KMS key by specifying it when you create the volume. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a customer managed KMS key by specifying it when you create the volume. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

\"\ },\ \"ResetFpgaImageAttribute\":{\ \"name\":\"ResetFpgaImageAttribute\",\ @@ -5875,7 +5905,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"ResetSnapshotAttributeRequest\"},\ - \"documentation\":\"

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon EBS User Guide.

\"\ },\ \"RestoreAddressToClassic\":{\ \"name\":\"RestoreAddressToClassic\",\ @@ -5915,7 +5945,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"RestoreSnapshotFromRecycleBinRequest\"},\ \"output\":{\"shape\":\"RestoreSnapshotFromRecycleBinResult\"},\ - \"documentation\":\"

Restores a snapshot from the Recycle Bin. For more information, see Restore snapshots from the Recycle Bin in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Restores a snapshot from the Recycle Bin. For more information, see Restore snapshots from the Recycle Bin in the Amazon EBS User Guide.

\"\ },\ \"RestoreSnapshotTier\":{\ \"name\":\"RestoreSnapshotTier\",\ @@ -5925,7 +5955,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"RestoreSnapshotTierRequest\"},\ \"output\":{\"shape\":\"RestoreSnapshotTierResult\"},\ - \"documentation\":\"

Restores an archived Amazon EBS snapshot for use temporarily or permanently, or modifies the restore period or restore type for a snapshot that was previously temporarily restored.

For more information see Restore an archived snapshot and modify the restore period or restore type for a temporarily restored snapshot in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Restores an archived Amazon EBS snapshot for use temporarily or permanently, or modifies the restore period or restore type for a snapshot that was previously temporarily restored.

For more information see Restore an archived snapshot and modify the restore period or restore type for a temporarily restored snapshot in the Amazon EBS User Guide.

\"\ },\ \"RevokeClientVpnIngress\":{\ \"name\":\"RevokeClientVpnIngress\",\ @@ -9058,7 +9088,7 @@ - (NSString *)definitionString { },\ \"IpPermissions\":{\ \"shape\":\"IpPermissionList\",\ - \"documentation\":\"

The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

\",\ + \"documentation\":\"

The permissions for the security group rules.

\",\ \"locationName\":\"ipPermissions\"\ },\ \"TagSpecifications\":{\ @@ -9068,32 +9098,32 @@ - (NSString *)definitionString { },\ \"CidrIp\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Not supported. Use a set of IP permissions to specify the CIDR.

\",\ + \"documentation\":\"

Not supported. Use IP permissions instead.

\",\ \"locationName\":\"cidrIp\"\ },\ \"FromPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

Not supported. Use a set of IP permissions to specify the port.

\",\ + \"documentation\":\"

Not supported. Use IP permissions instead.

\",\ \"locationName\":\"fromPort\"\ },\ \"IpProtocol\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Not supported. Use a set of IP permissions to specify the protocol name or number.

\",\ + \"documentation\":\"

Not supported. Use IP permissions instead.

\",\ \"locationName\":\"ipProtocol\"\ },\ \"ToPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

Not supported. Use a set of IP permissions to specify the port.

\",\ + \"documentation\":\"

Not supported. Use IP permissions instead.

\",\ \"locationName\":\"toPort\"\ },\ \"SourceSecurityGroupName\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Not supported. Use a set of IP permissions to specify a destination security group.

\",\ + \"documentation\":\"

Not supported. Use IP permissions instead.

\",\ \"locationName\":\"sourceSecurityGroupName\"\ },\ \"SourceSecurityGroupOwnerId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Not supported. Use a set of IP permissions to specify a destination security group.

\",\ + \"documentation\":\"

Not supported. Use IP permissions instead.

\",\ \"locationName\":\"sourceSecurityGroupOwnerId\"\ }\ }\ @@ -9118,39 +9148,39 @@ - (NSString *)definitionString { \"members\":{\ \"CidrIp\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source security group. To specify an IPv6 address range, use a set of IP permissions.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

\"\ + \"documentation\":\"

The IPv4 address range, in CIDR format.

To specify an IPv6 address range, use IP permissions instead.

To specify multiple rules and descriptions for the rules, use IP permissions instead.

\"\ },\ \"FromPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the type number. A value of -1 indicates all ICMP types. If you specify all ICMP types, you must specify all ICMP codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

\"\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the ICMP type or -1 (all ICMP types).

To specify multiple rules and descriptions for the rules, use IP permissions instead.

\"\ },\ \"GroupId\":{\ \"shape\":\"SecurityGroupId\",\ - \"documentation\":\"

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

\"\ + \"documentation\":\"

The ID of the security group.

\"\ },\ \"GroupName\":{\ \"shape\":\"SecurityGroupName\",\ - \"documentation\":\"

[Default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

\"\ + \"documentation\":\"

[Default VPC] The name of the security group. For security groups for a default VPC you can specify either the ID or the name of the security group. For security groups for a nondefault VPC, you must specify the ID of the security group.

\"\ },\ \"IpPermissions\":{\ \"shape\":\"IpPermissionList\",\ - \"documentation\":\"

The sets of IP permissions.

\"\ + \"documentation\":\"

The permissions for the security group rules.

\"\ },\ \"IpProtocol\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

Use -1 to specify all protocols. If you specify -1 or a protocol other than tcp, udp, or icmp, traffic on all ports is allowed, regardless of any ports you specify.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

\"\ + \"documentation\":\"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify all protocols, use -1.

To specify icmpv6, use IP permissions instead.

If you specify a protocol other than one of the supported values, traffic is allowed on all ports, regardless of any ports that you specify.

To specify multiple rules and descriptions for the rules, use IP permissions instead.

\"\ },\ \"SourceSecurityGroupName\":{\ \"shape\":\"String\",\ - \"documentation\":\"

[Default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. The source security group must be in the same VPC.

\"\ + \"documentation\":\"

[Default VPC] The name of the source security group.

The rule grants full ICMP, UDP, and TCP access. To create a rule with a specific protocol and port range, specify a set of IP permissions instead.

\"\ },\ \"SourceSecurityGroupOwnerId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

[Nondefault VPC] The Amazon Web Services account ID for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

\"\ + \"documentation\":\"

The Amazon Web Services account ID for the source security group, if the source security group is in a different account.

The rule grants full ICMP, UDP, and TCP access. To create a rule with a specific protocol and port range, use IP permissions instead.

\"\ },\ \"ToPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the code. A value of -1 indicates all ICMP codes. If you specify all ICMP types, you must specify all ICMP codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

\"\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

To specify multiple rules and descriptions for the rules, use IP permissions instead.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -9159,7 +9189,7 @@ - (NSString *)definitionString { },\ \"TagSpecifications\":{\ \"shape\":\"TagSpecificationList\",\ - \"documentation\":\"

[VPC Only] The tags applied to the security group rule.

\",\ + \"documentation\":\"

The tags applied to the security group rule.

\",\ \"locationName\":\"TagSpecification\"\ }\ }\ @@ -9480,6 +9510,7 @@ - (NSString *)definitionString { ]\ },\ \"BoxedDouble\":{\"type\":\"double\"},\ + \"BoxedInteger\":{\"type\":\"integer\"},\ \"BundleId\":{\"type\":\"string\"},\ \"BundleIdStringList\":{\ \"type\":\"list\",\ @@ -9497,7 +9528,7 @@ - (NSString *)definitionString { \"members\":{\ \"InstanceId\":{\ \"shape\":\"InstanceId\",\ - \"documentation\":\"

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

\"\ + \"documentation\":\"

The ID of the instance to bundle.

Default: None

\"\ },\ \"Storage\":{\ \"shape\":\"Storage\",\ @@ -11891,7 +11922,7 @@ - (NSString *)definitionString { },\ \"Encrypted\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide.

\",\ + \"documentation\":\"

Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default KMS key for Amazon EBS is used unless you specify a non-default Key Management Service (KMS) KMS key using KmsKeyId. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

\",\ \"locationName\":\"encrypted\"\ },\ \"KmsKeyId\":{\ @@ -11913,7 +11944,7 @@ - (NSString *)definitionString { },\ \"DestinationOutpostArn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy AMIs from an Amazon Web Services Region to an Outpost in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an Amazon Web Services Region to an Outpost. The AMI must be in the Region of the destination Outpost. You cannot copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy AMIs from an Amazon Web Services Region to an Outpost in the Amazon EBS User Guide.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -11923,6 +11954,11 @@ - (NSString *)definitionString { \"CopyImageTags\":{\ \"shape\":\"Boolean\",\ \"documentation\":\"

Indicates whether to include your user-defined AMI tags when copying the AMI.

The following tags will not be copied:

  • System tags (prefixed with aws:)

  • For public and shared AMIs, user-defined tags that are attached by other Amazon Web Services accounts

Default: Your user-defined AMI tags are not copied.

\"\ + },\ + \"TagSpecifications\":{\ + \"shape\":\"TagSpecificationList\",\ + \"documentation\":\"

The tags to apply to the new AMI and new snapshots. You can tag the AMI, the snapshots, or both.

  • To tag the new AMI, the value for ResourceType must be image.

  • To tag the new snapshots, the value for ResourceType must be snapshot. The same tag is applied to all the new snapshots.

If you specify other values for ResourceType, the request fails.

To tag an AMI or snapshot after it has been created, see CreateTags.

\",\ + \"locationName\":\"TagSpecification\"\ }\ },\ \"documentation\":\"

Contains the parameters for CopyImage.

\"\ @@ -11951,7 +11987,7 @@ - (NSString *)definitionString { },\ \"DestinationOutpostArn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only specify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. The snapshot must be in the Region for the destination Outpost. You cannot copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy snapshots from an Amazon Web Services Region to an Outpost in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the Outpost to which to copy the snapshot. Only specify this parameter when copying a snapshot from an Amazon Web Services Region to an Outpost. The snapshot must be in the Region for the destination Outpost. You cannot copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

For more information, see Copy snapshots from an Amazon Web Services Region to an Outpost in the Amazon EBS User Guide.

\"\ },\ \"DestinationRegion\":{\ \"shape\":\"String\",\ @@ -11960,7 +11996,7 @@ - (NSString *)definitionString { },\ \"Encrypted\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots are encrypted, even if you omit this parameter and encryption by default is not enabled. You cannot set this parameter to false. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

\",\ + \"documentation\":\"

To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots are encrypted, even if you omit this parameter and encryption by default is not enabled. You cannot set this parameter to false. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

\",\ \"locationName\":\"encrypted\"\ },\ \"KmsKeyId\":{\ @@ -12860,7 +12896,7 @@ - (NSString *)definitionString { },\ \"DeliverLogsPermissionArn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The ARN of the IAM role that allows Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account.

This parameter is required if the destination type is cloud-watch-logs and unsupported otherwise.

\"\ + \"documentation\":\"

The ARN of the IAM role that allows Amazon EC2 to publish flow logs to the log destination.

This parameter is required if the destination type is cloud-watch-logs, or if the destination type is kinesis-data-firehose and the delivery stream and the resources to monitor are in different accounts.

\"\ },\ \"DeliverCrossAccountRole\":{\ \"shape\":\"String\",\ @@ -14533,7 +14569,7 @@ - (NSString *)definitionString { },\ \"OutpostArn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the Outpost on which to create a local snapshot.

  • To create a snapshot of a volume in a Region, omit this parameter. The snapshot is created in the same Region as the volume.

  • To create a snapshot of a volume on an Outpost and store the snapshot in the Region, omit this parameter. The snapshot is created in the Region for the Outpost.

  • To create a snapshot of a volume on an Outpost and store the snapshot on an Outpost, specify the ARN of the destination Outpost. The snapshot must be created on the same Outpost as the volume.

For more information, see Create local snapshots from volumes on an Outpost in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the Outpost on which to create a local snapshot.

  • To create a snapshot of a volume in a Region, omit this parameter. The snapshot is created in the same Region as the volume.

  • To create a snapshot of a volume on an Outpost and store the snapshot in the Region, omit this parameter. The snapshot is created in the Region for the Outpost.

  • To create a snapshot of a volume on an Outpost and store the snapshot on an Outpost, specify the ARN of the destination Outpost. The snapshot must be created on the same Outpost as the volume.

For more information, see Create local snapshots from volumes on an Outpost in the Amazon EBS User Guide.

\"\ },\ \"VolumeId\":{\ \"shape\":\"VolumeId\",\ @@ -14565,7 +14601,7 @@ - (NSString *)definitionString { },\ \"OutpostArn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the Outpost on which to create the local snapshots.

  • To create snapshots from an instance in a Region, omit this parameter. The snapshots are created in the same Region as the instance.

  • To create snapshots from an instance on an Outpost and store the snapshots in the Region, omit this parameter. The snapshots are created in the Region for the Outpost.

  • To create snapshots from an instance on an Outpost and store the snapshots on an Outpost, specify the ARN of the destination Outpost. The snapshots must be created on the same Outpost as the instance.

For more information, see Create multi-volume local snapshots from instances on an Outpost in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the Outpost on which to create the local snapshots.

  • To create snapshots from an instance in a Region, omit this parameter. The snapshots are created in the same Region as the instance.

  • To create snapshots from an instance on an Outpost and store the snapshots in the Region, omit this parameter. The snapshots are created in the Region for the Outpost.

  • To create snapshots from an instance on an Outpost and store the snapshots on an Outpost, specify the ARN of the destination Outpost. The snapshots must be created on the same Outpost as the instance.

For more information, see Create multi-volume local snapshots from instances on an Outpost in the Amazon EBS User Guide.

\"\ },\ \"TagSpecifications\":{\ \"shape\":\"TagSpecificationList\",\ @@ -15485,7 +15521,7 @@ - (NSString *)definitionString { },\ \"SecurityGroupReferencingSupport\":{\ \"shape\":\"SecurityGroupReferencingSupportValue\",\ - \"documentation\":\"

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

If you don't enable or disable SecurityGroupReferencingSupport in the request, the attachment will inherit the security group referencing support setting on the transit gateway.

For important information about this feature, see Create a transit gateway attachment to a VPC in the Amazon Web Services Transit Gateway Guide.

\"\ + \"documentation\":\"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

If you don't enable or disable SecurityGroupReferencingSupport in the request, the attachment will inherit the security group referencing support setting on the transit gateway.

\"\ },\ \"Ipv6Support\":{\ \"shape\":\"Ipv6SupportValue\",\ @@ -15885,7 +15921,7 @@ - (NSString *)definitionString { },\ \"Encrypted\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon Elastic Compute Cloud User Guide.

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

\",\ + \"documentation\":\"

Indicates whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon EBS User Guide.

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

\",\ \"locationName\":\"encrypted\"\ },\ \"Iops\":{\ @@ -15910,7 +15946,7 @@ - (NSString *)definitionString { },\ \"VolumeType\":{\ \"shape\":\"VolumeType\",\ - \"documentation\":\"

The volume type. This parameter can be one of the following values:

  • General Purpose SSD: gp2 | gp3

  • Provisioned IOPS SSD: io1 | io2

  • Throughput Optimized HDD: st1

  • Cold HDD: sc1

  • Magnetic: standard

Throughput Optimized HDD (st1) and Cold HDD (sc1) volumes can't be used as boot volumes.

For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

Default: gp2

\"\ + \"documentation\":\"

The volume type. This parameter can be one of the following values:

  • General Purpose SSD: gp2 | gp3

  • Provisioned IOPS SSD: io1 | io2

  • Throughput Optimized HDD: st1

  • Cold HDD: sc1

  • Magnetic: standard

Throughput Optimized HDD (st1) and Cold HDD (sc1) volumes can't be used as boot volumes.

For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

Default: gp2

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -15924,7 +15960,7 @@ - (NSString *)definitionString { },\ \"MultiAttachEnabled\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon EBS User Guide.

\"\ },\ \"Throughput\":{\ \"shape\":\"Integer\",\ @@ -16545,6 +16581,22 @@ - (NSString *)definitionString { \"locationName\":\"item\"\ }\ },\ + \"DefaultInstanceMetadataEndpointState\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"disabled\",\ + \"enabled\",\ + \"no-preference\"\ + ]\ + },\ + \"DefaultInstanceMetadataTagsState\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"disabled\",\ + \"enabled\",\ + \"no-preference\"\ + ]\ + },\ \"DefaultNetworkCardIndex\":{\"type\":\"integer\"},\ \"DefaultRouteTableAssociationValue\":{\ \"type\":\"string\",\ @@ -18935,7 +18987,7 @@ - (NSString *)definitionString { \"members\":{\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

The filters.

  • group-name - For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1) For Wavelength Zones, use the name of the group associated with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • message - The Zone message.

  • opt-in-status - The opt-in status (opted-in | not-opted-in | opt-in-not-required).

  • parent-zone-id - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • parent-zone-name - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • region-name - The name of the Region for the Zone (for example, us-east-1).

  • state - The state of the Availability Zone, the Local Zone, or the Wavelength Zone (available).

  • zone-id - The ID of the Availability Zone (for example, use1-az1), the Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-name - The name of the Availability Zone (for example, us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-type - The type of zone (availability-zone | local-zone | wavelength-zone).

\",\ + \"documentation\":\"

The filters.

  • group-name - For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1) For Wavelength Zones, use the name of the group associated with the Wavelength Zone (for example, us-east-1-wl1).

  • message - The Zone message.

  • opt-in-status - The opt-in status (opted-in | not-opted-in | opt-in-not-required).

  • parent-zone-id - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • parent-zone-name - The ID of the zone that handles some of the Local Zone and Wavelength Zone control plane operations, such as API calls.

  • region-name - The name of the Region for the Zone (for example, us-east-1).

  • state - The state of the Availability Zone, the Local Zone, or the Wavelength Zone (available).

  • zone-id - The ID of the Availability Zone (for example, use1-az1), the Local Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-name - The name of the Availability Zone (for example, us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

  • zone-type - The type of zone (availability-zone | local-zone | wavelength-zone).

\",\ \"locationName\":\"Filter\"\ },\ \"ZoneNames\":{\ @@ -22027,6 +22079,49 @@ - (NSString *)definitionString { }\ }\ },\ + \"DescribeMacHostsRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Filters\":{\ + \"shape\":\"FilterList\",\ + \"documentation\":\"

The filters.

  • availability-zone - The Availability Zone of the EC2 Mac Dedicated Host.

  • instance-type - The instance type size that the EC2 Mac Dedicated Host is configured to support.

\",\ + \"locationName\":\"Filter\"\ + },\ + \"HostIds\":{\ + \"shape\":\"RequestHostIdList\",\ + \"documentation\":\"

The IDs of the EC2 Mac Dedicated Hosts.

\",\ + \"locationName\":\"HostId\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"DescribeMacHostsRequestMaxResults\",\ + \"documentation\":\"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token to use to retrieve the next page of results.

\"\ + }\ + }\ + },\ + \"DescribeMacHostsRequestMaxResults\":{\ + \"type\":\"integer\",\ + \"max\":500,\ + \"min\":5\ + },\ + \"DescribeMacHostsResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"MacHosts\":{\ + \"shape\":\"MacHostList\",\ + \"documentation\":\"

Information about the EC2 Mac Dedicated Hosts.

\",\ + \"locationName\":\"macHostSet\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token to use to retrieve the next page of results.

\",\ + \"locationName\":\"nextToken\"\ + }\ + }\ + },\ \"DescribeManagedPrefixListsRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -23701,7 +23796,7 @@ - (NSString *)definitionString { \"members\":{\ \"NextToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

\",\ + \"documentation\":\"

The token to include in another request to get the next page of items. This value is an empty string (\\\"\\\") or null when there are no more items to return.

\",\ \"locationName\":\"nextToken\"\ },\ \"SpotPriceHistory\":{\ @@ -27023,7 +27118,7 @@ - (NSString *)definitionString { },\ \"VolumeType\":{\ \"shape\":\"VolumeType\",\ - \"documentation\":\"

The volume type. For more information, see Amazon EBS volume types in the Amazon EC2 User Guide.

\",\ + \"documentation\":\"

The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

\",\ \"locationName\":\"volumeType\"\ },\ \"KmsKeyId\":{\ @@ -27043,7 +27138,7 @@ - (NSString *)definitionString { },\ \"Encrypted\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS encryption in the Amazon EC2 User Guide.

In no case can you remove encryption from an encrypted volume.

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

This parameter is not returned by DescribeImageAttribute.

For CreateImage and RegisterImage, whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating.

  • If you are creating a block device mapping for a new (empty) volume, you can include this parameter, and specify either true for an encrypted volume, or false for an unencrypted volume. If you omit this parameter, it defaults to false (unencrypted).

  • If you are creating a block device mapping from an existing encrypted or unencrypted snapshot, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.

  • If you are creating a block device mapping from an existing unencrypted volume, you can include this parameter, but you must specify false. If you specify true, the request will fail. In this case, we recommend that you omit the parameter.

  • If you are creating a block device mapping from an existing encrypted volume, you can include this parameter, and specify either true or false. However, if you specify false, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.

\",\ + \"documentation\":\"

Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

In no case can you remove encryption from an encrypted volume.

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.

This parameter is not returned by DescribeImageAttribute.

For CreateImage and RegisterImage, whether you can include this parameter, and the allowed values differ depending on the type of block device mapping you are creating.

  • If you are creating a block device mapping for a new (empty) volume, you can include this parameter, and specify either true for an encrypted volume, or false for an unencrypted volume. If you omit this parameter, it defaults to false (unencrypted).

  • If you are creating a block device mapping from an existing encrypted or unencrypted snapshot, you must omit this parameter. If you include this parameter, the request will fail, regardless of the value that you specify.

  • If you are creating a block device mapping from an existing unencrypted volume, you can include this parameter, but you must specify false. If you specify true, the request will fail. In this case, we recommend that you omit the parameter.

  • If you are creating a block device mapping from an existing encrypted volume, you can include this parameter, and specify either true or false. However, if you specify false, the parameter is ignored and the block device mapping is always encrypted. In this case, we recommend that you omit the parameter.

\",\ \"locationName\":\"encrypted\"\ }\ },\ @@ -29620,7 +29715,7 @@ - (NSString *)definitionString { },\ \"WeightedCapacity\":{\ \"shape\":\"Double\",\ - \"documentation\":\"

The number of units provided by the specified instance type.

\",\ + \"documentation\":\"

The number of units provided by the specified instance type.

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

\",\ \"locationName\":\"weightedCapacity\"\ },\ \"Priority\":{\ @@ -29681,7 +29776,7 @@ - (NSString *)definitionString { },\ \"WeightedCapacity\":{\ \"shape\":\"Double\",\ - \"documentation\":\"

The number of units provided by the specified instance type.

\"\ + \"documentation\":\"

The number of units provided by the specified instance type.

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

\"\ },\ \"Priority\":{\ \"shape\":\"Double\",\ @@ -30705,6 +30800,25 @@ - (NSString *)definitionString { }\ }\ },\ + \"GetInstanceMetadataDefaultsRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

\"\ + }\ + }\ + },\ + \"GetInstanceMetadataDefaultsResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AccountLevel\":{\ + \"shape\":\"InstanceMetadataDefaultsResponse\",\ + \"documentation\":\"

The account-level default IMDS settings.

\",\ + \"locationName\":\"accountLevel\"\ + }\ + }\ + },\ \"GetInstanceTypesFromInstanceRequirementsRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -31255,6 +31369,11 @@ - (NSString *)definitionString { }\ }\ },\ + \"GetNetworkInsightsAccessScopeAnalysisFindingsMaxResults\":{\ + \"type\":\"integer\",\ + \"max\":1000,\ + \"min\":1\ + },\ \"GetNetworkInsightsAccessScopeAnalysisFindingsRequest\":{\ \"type\":\"structure\",\ \"required\":[\"NetworkInsightsAccessScopeAnalysisId\"],\ @@ -31264,7 +31383,7 @@ - (NSString *)definitionString { \"documentation\":\"

The ID of the Network Access Scope analysis.

\"\ },\ \"MaxResults\":{\ - \"shape\":\"NetworkInsightsMaxResults\",\ + \"shape\":\"GetNetworkInsightsAccessScopeAnalysisFindingsMaxResults\",\ \"documentation\":\"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

\"\ },\ \"NextToken\":{\ @@ -32911,7 +33030,7 @@ - (NSString *)definitionString { },\ \"ImageOwnerAlias\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The Amazon Web Services account alias (for example, amazon, self) or the Amazon Web Services account ID of the AMI owner.

\",\ + \"documentation\":\"

The owner alias (amazon | aws-marketplace).

\",\ \"locationName\":\"imageOwnerAlias\"\ },\ \"Name\":{\ @@ -35050,6 +35169,32 @@ - (NSString *)definitionString { \"targeted\"\ ]\ },\ + \"InstanceMetadataDefaultsResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"HttpTokens\":{\ + \"shape\":\"HttpTokensState\",\ + \"documentation\":\"

Indicates whether IMDSv2 is required.

  • optional – IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required – IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

\",\ + \"locationName\":\"httpTokens\"\ + },\ + \"HttpPutResponseHopLimit\":{\ + \"shape\":\"BoxedInteger\",\ + \"documentation\":\"

The maximum number of hops that the metadata token can travel.

\",\ + \"locationName\":\"httpPutResponseHopLimit\"\ + },\ + \"HttpEndpoint\":{\ + \"shape\":\"InstanceMetadataEndpointState\",\ + \"documentation\":\"

Indicates whether the IMDS endpoint for an instance is enabled or disabled. When disabled, the instance metadata can't be accessed.

\",\ + \"locationName\":\"httpEndpoint\"\ + },\ + \"InstanceMetadataTags\":{\ + \"shape\":\"InstanceMetadataTagsState\",\ + \"documentation\":\"

Indicates whether access to instance tags from the instance metadata is enabled or disabled. For more information, see Work with instance tags using the instance metadata in the Amazon EC2 User Guide.

\",\ + \"locationName\":\"instanceMetadataTags\"\ + }\ + },\ + \"documentation\":\"

The default instance metadata service (IMDS) settings that were set at the account level in the specified Amazon Web Services
 Region.

\"\ + },\ \"InstanceMetadataEndpointState\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -35062,11 +35207,11 @@ - (NSString *)definitionString { \"members\":{\ \"HttpTokens\":{\ \"shape\":\"HttpTokensState\",\ - \"documentation\":\"

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

Default: If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, the default is required.

\"\ + \"documentation\":\"

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

Default:

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0 and the account level default is set to no-preference, the default is required.

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, but the account level default is set to V1 or V2, the default is optional.

The default value can also be affected by other combinations of parameters. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ },\ \"HttpPutResponseHopLimit\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

\"\ + \"documentation\":\"

The maximum number of hops that the metadata token can travel.

Possible values: Integers from 1 to 64

\"\ },\ \"HttpEndpoint\":{\ \"shape\":\"InstanceMetadataEndpointState\",\ @@ -35074,7 +35219,7 @@ - (NSString *)definitionString { },\ \"HttpProtocolIpv6\":{\ \"shape\":\"InstanceMetadataProtocolState\",\ - \"documentation\":\"

Enables or disables the IPv6 endpoint for the instance metadata service.

\"\ + \"documentation\":\"

Enables or disables the IPv6 endpoint for the instance metadata service.

Default: disabled

\"\ },\ \"InstanceMetadataTags\":{\ \"shape\":\"InstanceMetadataTagsState\",\ @@ -35093,12 +35238,12 @@ - (NSString *)definitionString { },\ \"HttpTokens\":{\ \"shape\":\"HttpTokensState\",\ - \"documentation\":\"

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

\",\ + \"documentation\":\"

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required - IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

\",\ \"locationName\":\"httpTokens\"\ },\ \"HttpPutResponseHopLimit\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

\",\ + \"documentation\":\"

The maximum number of hops that the metadata token can travel.

Possible values: Integers from 1 to 64

\",\ \"locationName\":\"httpPutResponseHopLimit\"\ },\ \"HttpEndpoint\":{\ @@ -35108,7 +35253,7 @@ - (NSString *)definitionString { },\ \"HttpProtocolIpv6\":{\ \"shape\":\"InstanceMetadataProtocolState\",\ - \"documentation\":\"

Indicates whether the IPv6 endpoint for the instance metadata service is enabled or disabled.

\",\ + \"documentation\":\"

Indicates whether the IPv6 endpoint for the instance metadata service is enabled or disabled.

Default: disabled

\",\ \"locationName\":\"httpProtocolIpv6\"\ },\ \"InstanceMetadataTags\":{\ @@ -35348,7 +35493,7 @@ - (NSString *)definitionString { \"members\":{\ \"AssociatePublicIpAddress\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\",\ + \"documentation\":\"

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\",\ \"locationName\":\"associatePublicIpAddress\"\ },\ \"DeleteOnTermination\":{\ @@ -35528,7 +35673,7 @@ - (NSString *)definitionString { },\ \"SpotMaxPricePercentageOverLowestPrice\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

Default: 100

\",\ + \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

Default: 100

\",\ \"locationName\":\"spotMaxPricePercentageOverLowestPrice\"\ },\ \"OnDemandMaxPricePercentageOverLowestPrice\":{\ @@ -35613,7 +35758,7 @@ - (NSString *)definitionString { },\ \"MaxSpotPriceAsPercentageOfOptimalOnDemandPrice\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

\",\ + \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

\",\ \"locationName\":\"maxSpotPriceAsPercentageOfOptimalOnDemandPrice\"\ }\ },\ @@ -35655,7 +35800,7 @@ - (NSString *)definitionString { },\ \"SpotMaxPricePercentageOverLowestPrice\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

Default: 100

\"\ + \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than an identified Spot price. The identified Spot price is the Spot price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified Spot price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose Spot price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection threshold is applied based on the per-vCPU or per-memory price instead of the per-instance price.

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

Default: 100

\"\ },\ \"OnDemandMaxPricePercentageOverLowestPrice\":{\ \"shape\":\"Integer\",\ @@ -35728,7 +35873,7 @@ - (NSString *)definitionString { },\ \"MaxSpotPriceAsPercentageOfOptimalOnDemandPrice\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

To indicate no price protection threshold, specify a high value, such as 999999.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice is used and the value for that parameter defaults to 100.

\"\ + \"documentation\":\"

[Price protection] The price protection threshold for Spot Instances, as a percentage of an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from the lowest priced current generation instance types, and failing that, from the lowest priced previous generation instance types that match your attributes. When Amazon EC2 selects instance types with your attributes, it will exclude instance types whose price exceeds your specified threshold.

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is based on the per vCPU or per memory price instead of the per instance price.

Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you don't specify either, Amazon EC2 will automatically apply optimal price protection to consistently select from a wide range of instance types. To indicate no price protection threshold for Spot Instances, meaning you want to consider all instance types that match your attributes, include one of these parameters and specify a high value, such as 999999.

\"\ }\ },\ \"documentation\":\"

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

  • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

  • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the launch instance wizard, or with the RunInstances API or AWS::EC2::Instance Amazon Web Services CloudFormation resource, you can't specify InstanceRequirements.

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

\"\ @@ -36047,7 +36192,7 @@ - (NSString *)definitionString { },\ \"NetworkNodes\":{\ \"shape\":\"NetworkNodesList\",\ - \"documentation\":\"

The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same droplet will return a different hashed list of strings.

\",\ + \"documentation\":\"

The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same server will return a different hashed list of strings.

\",\ \"locationName\":\"networkNodeSet\"\ },\ \"AvailabilityZone\":{\ @@ -36848,7 +36993,20 @@ - (NSString *)definitionString { \"r7i.metal-24xl\",\ \"r7i.metal-48xl\",\ \"r7iz.metal-16xl\",\ - \"r7iz.metal-32xl\"\ + \"r7iz.metal-32xl\",\ + \"c7gd.metal\",\ + \"m7gd.metal\",\ + \"r7gd.metal\",\ + \"g6.xlarge\",\ + \"g6.2xlarge\",\ + \"g6.4xlarge\",\ + \"g6.8xlarge\",\ + \"g6.12xlarge\",\ + \"g6.16xlarge\",\ + \"g6.24xlarge\",\ + \"g6.48xlarge\",\ + \"gr6.4xlarge\",\ + \"gr6.8xlarge\"\ ]\ },\ \"InstanceTypeHypervisor\":{\ @@ -36995,6 +37153,16 @@ - (NSString *)definitionString { \"shape\":\"NitroTpmInfo\",\ \"documentation\":\"

Describes the supported NitroTPM versions for the instance type.

\",\ \"locationName\":\"nitroTpmInfo\"\ + },\ + \"MediaAcceleratorInfo\":{\ + \"shape\":\"MediaAcceleratorInfo\",\ + \"documentation\":\"

Describes the media accelerator settings for the instance type.

\",\ + \"locationName\":\"mediaAcceleratorInfo\"\ + },\ + \"NeuronInfo\":{\ + \"shape\":\"NeuronInfo\",\ + \"documentation\":\"

Describes the Neuron accelerator settings for the instance type.

\",\ + \"locationName\":\"neuronInfo\"\ }\ },\ \"documentation\":\"

Describes the instance type.

\"\ @@ -37219,7 +37387,7 @@ - (NSString *)definitionString { \"members\":{\ \"FromPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

\",\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

\",\ \"locationName\":\"fromPort\"\ },\ \"IpProtocol\":{\ @@ -37229,12 +37397,12 @@ - (NSString *)definitionString { },\ \"IpRanges\":{\ \"shape\":\"IpRangeList\",\ - \"documentation\":\"

The IPv4 ranges.

\",\ + \"documentation\":\"

The IPv4 address ranges.

\",\ \"locationName\":\"ipRanges\"\ },\ \"Ipv6Ranges\":{\ \"shape\":\"Ipv6RangeList\",\ - \"documentation\":\"

The IPv6 ranges.

\",\ + \"documentation\":\"

The IPv6 address ranges.

\",\ \"locationName\":\"ipv6Ranges\"\ },\ \"PrefixListIds\":{\ @@ -37244,7 +37412,7 @@ - (NSString *)definitionString { },\ \"ToPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

\",\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

\",\ \"locationName\":\"toPort\"\ },\ \"UserIdGroupPairs\":{\ @@ -37253,7 +37421,7 @@ - (NSString *)definitionString { \"locationName\":\"groups\"\ }\ },\ - \"documentation\":\"

Describes a set of permissions for a security group rule.

\"\ + \"documentation\":\"

Describes the permissions for a security group rule.

\"\ },\ \"IpPermissionList\":{\ \"type\":\"list\",\ @@ -37274,7 +37442,7 @@ - (NSString *)definitionString { \"members\":{\ \"CidrIp\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IPv4 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv4 address, use the /32 prefix length.

\",\ + \"documentation\":\"

The IPv4 address range. You can either specify a CIDR block or a source security group, not both. To specify a single IPv4 address, use the /32 prefix length.

\",\ \"locationName\":\"cidrIp\"\ },\ \"Description\":{\ @@ -37283,7 +37451,7 @@ - (NSString *)definitionString { \"locationName\":\"description\"\ }\ },\ - \"documentation\":\"

Describes an IPv4 range.

\"\ + \"documentation\":\"

Describes an IPv4 address range.

\"\ },\ \"IpRangeList\":{\ \"type\":\"list\",\ @@ -38840,7 +39008,7 @@ - (NSString *)definitionString { \"members\":{\ \"CidrIpv6\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IPv6 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv6 address, use the /128 prefix length.

\",\ + \"documentation\":\"

The IPv6 address range. You can either specify a CIDR block or a source security group, not both. To specify a single IPv6 address, use the /128 prefix length.

\",\ \"locationName\":\"cidrIpv6\"\ },\ \"Description\":{\ @@ -38849,7 +39017,7 @@ - (NSString *)definitionString { \"locationName\":\"description\"\ }\ },\ - \"documentation\":\"

Describes an IPv6 range.

\"\ + \"documentation\":\"

Describes an IPv6 address range.

\"\ },\ \"Ipv6RangeList\":{\ \"type\":\"list\",\ @@ -39420,7 +39588,7 @@ - (NSString *)definitionString { },\ \"VolumeType\":{\ \"shape\":\"VolumeType\",\ - \"documentation\":\"

The volume type. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

\"\ },\ \"Throughput\":{\ \"shape\":\"Integer\",\ @@ -39754,7 +39922,7 @@ - (NSString *)definitionString { },\ \"AssociatePublicIpAddress\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\",\ + \"documentation\":\"

Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\",\ \"locationName\":\"associatePublicIpAddress\"\ },\ \"DeleteOnTermination\":{\ @@ -39876,7 +40044,7 @@ - (NSString *)definitionString { },\ \"AssociatePublicIpAddress\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Associates a public IPv4 address with eth0 for a new network interface.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\"\ + \"documentation\":\"

Associates a public IPv4 address with eth0 for a new network interface.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\"\ },\ \"DeleteOnTermination\":{\ \"shape\":\"Boolean\",\ @@ -40044,7 +40212,7 @@ - (NSString *)definitionString { },\ \"WeightedCapacity\":{\ \"shape\":\"Double\",\ - \"documentation\":\"

The number of units provided by the specified instance type.

\",\ + \"documentation\":\"

The number of units provided by the specified instance type.

When specifying weights, the price used in the lowest-price and price-capacity-optimized allocation strategies is per unit hour (where the instance price is divided by the specified weight). However, if all the specified weights are above the requested TargetCapacity, resulting in only 1 instance being launched, the price used is per instance hour.

\",\ \"locationName\":\"weightedCapacity\"\ },\ \"Priority\":{\ @@ -41248,6 +41416,36 @@ - (NSString *)definitionString { ]\ },\ \"Long\":{\"type\":\"long\"},\ + \"MacHost\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"HostId\":{\ + \"shape\":\"DedicatedHostId\",\ + \"documentation\":\"

The EC2 Mac Dedicated Host ID.

\",\ + \"locationName\":\"hostId\"\ + },\ + \"MacOSLatestSupportedVersions\":{\ + \"shape\":\"MacOSVersionStringList\",\ + \"documentation\":\"

The latest macOS versions that the EC2 Mac Dedicated Host can launch without being upgraded.

\",\ + \"locationName\":\"macOSLatestSupportedVersionSet\"\ + }\ + },\ + \"documentation\":\"

Information about the EC2 Mac Dedicated Host.

\"\ + },\ + \"MacHostList\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"MacHost\",\ + \"locationName\":\"item\"\ + }\ + },\ + \"MacOSVersionStringList\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"String\",\ + \"locationName\":\"item\"\ + }\ + },\ \"MaintenanceDetails\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -41353,6 +41551,70 @@ - (NSString *)definitionString { \"MaximumIops\":{\"type\":\"integer\"},\ \"MaximumNetworkCards\":{\"type\":\"integer\"},\ \"MaximumThroughputInMBps\":{\"type\":\"double\"},\ + \"MediaAcceleratorInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Accelerators\":{\ + \"shape\":\"MediaDeviceInfoList\",\ + \"documentation\":\"

Describes the media accelerators for the instance type.

\",\ + \"locationName\":\"accelerators\"\ + },\ + \"TotalMediaMemoryInMiB\":{\ + \"shape\":\"TotalMediaMemory\",\ + \"documentation\":\"

The total size of the memory for the media accelerators for the instance type, in MiB.

\",\ + \"locationName\":\"totalMediaMemoryInMiB\"\ + }\ + },\ + \"documentation\":\"

Describes the media accelerators for the instance type.

\"\ + },\ + \"MediaDeviceCount\":{\"type\":\"integer\"},\ + \"MediaDeviceInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Count\":{\ + \"shape\":\"MediaDeviceCount\",\ + \"documentation\":\"

The number of media accelerators for the instance type.

\",\ + \"locationName\":\"count\"\ + },\ + \"Name\":{\ + \"shape\":\"MediaDeviceName\",\ + \"documentation\":\"

The name of the media accelerator.

\",\ + \"locationName\":\"name\"\ + },\ + \"Manufacturer\":{\ + \"shape\":\"MediaDeviceManufacturerName\",\ + \"documentation\":\"

The manufacturer of the media accelerator.

\",\ + \"locationName\":\"manufacturer\"\ + },\ + \"MemoryInfo\":{\ + \"shape\":\"MediaDeviceMemoryInfo\",\ + \"documentation\":\"

Describes the memory available to the media accelerator.

\",\ + \"locationName\":\"memoryInfo\"\ + }\ + },\ + \"documentation\":\"

Describes the media accelerators for the instance type.

\"\ + },\ + \"MediaDeviceInfoList\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"MediaDeviceInfo\",\ + \"locationName\":\"item\"\ + }\ + },\ + \"MediaDeviceManufacturerName\":{\"type\":\"string\"},\ + \"MediaDeviceMemoryInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"SizeInMiB\":{\ + \"shape\":\"MediaDeviceMemorySize\",\ + \"documentation\":\"

The size of the memory available to each media accelerator, in MiB.

\",\ + \"locationName\":\"sizeInMiB\"\ + }\ + },\ + \"documentation\":\"

Describes the memory available to the media accelerator.

\"\ + },\ + \"MediaDeviceMemorySize\":{\"type\":\"integer\"},\ + \"MediaDeviceName\":{\"type\":\"string\"},\ \"MembershipType\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -41433,6 +41695,14 @@ - (NSString *)definitionString { \"documentation\":\"

The minimum and maximum amount of memory, in MiB.

\"\ },\ \"MemorySize\":{\"type\":\"long\"},\ + \"MetadataDefaultHttpTokensState\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"optional\",\ + \"required\",\ + \"no-preference\"\ + ]\ + },\ \"MetricPoint\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -42258,6 +42528,41 @@ - (NSString *)definitionString { }\ }\ },\ + \"ModifyInstanceMetadataDefaultsRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"HttpTokens\":{\ + \"shape\":\"MetadataDefaultHttpTokensState\",\ + \"documentation\":\"

Indicates whether IMDSv2 is required.

  • optional – IMDSv2 is optional, which means that you can use either IMDSv2 or IMDSv1.

  • required – IMDSv2 is required, which means that IMDSv1 is disabled, and you must use IMDSv2.

\"\ + },\ + \"HttpPutResponseHopLimit\":{\ + \"shape\":\"BoxedInteger\",\ + \"documentation\":\"

The maximum number of hops that the metadata token can travel.

Minimum: 1

Maximum: 64

\"\ + },\ + \"HttpEndpoint\":{\ + \"shape\":\"DefaultInstanceMetadataEndpointState\",\ + \"documentation\":\"

Enables or disables the IMDS endpoint on an instance. When disabled, the instance metadata can't be accessed.

\"\ + },\ + \"InstanceMetadataTags\":{\ + \"shape\":\"DefaultInstanceMetadataTagsState\",\ + \"documentation\":\"

Enables or disables access to an instance's tags from the instance metadata. For more information, see Work with instance tags using the instance metadata in the Amazon EC2 User Guide.

\"\ + },\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

\"\ + }\ + }\ + },\ + \"ModifyInstanceMetadataDefaultsResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Return\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

If the request succeeds, the response returns true. If the request fails, no response is returned, and instead an error message is returned.

\",\ + \"locationName\":\"return\"\ + }\ + }\ + },\ \"ModifyInstanceMetadataOptionsRequest\":{\ \"type\":\"structure\",\ \"required\":[\"InstanceId\"],\ @@ -42268,7 +42573,7 @@ - (NSString *)definitionString { },\ \"HttpTokens\":{\ \"shape\":\"HttpTokensState\",\ - \"documentation\":\"

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

Default: If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, the default is required.

\"\ + \"documentation\":\"

Indicates whether IMDSv2 is required.

  • optional - IMDSv2 is optional. You can choose whether to send a session token in your instance metadata retrieval requests. If you retrieve IAM role credentials without a session token, you receive the IMDSv1 role credentials. If you retrieve IAM role credentials using a valid session token, you receive the IMDSv2 role credentials.

  • required - IMDSv2 is required. You must send a session token in your instance metadata retrieval requests. With this option, retrieving the IAM role credentials always returns IMDSv2 credentials; IMDSv1 credentials are not available.

Default:

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0 and the account level default is set to no-preference, the default is required.

  • If the value of ImdsSupport for the Amazon Machine Image (AMI) for your instance is v2.0, but the account level default is set to V1 or V2, the default is optional.

The default value can also be affected by other combinations of parameters. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ },\ \"HttpPutResponseHopLimit\":{\ \"shape\":\"Integer\",\ @@ -42288,7 +42593,7 @@ - (NSString *)definitionString { },\ \"InstanceMetadataTags\":{\ \"shape\":\"InstanceMetadataTagsState\",\ - \"documentation\":\"

Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. For more information, see Work with instance tags using the instance metadata.

Default: disabled

\"\ + \"documentation\":\"

Set to enabled to allow access to instance tags from the instance metadata. Set to disabled to turn off access to instance tags from the instance metadata. For more information, see Work with instance tags using the instance metadata.

\"\ }\ }\ },\ @@ -42313,7 +42618,7 @@ - (NSString *)definitionString { \"members\":{\ \"Affinity\":{\ \"shape\":\"Affinity\",\ - \"documentation\":\"

The affinity setting for the instance.

\",\ + \"documentation\":\"

The affinity setting for the instance. For more information, see Host affinity in the Amazon EC2 User Guide.

\",\ \"locationName\":\"affinity\"\ },\ \"GroupName\":{\ @@ -42976,7 +43281,7 @@ - (NSString *)definitionString { },\ \"MapPublicIpOnLaunch\":{\ \"shape\":\"AttributeBooleanValue\",\ - \"documentation\":\"

Specify true to indicate that network interfaces attached to instances created in the specified subnet should be assigned a public IPv4 address.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\"\ + \"documentation\":\"

Specify true to indicate that network interfaces attached to instances created in the specified subnet should be assigned a public IPv4 address.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\"\ },\ \"SubnetId\":{\ \"shape\":\"SubnetId\",\ @@ -43190,7 +43495,7 @@ - (NSString *)definitionString { },\ \"SecurityGroupReferencingSupport\":{\ \"shape\":\"SecurityGroupReferencingSupportValue\",\ - \"documentation\":\"

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

For important information about this feature, see Create a transit gateway in the Amazon Web Services Transit Gateway Guide.

\"\ + \"documentation\":\"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

\"\ },\ \"AutoAcceptSharedAttachments\":{\ \"shape\":\"AutoAcceptSharedAttachmentsValue\",\ @@ -43325,7 +43630,7 @@ - (NSString *)definitionString { },\ \"SecurityGroupReferencingSupport\":{\ \"shape\":\"SecurityGroupReferencingSupportValue\",\ - \"documentation\":\"

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

For important information about this feature, see Create a transit gateway attachment to a VPC in the Amazon Web Services Transit Gateway Guide.

\"\ + \"documentation\":\"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

\"\ },\ \"Ipv6Support\":{\ \"shape\":\"Ipv6SupportValue\",\ @@ -43767,7 +44072,7 @@ - (NSString *)definitionString { },\ \"VolumeType\":{\ \"shape\":\"VolumeType\",\ - \"documentation\":\"

The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon Elastic Compute Cloud User Guide.

Default: The existing type is retained.

\"\ + \"documentation\":\"

The target EBS volume type of the volume. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

Default: The existing type is retained.

\"\ },\ \"Iops\":{\ \"shape\":\"Integer\",\ @@ -43779,7 +44084,7 @@ - (NSString *)definitionString { },\ \"MultiAttachEnabled\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro-based instances in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro-based instances in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see Amazon EBS Multi-Attach in the Amazon EBS User Guide.

\"\ }\ }\ },\ @@ -45783,18 +46088,101 @@ - (NSString *)definitionString { }\ },\ \"NetworkPerformance\":{\"type\":\"string\"},\ + \"NeuronDeviceCoreCount\":{\"type\":\"integer\"},\ + \"NeuronDeviceCoreInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Count\":{\ + \"shape\":\"NeuronDeviceCoreCount\",\ + \"documentation\":\"

The number of cores available to the neuron accelerator.

\",\ + \"locationName\":\"count\"\ + },\ + \"Version\":{\ + \"shape\":\"NeuronDeviceCoreVersion\",\ + \"documentation\":\"

The version of the neuron accelerator.

\",\ + \"locationName\":\"version\"\ + }\ + },\ + \"documentation\":\"

Describes the cores available to the neuron accelerator.

\"\ + },\ + \"NeuronDeviceCoreVersion\":{\"type\":\"integer\"},\ + \"NeuronDeviceCount\":{\"type\":\"integer\"},\ + \"NeuronDeviceInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Count\":{\ + \"shape\":\"NeuronDeviceCount\",\ + \"documentation\":\"

The number of neuron accelerators for the instance type.

\",\ + \"locationName\":\"count\"\ + },\ + \"Name\":{\ + \"shape\":\"NeuronDeviceName\",\ + \"documentation\":\"

The name of the neuron accelerator.

\",\ + \"locationName\":\"name\"\ + },\ + \"CoreInfo\":{\ + \"shape\":\"NeuronDeviceCoreInfo\",\ + \"documentation\":\"

Describes the cores available to each neuron accelerator.

\",\ + \"locationName\":\"coreInfo\"\ + },\ + \"MemoryInfo\":{\ + \"shape\":\"NeuronDeviceMemoryInfo\",\ + \"documentation\":\"

Describes the memory available to each neuron accelerator.

\",\ + \"locationName\":\"memoryInfo\"\ + }\ + },\ + \"documentation\":\"

Describes the neuron accelerators for the instance type.

\"\ + },\ + \"NeuronDeviceInfoList\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"NeuronDeviceInfo\",\ + \"locationName\":\"item\"\ + }\ + },\ + \"NeuronDeviceMemoryInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"SizeInMiB\":{\ + \"shape\":\"NeuronDeviceMemorySize\",\ + \"documentation\":\"

The size of the memory available to the neuron accelerator, in MiB.

\",\ + \"locationName\":\"sizeInMiB\"\ + }\ + },\ + \"documentation\":\"

Describes the memory available to the neuron accelerator.

\"\ + },\ + \"NeuronDeviceMemorySize\":{\"type\":\"integer\"},\ + \"NeuronDeviceName\":{\"type\":\"string\"},\ + \"NeuronInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"NeuronDevices\":{\ + \"shape\":\"NeuronDeviceInfoList\",\ + \"documentation\":\"

Describes the neuron accelerators for the instance type.

\",\ + \"locationName\":\"neuronDevices\"\ + },\ + \"TotalNeuronDeviceMemoryInMiB\":{\ + \"shape\":\"TotalNeuronMemory\",\ + \"documentation\":\"

The total size of the memory for the neuron accelerators for the instance type, in MiB.

\",\ + \"locationName\":\"totalNeuronDeviceMemoryInMiB\"\ + }\ + },\ + \"documentation\":\"

Describes the neuron accelerators for the instance type.

\"\ + },\ \"NewDhcpConfiguration\":{\ \"type\":\"structure\",\ \"members\":{\ \"Key\":{\ \"shape\":\"String\",\ - \"locationName\":\"key\"\ + \"documentation\":\"

The name of a DHCP option.

\"\ },\ \"Values\":{\ \"shape\":\"ValueStringList\",\ + \"documentation\":\"

The values for the DHCP option.

\",\ \"locationName\":\"Value\"\ }\ - }\ + },\ + \"documentation\":\"

Describes a DHCP configuration option.

\"\ },\ \"NewDhcpConfigurationList\":{\ \"type\":\"list\",\ @@ -47398,7 +47786,7 @@ - (NSString *)definitionString { \"members\":{\ \"Cidr\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've brought to this or another Region.

\"\ + \"documentation\":\"

The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is /24. The most specific IPv6 address range that you can bring is /48 for CIDRs that are publicly advertisable and /56 for CIDRs that are not publicly advertisable. The address range cannot overlap with another address range that you've brought to this or another Region.

\"\ },\ \"CidrAuthorizationContext\":{\ \"shape\":\"CidrAuthorizationContext\",\ @@ -48115,7 +48503,7 @@ - (NSString *)definitionString { },\ \"BlockDeviceMappings\":{\ \"shape\":\"BlockDeviceMappingRequestList\",\ - \"documentation\":\"

The block device mapping entries.

If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost only. For more information, Amazon EBS local snapshots on Outposts in the Amazon EC2 User Guide.

\",\ + \"documentation\":\"

The block device mapping entries.

If you specify an Amazon EBS volume using the ID of an Amazon EBS snapshot, you can't specify the encryption state of the volume.

If you create an AMI on an Outpost, then all backing snapshots must be on the same Outpost or in the Region of that Outpost. AMIs on an Outpost that include local snapshots can be used to launch instances on the same Outpost only. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

\",\ \"locationName\":\"BlockDeviceMapping\"\ },\ \"Description\":{\ @@ -48183,6 +48571,11 @@ - (NSString *)definitionString { \"ImdsSupport\":{\ \"shape\":\"ImdsSupportValues\",\ \"documentation\":\"

Set to v2.0 to indicate that IMDSv2 is specified in the AMI. Instances launched from this AMI will have HttpTokens automatically set to required so that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. In addition, HttpPutResponseHopLimit is set to 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

If you set the value to v2.0, make sure that your AMI software can support IMDSv2.

\"\ + },\ + \"TagSpecifications\":{\ + \"shape\":\"TagSpecificationList\",\ + \"documentation\":\"

The tags to apply to the AMI.

To tag the AMI, the value for ResourceType must be image. If you specify another value for ResourceType, the request fails.

To tag an AMI after it has been registered, see CreateTags.

\",\ + \"locationName\":\"TagSpecification\"\ }\ },\ \"documentation\":\"

Contains the parameters for RegisterImage.

\"\ @@ -50635,7 +51028,7 @@ - (NSString *)definitionString { },\ \"OutpostArn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

\",\ + \"documentation\":\"

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

\",\ \"locationName\":\"outpostArn\"\ },\ \"Description\":{\ @@ -50863,7 +51256,7 @@ - (NSString *)definitionString { },\ \"FromPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the type number. A value of -1 indicates all ICMP types.

\"\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP, this is the ICMP type or -1 (all ICMP types).

\"\ },\ \"GroupId\":{\ \"shape\":\"SecurityGroupId\",\ @@ -50891,7 +51284,7 @@ - (NSString *)definitionString { },\ \"ToPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the code. A value of -1 indicates all ICMP codes.

\"\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP, this is the ICMP code or -1 (all ICMP codes).

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -51965,7 +52358,7 @@ - (NSString *)definitionString { \"members\":{\ \"AssociatePublicIpAddress\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The public IPv4 address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\"\ + \"documentation\":\"

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The public IPv4 address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\"\ },\ \"DeleteOnTermination\":{\ \"shape\":\"Boolean\",\ @@ -52343,12 +52736,12 @@ - (NSString *)definitionString { },\ \"VpcPeeringConnectionId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The ID of the VPC peering connection (if applicable). For more information about security group referencing for peering connections, see Update your security groups to reference peer security groups in the VPC Peering Guide.

\",\ + \"documentation\":\"

The ID of the VPC peering connection (if applicable). For more information about security group referencing for peering connections, see Update your security groups to reference peer security groups in the VPC Peering Guide.

\",\ \"locationName\":\"vpcPeeringConnectionId\"\ },\ \"TransitGatewayId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The ID of the transit gateway (if applicable). For more information about security group referencing for transit gateways, see Create a transit gateway attachment to a VPC in the Amazon Web Services Transit Gateway Guide.

\",\ + \"documentation\":\"

This parameter is in preview and may not be available for your account.

The ID of the transit gateway (if applicable).

\",\ \"locationName\":\"transitGatewayId\"\ }\ },\ @@ -52398,12 +52791,12 @@ - (NSString *)definitionString { },\ \"FromPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

\",\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

\",\ \"locationName\":\"fromPort\"\ },\ \"ToPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

\",\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

\",\ \"locationName\":\"toPort\"\ },\ \"CidrIpv4\":{\ @@ -52484,11 +52877,11 @@ - (NSString *)definitionString { },\ \"FromPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

\"\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

\"\ },\ \"ToPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv6 codes.

\"\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes). If the start port is -1 (all ICMP types), then the end port must be -1 (all ICMP codes).

\"\ },\ \"CidrIpv4\":{\ \"shape\":\"String\",\ @@ -52899,7 +53292,7 @@ - (NSString *)definitionString { },\ \"OutpostArn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

\",\ + \"documentation\":\"

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

\",\ \"locationName\":\"outpostArn\"\ },\ \"Tags\":{\ @@ -53088,7 +53481,7 @@ - (NSString *)definitionString { },\ \"OutpostArn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

\",\ + \"documentation\":\"

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

\",\ \"locationName\":\"outpostArn\"\ },\ \"SseType\":{\ @@ -53542,7 +53935,7 @@ - (NSString *)definitionString { },\ \"LaunchSpecifications\":{\ \"shape\":\"LaunchSpecsList\",\ - \"documentation\":\"

The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications, you can't specify LaunchTemplateConfigs. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

\",\ + \"documentation\":\"

The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications, you can't specify LaunchTemplateConfigs. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

If an AMI specified in a launch specification is deregistered or disabled, no new instances can be launched from the AMI. For fleets of type maintain, the target capacity will not be maintained.

\",\ \"locationName\":\"launchSpecifications\"\ },\ \"LaunchTemplateConfigs\":{\ @@ -54080,12 +54473,12 @@ - (NSString *)definitionString { \"members\":{\ \"FromPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

\",\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the start of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP type or -1 (all ICMP types).

\",\ \"locationName\":\"fromPort\"\ },\ \"IpProtocol\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

\",\ + \"documentation\":\"

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

\",\ \"locationName\":\"ipProtocol\"\ },\ \"IpRanges\":{\ @@ -54100,7 +54493,7 @@ - (NSString *)definitionString { },\ \"ToPort\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

\",\ + \"documentation\":\"

If the protocol is TCP or UDP, this is the end of the port range. If the protocol is ICMP or ICMPv6, this is the ICMP code or -1 (all ICMP codes).

\",\ \"locationName\":\"toPort\"\ },\ \"UserIdGroupPairs\":{\ @@ -54523,7 +54916,7 @@ - (NSString *)definitionString { },\ \"MapPublicIpOnLaunch\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether instances launched in this subnet receive a public IPv4 address.

Starting on February 1, 2024, Amazon Web Services will charge for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\",\ + \"documentation\":\"

Indicates whether instances launched in this subnet receive a public IPv4 address.

Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the Public IPv4 Address tab on the Amazon VPC pricing page.

\",\ \"locationName\":\"mapPublicIpOnLaunch\"\ },\ \"MapCustomerOwnedIpOnLaunch\":{\ @@ -55369,6 +55762,8 @@ - (NSString *)definitionString { },\ \"documentation\":\"

The minimum and maximum amount of total local storage, in GB.

\"\ },\ + \"TotalMediaMemory\":{\"type\":\"integer\"},\ + \"TotalNeuronMemory\":{\"type\":\"integer\"},\ \"TpmSupportValues\":{\ \"type\":\"string\",\ \"enum\":[\"v2.0\"]\ @@ -56560,7 +56955,7 @@ - (NSString *)definitionString { },\ \"SecurityGroupReferencingSupport\":{\ \"shape\":\"SecurityGroupReferencingSupportValue\",\ - \"documentation\":\"

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

For important information about this feature, see Create a transit gateway in the Amazon Web Services Transit Gateway Guide.

\",\ + \"documentation\":\"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

\",\ \"locationName\":\"securityGroupReferencingSupport\"\ },\ \"MulticastSupport\":{\ @@ -56960,7 +57355,7 @@ - (NSString *)definitionString { },\ \"SecurityGroupReferencingSupport\":{\ \"shape\":\"SecurityGroupReferencingSupportValue\",\ - \"documentation\":\"

Enables you to reference a security group across VPCs attached to a transit gateway (TGW). Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

For important information about this feature, see Create a transit gateway in the Amazon Web Services Transit Gateway Guide.

\"\ + \"documentation\":\"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

\"\ },\ \"MulticastSupport\":{\ \"shape\":\"MulticastSupportValue\",\ @@ -57417,7 +57812,7 @@ - (NSString *)definitionString { },\ \"SecurityGroupReferencingSupport\":{\ \"shape\":\"SecurityGroupReferencingSupportValue\",\ - \"documentation\":\"

For important information about this feature, see Create a transit gateway attachment to a VPC in the Amazon Web Services Transit Gateway Guide.

\",\ + \"documentation\":\"

This parameter is in preview and may not be available for your account.

Enables you to reference a security group across VPCs attached to a transit gateway. Use this option to simplify security group management and control of instance-to-instance traffic across VPCs that are connected by transit gateway. You can also use this option to migrate from VPC peering (which was the only option that supported security group referencing) to transit gateways (which now also support security group referencing). This option is disabled by default and there are no additional costs to use this feature.

\",\ \"locationName\":\"securityGroupReferencingSupport\"\ },\ \"Ipv6Support\":{\ @@ -60651,7 +61046,7 @@ - (NSString *)definitionString { \"totalGpuMemory\":{\"type\":\"integer\"},\ \"totalInferenceMemory\":{\"type\":\"integer\"}\ },\ - \"documentation\":\"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the Amazon Web Services Cloud. Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the Amazon Web Services Cloud where you can launch Amazon Web Services resources in a virtual network that you've defined. Amazon Elastic Block Store (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available and reliable storage volumes that can be attached to any running instance and used like a hard drive.

To learn more, see the following resources:

\"\ + \"documentation\":\"Amazon Elastic Compute Cloud

You can access the features of Amazon Elastic Compute Cloud (Amazon EC2) programmatically. For more information, see the Amazon EC2 Developer Guide.

\"\ }\ "; } diff --git a/AWSEC2/AWSEC2Service.h b/AWSEC2/AWSEC2Service.h index 0ff85db5024..c180b3aaaf2 100644 --- a/AWSEC2/AWSEC2Service.h +++ b/AWSEC2/AWSEC2Service.h @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; /** - Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the Amazon Web Services Cloud. Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the Amazon Web Services Cloud where you can launch Amazon Web Services resources in a virtual network that you've defined. Amazon Elastic Block Store (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available and reliable storage volumes that can be attached to any running instance and used like a hard drive.

To learn more, see the following resources:

+ Amazon Elastic Compute Cloud

You can access the features of Amazon Elastic Compute Cloud (Amazon EC2) programmatically. For more information, see the Amazon EC2 Developer Guide.

*/ @interface AWSEC2 : AWSService @@ -1044,7 +1044,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)attachVerifiedAccessTrustProvider:(AWSEC2AttachVerifiedAccessTrustProviderRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AttachVerifiedAccessTrustProviderResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use.

If a volume has an Amazon Web Services Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attach an Amazon EBS volume to an instance in the Amazon Elastic Compute Cloud User Guide.

+

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use.

If a volume has an Amazon Web Services Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attach an Amazon EBS volume to an instance in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the AttachVolume service method. @@ -1056,7 +1056,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)attachVolume:(AWSEC2AttachVolumeRequest *)request; /** -

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use.

If a volume has an Amazon Web Services Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attach an Amazon EBS volume to an instance in the Amazon Elastic Compute Cloud User Guide.

+

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

After you attach an EBS volume, you must make it available. For more information, see Make an EBS volume available for use.

If a volume has an Amazon Web Services Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • Amazon Web Services Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attach an Amazon EBS volume to an instance in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the AttachVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1119,7 +1119,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)authorizeClientVpnIngress:(AWSEC2AuthorizeClientVpnIngressRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AuthorizeClientVpnIngressResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Adds the specified outbound (egress) rules to a security group for use with a VPC.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR address ranges, or to the instances that are associated with the specified source security groups. When specifying an outbound rule for your security group in a VPC, the IpPermissions must include a destination for the traffic.

You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

For information about VPC security group quotas, see Amazon VPC quotas.

If you want to reference a security group across VPCs attached to a transit gateway using the security group referencing feature, note that you can only reference security groups for ingress rules. You cannot reference a security group for egress rules.

+

Adds the specified outbound (egress) rules to a security group.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address ranges, the IP address ranges specified by a prefix list, or the instances that are associated with a source security group. For more information, see Security group rules.

You must specify exactly one of the following destinations: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AuthorizeSecurityGroupEgress service method. @@ -1131,7 +1131,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)authorizeSecurityGroupEgress:(AWSEC2AuthorizeSecurityGroupEgressRequest *)request; /** -

Adds the specified outbound (egress) rules to a security group for use with a VPC.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR address ranges, or to the instances that are associated with the specified source security groups. When specifying an outbound rule for your security group in a VPC, the IpPermissions must include a destination for the traffic.

You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

For information about VPC security group quotas, see Amazon VPC quotas.

If you want to reference a security group across VPCs attached to a transit gateway using the security group referencing feature, note that you can only reference security groups for ingress rules. You cannot reference a security group for egress rules.

+

Adds the specified outbound (egress) rules to a security group.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 address ranges, the IP address ranges specified by a prefix list, or the instances that are associated with a source security group. For more information, see Security group rules.

You must specify exactly one of the following destinations: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AuthorizeSecurityGroupEgress service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1144,7 +1144,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)authorizeSecurityGroupEgress:(AWSEC2AuthorizeSecurityGroupEgressRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AuthorizeSecurityGroupEgressResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Adds the specified inbound (ingress) rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address range, or from the instances that are associated with the specified destination security groups. When specifying an inbound rule for your security group in a VPC, the IpPermissions must include a source for the traffic.

You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify the destination port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

For more information about VPC security group quotas, see Amazon VPC quotas.

+

Adds the specified inbound (ingress) rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 address range, the IP address ranges that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see Security group rules.

You must specify exactly one of the following sources: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For more information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AuthorizeSecurityGroupIngress service method. @@ -1156,7 +1156,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)authorizeSecurityGroupIngress:(AWSEC2AuthorizeSecurityGroupIngressRequest *)request; /** -

Adds the specified inbound (ingress) rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address range, or from the instances that are associated with the specified destination security groups. When specifying an inbound rule for your security group in a VPC, the IpPermissions must include a source for the traffic.

You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify the destination port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

For more information about VPC security group quotas, see Amazon VPC quotas.

+

Adds the specified inbound (ingress) rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 address range, the IP address ranges that are specified by a prefix list, or the instances that are associated with a destination security group. For more information, see Security group rules.

You must specify exactly one of the following sources: an IPv4 or IPv6 address range, a prefix list, or a security group. You must specify a protocol for each rule (for example, TCP). If the protocol is TCP or UDP, you must also specify a port or port range. If the protocol is ICMP or ICMPv6, you must also specify the ICMP/ICMPv6 type and code.

Rule changes are propagated to instances associated with the security group as quickly as possible. However, a small delay might occur.

For examples of rules that you can add to security groups for specific access scenarios, see Security group rules for different use cases in the Amazon EC2 User Guide.

For more information about security group quotas, see Amazon VPC quotas in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AuthorizeSecurityGroupIngress service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1488,7 +1488,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)replicateFpgaImage:(AWSEC2ReplicateFpgaImageRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ReplicateFpgaImageResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Initiates the copy of an AMI. You can copy an AMI from one Region to another, or from a Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

To copy an AMI from one Region to another, specify the source Region using the SourceRegion parameter, and specify the destination Region using its endpoint. Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

To copy an AMI from a Region to an Outpost, specify the source Region using the SourceRegion parameter, and specify the ARN of the destination Outpost using DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EC2 User Guide.

For more information about the prerequisites and limits when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

+

Initiates the copy of an AMI. You can copy an AMI from one Region to another, or from a Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

To copy an AMI from one Region to another, specify the source Region using the SourceRegion parameter, and specify the destination Region using its endpoint. Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

To copy an AMI from a Region to an Outpost, specify the source Region using the SourceRegion parameter, and specify the ARN of the destination Outpost using DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

For more information about the prerequisites and limits when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CopyImage service method. @@ -1500,7 +1500,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)replicateImage:(AWSEC2ReplicateImageRequest *)request; /** -

Initiates the copy of an AMI. You can copy an AMI from one Region to another, or from a Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

To copy an AMI from one Region to another, specify the source Region using the SourceRegion parameter, and specify the destination Region using its endpoint. Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

To copy an AMI from a Region to an Outpost, specify the source Region using the SourceRegion parameter, and specify the ARN of the destination Outpost using DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EC2 User Guide.

For more information about the prerequisites and limits when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

+

Initiates the copy of an AMI. You can copy an AMI from one Region to another, or from a Region to an Outpost. You can't copy an AMI from an Outpost to a Region, from one Outpost to another, or within the same Outpost. To copy an AMI to another partition, see CreateStoreImageTask.

To copy an AMI from one Region to another, specify the source Region using the SourceRegion parameter, and specify the destination Region using its endpoint. Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

To copy an AMI from a Region to an Outpost, specify the source Region using the SourceRegion parameter, and specify the ARN of the destination Outpost using DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

For more information about the prerequisites and limits when copying an AMI, see Copy an AMI in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CopyImage service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1513,7 +1513,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)replicateImage:(AWSEC2ReplicateImageRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ReplicateImageResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a snapshot within the same Region, from one Region to another, or from a Region to an Outpost. You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default Key Management Service (KMS) KMS key; however, you can specify a different KMS key. To copy an encrypted snapshot that has been shared from another account, you must have permissions for the KMS key used to encrypt the snapshot.

Snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copy an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a snapshot within the same Region, from one Region to another, or from a Region to an Outpost. You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default Key Management Service (KMS) KMS key; however, you can specify a different KMS key. To copy an encrypted snapshot that has been shared from another account, you must have permissions for the KMS key used to encrypt the snapshot.

Snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copy an Amazon EBS snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the CopySnapshot service method. @@ -1525,7 +1525,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)replicateSnapshot:(AWSEC2ReplicateSnapshotRequest *)request; /** -

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a snapshot within the same Region, from one Region to another, or from a Region to an Outpost. You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default Key Management Service (KMS) KMS key; however, you can specify a different KMS key. To copy an encrypted snapshot that has been shared from another account, you must have permissions for the KMS key used to encrypt the snapshot.

Snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copy an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy a snapshot within the same Region, from one Region to another, or from a Region to an Outpost. You can't copy a snapshot from an Outpost to a Region, from one Outpost to another, or within the same Outpost.

You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

When copying snapshots to a Region, copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default Key Management Service (KMS) KMS key; however, you can specify a different KMS key. To copy an encrypted snapshot that has been shared from another account, you must have permissions for the KMS key used to encrypt the snapshot.

Snapshots copied to an Outpost are encrypted by default using the default encryption key for the Region, or a different key that you specify in the request using KmsKeyId. Outposts do not support unencrypted snapshots. For more information, Amazon EBS local snapshots on Outposts in the Amazon EBS User Guide.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copy an Amazon EBS snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the CopySnapshot service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1788,7 +1788,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createDefaultVpc:(AWSEC2CreateDefaultVpcRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateDefaultVpcResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. To have your instance receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another Region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, ExampleCompany.com). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name.

  • ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers.

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP options sets in the Amazon VPC User Guide.

+

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

@param request A container for the necessary parameters to execute the CreateDhcpOptions service method. @@ -1800,7 +1800,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createDhcpOptions:(AWSEC2CreateDhcpOptionsRequest *)request; /** -

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. To have your instance receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another Region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, ExampleCompany.com). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name.

  • ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers.

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP options sets in the Amazon VPC User Guide.

+

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

@param request A container for the necessary parameters to execute the CreateDhcpOptions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2710,7 +2710,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createSecurityGroup:(AWSEC2CreateSecurityGroupRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateSecurityGroupResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

You can create snapshots of volumes in a Region and volumes on an Outpost. If you create a snapshot of a volume in a Region, the snapshot must be stored in the same Region as the volume. If you create a snapshot of a volume on an Outpost, the snapshot can be stored on the same Outpost as the volume, or in the Region for that Outpost.

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this might exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

When you create a snapshot for an EBS volume that serves as a root device, we recommend that you stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

You can create snapshots of volumes in a Region and volumes on an Outpost. If you create a snapshot of a volume in a Region, the snapshot must be stored in the same Region as the volume. If you create a snapshot of a volume on an Outpost, the snapshot can be stored on the same Outpost as the volume, or in the Region for that Outpost.

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this might exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

When you create a snapshot for an EBS volume that serves as a root device, we recommend that you stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the CreateSnapshot service method. @@ -2722,7 +2722,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createSnapshot:(AWSEC2CreateSnapshotRequest *)request; /** -

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

You can create snapshots of volumes in a Region and volumes on an Outpost. If you create a snapshot of a volume in a Region, the snapshot must be stored in the same Region as the volume. If you create a snapshot of a volume on an Outpost, the snapshot can be stored on the same Outpost as the volume, or in the Region for that Outpost.

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this might exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

When you create a snapshot for an EBS volume that serves as a root device, we recommend that you stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

You can create snapshots of volumes in a Region and volumes on an Outpost. If you create a snapshot of a volume in a Region, the snapshot must be stored in the same Region as the volume. If you create a snapshot of a volume on an Outpost, the snapshot can be stored on the same Outpost as the volume, or in the Region for that Outpost.

When a snapshot is created, any Amazon Web Services Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your Amazon EBS volume at the time the snapshot command is issued; this might exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

When you create a snapshot for an EBS volume that serves as a root device, we recommend that you stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the CreateSnapshot service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3357,7 +3357,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createVerifiedAccessTrustProvider:(AWSEC2CreateVerifiedAccessTrustProviderRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateVerifiedAccessTrustProviderResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Create an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

+

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Create an Amazon EBS volume in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the CreateVolume service method. @@ -3369,7 +3369,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createVolume:(AWSEC2CreateVolumeRequest *)request; /** -

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Create an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

+

Creates an EBS volume that can be attached to an instance in the same Availability Zone.

You can create a new empty volume or restore a volume from an EBS snapshot. Any Amazon Web Services Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

You can tag your volumes during creation. For more information, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Create an Amazon EBS volume in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the CreateVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4574,7 +4574,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteSecurityGroup:(AWSEC2DeleteSecurityGroupRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Delete an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Delete an Amazon EBS snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DeleteSnapshot service method. @@ -4585,7 +4585,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteSnapshot:(AWSEC2DeleteSnapshotRequest *)request; /** -

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Delete an Amazon EBS snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Delete an Amazon EBS snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DeleteSnapshot service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5162,7 +5162,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteVerifiedAccessTrustProvider:(AWSEC2DeleteVerifiedAccessTrustProviderRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteVerifiedAccessTrustProviderResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Delete an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

+

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Delete an Amazon EBS volume in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DeleteVolume service method. @@ -5173,7 +5173,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteVolume:(AWSEC2DeleteVolumeRequest *)request; /** -

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Delete an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

+

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Delete an Amazon EBS volume in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DeleteVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5569,7 +5569,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deregisterTransitGatewayMulticastGroupSources:(AWSEC2DeregisterTransitGatewayMulticastGroupSourcesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeregisterTransitGatewayMulticastGroupSourcesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • supported-platforms: This attribute is deprecated.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

+

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • supported-platforms: This attribute is deprecated.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeAccountAttributes service method. @@ -5581,7 +5581,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeAccountAttributes:(AWSEC2DescribeAccountAttributesRequest *)request; /** -

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • supported-platforms: This attribute is deprecated.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

+

Describes attributes of your Amazon Web Services account. The following are the supported account attributes:

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • supported-platforms: This attribute is deprecated.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeAccountAttributes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5694,7 +5694,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeAggregateIdFormat:(AWSEC2DescribeAggregateIdFormatRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeAggregateIdFormatResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.

For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions and zones in the Amazon Elastic Compute Cloud User Guide.

+

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.

For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions and zones in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeAvailabilityZones service method. @@ -5706,7 +5706,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeAvailabilityZones:(AWSEC2DescribeAvailabilityZonesRequest *)request; /** -

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.

For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions and zones in the Amazon Elastic Compute Cloud User Guide.

+

Describes the Availability Zones, Local Zones, and Wavelength Zones that are available to you. If there is an event impacting a zone, you can use this request to view the state and any provided messages for that zone.

For more information about Availability Zones, Local Zones, and Wavelength Zones, see Regions and zones in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeAvailabilityZones service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5744,7 +5744,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeAwsNetworkPerformanceMetricSubscriptions:(AWSEC2DescribeAwsNetworkPerformanceMetricSubscriptionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeAwsNetworkPerformanceMetricSubscriptionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified bundle tasks or all of your bundle tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

+

Describes the specified bundle tasks or all of your bundle tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeBundleTasks service method. @@ -5756,7 +5756,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeBundleTasks:(AWSEC2DescribeBundleTasksRequest *)request; /** -

Describes the specified bundle tasks or all of your bundle tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

+

Describes the specified bundle tasks or all of your bundle tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeBundleTasks service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5794,7 +5794,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeByoipCidrs:(AWSEC2DescribeByoipCidrsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeByoipCidrsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes Capacity Block offerings available for purchase. With Capacity Blocks, you purchase a specific instance type for a period of time.

+

Describes Capacity Block offerings available for purchase in the Amazon Web Services Region that you're currently using. With Capacity Blocks, you purchase a specific instance type for a period of time.

@param request A container for the necessary parameters to execute the DescribeCapacityBlockOfferings service method. @@ -5806,7 +5806,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeCapacityBlockOfferings:(AWSEC2DescribeCapacityBlockOfferingsRequest *)request; /** -

Describes Capacity Block offerings available for purchase. With Capacity Blocks, you purchase a specific instance type for a period of time.

+

Describes Capacity Block offerings available for purchase in the Amazon Web Services Region that you're currently using. With Capacity Blocks, you purchase a specific instance type for a period of time.

@param request A container for the necessary parameters to execute the DescribeCapacityBlockOfferings service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6319,7 +6319,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeFleetHistory:(AWSEC2DescribeFleetHistoryRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeFleetHistoryResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the running instances for the specified EC2 Fleet.

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

+

Describes the running instances for the specified EC2 Fleet.

Currently, DescribeFleetInstances does not support fleets of type instant. Instead, use DescribeFleets, specifying the instant fleet ID in the request.

For more information, see Describe your EC2 Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DescribeFleetInstances service method. @@ -6331,7 +6331,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeFleetInstances:(AWSEC2DescribeFleetInstancesRequest *)request; /** -

Describes the running instances for the specified EC2 Fleet.

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

+

Describes the running instances for the specified EC2 Fleet.

Currently, DescribeFleetInstances does not support fleets of type instant. Instead, use DescribeFleets, specifying the instant fleet ID in the request.

For more information, see Describe your EC2 Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DescribeFleetInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6344,7 +6344,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeFleetInstances:(AWSEC2DescribeFleetInstancesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeFleetInstancesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified EC2 Fleets or all of your EC2 Fleets.

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

+

Describes the specified EC2 Fleet or all of your EC2 Fleets.

If a fleet is of type instant, you must specify the fleet ID in the request, otherwise the fleet does not appear in the response.

For more information, see Describe your EC2 Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DescribeFleets service method. @@ -6356,7 +6356,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeFleets:(AWSEC2DescribeFleetsRequest *)request; /** -

Describes the specified EC2 Fleets or all of your EC2 Fleets.

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

+

Describes the specified EC2 Fleet or all of your EC2 Fleets.

If a fleet is of type instant, you must specify the fleet ID in the request, otherwise the fleet does not appear in the response.

For more information, see Describe your EC2 Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DescribeFleets service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6594,7 +6594,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeIdentityIdFormat:(AWSEC2DescribeIdentityIdFormatRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeIdentityIdFormatResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

+

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeImageAttribute service method. @@ -6606,7 +6606,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeImageAttribute:(AWSEC2DescribeImageAttributeRequest *)request; /** -

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

+

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeImageAttribute service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6619,7 +6619,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeImageAttribute:(AWSEC2DescribeImageAttributeRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ImageAttribute * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

+

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeImages service method. @@ -6631,7 +6631,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeImages:(AWSEC2DescribeImagesRequest *)request; /** -

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

+

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeImages service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6819,7 +6819,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeInstanceEventWindows:(AWSEC2DescribeInstanceEventWindowsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstanceEventWindowsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status checks for your instances and Troubleshoot instances with failed status checks in the Amazon EC2 User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled events for your instances in the Amazon EC2 User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance lifecycle in the Amazon EC2 User Guide.

+

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status checks for your instances and Troubleshoot instances with failed status checks in the Amazon EC2 User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled events for your instances in the Amazon EC2 User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance lifecycle in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeInstanceStatus service method. @@ -6831,7 +6831,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeInstanceStatus:(AWSEC2DescribeInstanceStatusRequest *)request; /** -

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status checks for your instances and Troubleshoot instances with failed status checks in the Amazon EC2 User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled events for your instances in the Amazon EC2 User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance lifecycle in the Amazon EC2 User Guide.

+

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status checks for your instances and Troubleshoot instances with failed status checks in the Amazon EC2 User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled events for your instances in the Amazon EC2 User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance lifecycle in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeInstanceStatus service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6919,7 +6919,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeInstanceTypes:(AWSEC2DescribeInstanceTypesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstanceTypesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

+

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeInstances service method. @@ -6931,7 +6931,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeInstances:(AWSEC2DescribeInstancesRequest *)request; /** -

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

+

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7393,6 +7393,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)describeLockedSnapshots:(AWSEC2DescribeLockedSnapshotsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeLockedSnapshotsResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Describes the specified EC2 Mac Dedicated Host or all of your EC2 Mac Dedicated Hosts.

+ + @param request A container for the necessary parameters to execute the DescribeMacHosts service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DescribeMacHostsResult`. + + @see AWSEC2DescribeMacHostsRequest + @see AWSEC2DescribeMacHostsResult + */ +- (AWSTask *)describeMacHosts:(AWSEC2DescribeMacHostsRequest *)request; + +/** +

Describes the specified EC2 Mac Dedicated Host or all of your EC2 Mac Dedicated Hosts.

+ + @param request A container for the necessary parameters to execute the DescribeMacHosts service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSEC2DescribeMacHostsRequest + @see AWSEC2DescribeMacHostsResult + */ +- (void)describeMacHosts:(AWSEC2DescribeMacHostsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeMacHostsResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Describes your managed prefix lists and any Amazon Web Services-managed prefix lists.

To view the entries for your prefix list, use GetManagedPrefixListEntries.

@@ -7769,7 +7794,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describePublicIpv4Pools:(AWSEC2DescribePublicIpv4PoolsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribePublicIpv4PoolsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Amazon Elastic Compute Cloud endpoints and quotas.

For information about enabling and disabling Regions for your account, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

+

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Amazon Elastic Compute Cloud endpoints and quotas.

For information about enabling and disabling Regions for your account, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeRegions service method. @@ -7781,7 +7806,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeRegions:(AWSEC2DescribeRegionsRequest *)request; /** -

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Amazon Elastic Compute Cloud endpoints and quotas.

For information about enabling and disabling Regions for your account, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

+

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Amazon Elastic Compute Cloud endpoints and quotas.

For information about enabling and disabling Regions for your account, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeRegions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7819,7 +7844,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeReplaceRootVolumeTasks:(AWSEC2DescribeReplaceRootVolumeTasksRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeReplaceRootVolumeTasksResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon EC2 User Guide.

+

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeReservedInstances service method. @@ -7831,7 +7856,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeReservedInstances:(AWSEC2DescribeReservedInstancesRequest *)request; /** -

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon EC2 User Guide.

+

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeReservedInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7844,7 +7869,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeReservedInstances:(AWSEC2DescribeReservedInstancesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeReservedInstancesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeReservedInstancesListings service method. @@ -7856,7 +7881,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeReservedInstancesListings:(AWSEC2DescribeReservedInstancesListingsRequest *)request; /** -

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeReservedInstancesListings service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7869,7 +7894,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeReservedInstancesListings:(AWSEC2DescribeReservedInstancesListingsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeReservedInstancesListingsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

+

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeReservedInstancesModifications service method. @@ -7881,7 +7906,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeReservedInstancesModifications:(AWSEC2DescribeReservedInstancesModificationsRequest *)request; /** -

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

+

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeReservedInstancesModifications service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7894,7 +7919,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeReservedInstancesModifications:(AWSEC2DescribeReservedInstancesModificationsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeReservedInstancesModificationsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeReservedInstancesOfferings service method. @@ -7906,7 +7931,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeReservedInstancesOfferings:(AWSEC2DescribeReservedInstancesOfferingsRequest *)request; /** -

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeReservedInstancesOfferings service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7994,7 +8019,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeScheduledInstances:(AWSEC2DescribeScheduledInstancesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeScheduledInstancesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the VPCs on the other side of a VPC peering connection or the VPCs attached to a transit gateway that are referencing the security groups you've specified in this request.

+

Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

@param request A container for the necessary parameters to execute the DescribeSecurityGroupReferences service method. @@ -8006,7 +8031,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeSecurityGroupReferences:(AWSEC2DescribeSecurityGroupReferencesRequest *)request; /** -

Describes the VPCs on the other side of a VPC peering connection or the VPCs attached to a transit gateway that are referencing the security groups you've specified in this request.

+

Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

@param request A container for the necessary parameters to execute the DescribeSecurityGroupReferences service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8069,7 +8094,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSecurityGroups:(AWSEC2DescribeSecurityGroupsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSecurityGroupsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DescribeSnapshotAttribute service method. @@ -8081,7 +8106,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeSnapshotAttribute:(AWSEC2DescribeSnapshotAttributeRequest *)request; /** -

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DescribeSnapshotAttribute service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8119,7 +8144,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSnapshotTierStatus:(AWSEC2DescribeSnapshotTierStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSnapshotTierStatusResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DescribeSnapshots service method. @@ -8131,7 +8156,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeSnapshots:(AWSEC2DescribeSnapshotsRequest *)request; /** -

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DescribeSnapshots service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8294,7 +8319,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSpotPriceHistory:(AWSEC2DescribeSpotPriceHistoryRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSpotPriceHistoryResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in the same VPC, peered VPC, or in separate VPCs attached to a transit gateway (with security group referencing support enabled). Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted or if they reference a security group in a VPC that has been detached from a transit gateway.

+

Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in the same VPC or peered VPC. Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted.

@param request A container for the necessary parameters to execute the DescribeStaleSecurityGroups service method. @@ -8306,7 +8331,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeStaleSecurityGroups:(AWSEC2DescribeStaleSecurityGroupsRequest *)request; /** -

Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in the same VPC, peered VPC, or in separate VPCs attached to a transit gateway (with security group referencing support enabled). Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted or if they reference a security group in a VPC that has been detached from a transit gateway.

+

Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in the same VPC or peered VPC. Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted.

@param request A container for the necessary parameters to execute the DescribeStaleSecurityGroups service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8369,7 +8394,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSubnets:(AWSEC2DescribeSubnetsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSubnetsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeTags service method. @@ -8381,7 +8406,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeTags:(AWSEC2DescribeTagsRequest *)request; /** -

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeTags service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8869,7 +8894,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVerifiedAccessTrustProviders:(AWSEC2DescribeVerifiedAccessTrustProvidersRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVerifiedAccessTrustProvidersResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DescribeVolumeAttribute service method. @@ -8881,7 +8906,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeVolumeAttribute:(AWSEC2DescribeVolumeAttributeRequest *)request; /** -

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DescribeVolumeAttribute service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8894,7 +8919,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVolumeAttribute:(AWSEC2DescribeVolumeAttributeRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVolumeAttributeResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks might still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitor the status of your volumes in the Amazon Elastic Compute Cloud User Guide.

Events: Reflect the cause of a volume status and might require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and might have inconsistent data.

Actions: Reflect the actions you might have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

+

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks might still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitor the status of your volumes in the Amazon EBS User Guide.

Events: Reflect the cause of a volume status and might require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and might have inconsistent data.

Actions: Reflect the actions you might have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeVolumeStatus service method. @@ -8906,7 +8931,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeVolumeStatus:(AWSEC2DescribeVolumeStatusRequest *)request; /** -

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks might still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitor the status of your volumes in the Amazon Elastic Compute Cloud User Guide.

Events: Reflect the cause of a volume status and might require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and might have inconsistent data.

Actions: Reflect the actions you might have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

+

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks might still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitor the status of your volumes in the Amazon EBS User Guide.

Events: Reflect the cause of a volume status and might require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and might have inconsistent data.

Actions: Reflect the actions you might have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeVolumeStatus service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8919,7 +8944,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVolumeStatus:(AWSEC2DescribeVolumeStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVolumeStatusResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeVolumes service method. @@ -8931,7 +8956,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeVolumes:(AWSEC2DescribeVolumesRequest *)request; /** -

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon Elastic Compute Cloud User Guide.

+

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeVolumes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8944,7 +8969,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVolumes:(AWSEC2DescribeVolumesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVolumesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the most recent volume modification request for the specified EBS volumes.

If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitor the progress of volume modifications in the Amazon Elastic Compute Cloud User Guide.

+

Describes the most recent volume modification request for the specified EBS volumes.

If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DescribeVolumesModifications service method. @@ -8956,7 +8981,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeVolumesModifications:(AWSEC2DescribeVolumesModificationsRequest *)request; /** -

Describes the most recent volume modification request for the specified EBS volumes.

If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitor the progress of volume modifications in the Amazon Elastic Compute Cloud User Guide.

+

Describes the most recent volume modification request for the specified EBS volumes.

If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DescribeVolumesModifications service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9388,7 +9413,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)detachVerifiedAccessTrustProvider:(AWSEC2DetachVerifiedAccessTrustProviderRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DetachVerifiedAccessTrustProviderResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an Amazon Web Services Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

You can't detach or force detach volumes that are attached to Amazon ECS or Fargate tasks. Attempting to do this results in the UnsupportedOperationException exception with the Unable to detach volume attached to ECS tasks error message.

For more information, see Detach an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

+

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an Amazon Web Services Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

You can't detach or force detach volumes that are attached to Amazon ECS or Fargate tasks. Attempting to do this results in the UnsupportedOperationException exception with the Unable to detach volume attached to ECS tasks error message.

For more information, see Detach an Amazon EBS volume in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DetachVolume service method. @@ -9400,7 +9425,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)detachVolume:(AWSEC2DetachVolumeRequest *)request; /** -

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an Amazon Web Services Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

You can't detach or force detach volumes that are attached to Amazon ECS or Fargate tasks. Attempting to do this results in the UnsupportedOperationException exception with the Unable to detach volume attached to ECS tasks error message.

For more information, see Detach an Amazon EBS volume in the Amazon Elastic Compute Cloud User Guide.

+

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an Amazon Web Services Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

You can't detach or force detach volumes that are attached to Amazon ECS or Fargate tasks. Attempting to do this results in the UnsupportedOperationException exception with the Unable to detach volume attached to ECS tasks error message.

For more information, see Detach an Amazon EBS volume in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DetachVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9485,7 +9510,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)disableAwsNetworkPerformanceMetricSubscription:(AWSEC2DisableAwsNetworkPerformanceMetricSubscriptionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableAwsNetworkPerformanceMetricSubscriptionResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Disables EBS encryption by default for your account in the current Region.

After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume.

Disabling encryption by default does not change the encryption status of your existing volumes.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Disables EBS encryption by default for your account in the current Region.

After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume.

Disabling encryption by default does not change the encryption status of your existing volumes.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DisableEbsEncryptionByDefault service method. @@ -9497,7 +9522,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)disableEbsEncryptionByDefault:(AWSEC2DisableEbsEncryptionByDefaultRequest *)request; /** -

Disables EBS encryption by default for your account in the current Region.

After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume.

Disabling encryption by default does not change the encryption status of your existing volumes.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Disables EBS encryption by default for your account in the current Region.

After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume.

Disabling encryption by default does not change the encryption status of your existing volumes.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the DisableEbsEncryptionByDefault service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9685,7 +9710,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)disableSerialConsoleAccess:(AWSEC2DisableSerialConsoleAccessRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableSerialConsoleAccessResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide .

+

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon EBS User Guide .

@param request A container for the necessary parameters to execute the DisableSnapshotBlockPublicAccess service method. @@ -9697,7 +9722,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)disableSnapshotBlockPublicAccess:(AWSEC2DisableSnapshotBlockPublicAccessRequest *)request; /** -

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide .

+

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon EBS User Guide .

@param request A container for the necessary parameters to execute the DisableSnapshotBlockPublicAccess service method. @param completionHandler The completion handler to call when the load request is complete. @@ -10226,7 +10251,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)enableAwsNetworkPerformanceMetricSubscription:(AWSEC2EnableAwsNetworkPerformanceMetricSubscriptionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableAwsNetworkPerformanceMetricSubscriptionResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Enables EBS encryption by default for your account in the current Region.

After you enable encryption by default, the EBS volumes that you create are always encrypted, either using the default KMS key or the KMS key that you specified when you created each volume. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

Enabling encryption by default has no effect on the encryption status of your existing volumes.

After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.

+

Enables EBS encryption by default for your account in the current Region.

After you enable encryption by default, the EBS volumes that you create are always encrypted, either using the default KMS key or the KMS key that you specified when you created each volume. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

Enabling encryption by default has no effect on the encryption status of your existing volumes.

After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.

@param request A container for the necessary parameters to execute the EnableEbsEncryptionByDefault service method. @@ -10238,7 +10263,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)enableEbsEncryptionByDefault:(AWSEC2EnableEbsEncryptionByDefaultRequest *)request; /** -

Enables EBS encryption by default for your account in the current Region.

After you enable encryption by default, the EBS volumes that you create are always encrypted, either using the default KMS key or the KMS key that you specified when you created each volume. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

Enabling encryption by default has no effect on the encryption status of your existing volumes.

After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.

+

Enables EBS encryption by default for your account in the current Region.

After you enable encryption by default, the EBS volumes that you create are always encrypted, either using the default KMS key or the KMS key that you specified when you created each volume. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

You can specify the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

Enabling encryption by default has no effect on the encryption status of your existing volumes.

After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported instance types.

@param request A container for the necessary parameters to execute the EnableEbsEncryptionByDefault service method. @param completionHandler The completion handler to call when the load request is complete. @@ -10276,7 +10301,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)enableFastLaunch:(AWSEC2EnableFastLaunchRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableFastLaunchResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

For more information, see Amazon EBS fast snapshot restore in the Amazon Elastic Compute Cloud User Guide.

+

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

For more information, see Amazon EBS fast snapshot restore in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the EnableFastSnapshotRestores service method. @@ -10288,7 +10313,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)enableFastSnapshotRestores:(AWSEC2EnableFastSnapshotRestoresRequest *)request; /** -

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

For more information, see Amazon EBS fast snapshot restore in the Amazon Elastic Compute Cloud User Guide.

+

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

For more information, see Amazon EBS fast snapshot restore in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the EnableFastSnapshotRestores service method. @param completionHandler The completion handler to call when the load request is complete. @@ -10451,7 +10476,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)enableSerialConsoleAccess:(AWSEC2EnableSerialConsoleAccessRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableSerialConsoleAccessResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

If block public access is enabled in block-all-sharing mode, and you change the mode to block-new-sharing, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

If block public access is enabled in block-all-sharing mode, and you change the mode to block-new-sharing, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the EnableSnapshotBlockPublicAccess service method. @@ -10463,7 +10488,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)enableSnapshotBlockPublicAccess:(AWSEC2EnableSnapshotBlockPublicAccessRequest *)request; /** -

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

If block public access is enabled in block-all-sharing mode, and you change the mode to block-new-sharing, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

If block public access is enabled in block-all-sharing mode, and you change the mode to block-new-sharing, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the EnableSnapshotBlockPublicAccess service method. @param completionHandler The completion handler to call when the load request is complete. @@ -10895,7 +10920,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)getDefaultCreditSpecification:(AWSEC2GetDefaultCreditSpecificationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetDefaultCreditSpecificationResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the default KMS key for EBS encryption by default for your account in this Region. You can change the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Describes the default KMS key for EBS encryption by default for your account in this Region. You can change the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the GetEbsDefaultKmsKeyId service method. @@ -10907,7 +10932,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)getEbsDefaultKmsKeyId:(AWSEC2GetEbsDefaultKmsKeyIdRequest *)request; /** -

Describes the default KMS key for EBS encryption by default for your account in this Region. You can change the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Describes the default KMS key for EBS encryption by default for your account in this Region. You can change the default KMS key for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the GetEbsDefaultKmsKeyId service method. @param completionHandler The completion handler to call when the load request is complete. @@ -10920,7 +10945,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)getEbsDefaultKmsKeyId:(AWSEC2GetEbsDefaultKmsKeyIdRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetEbsDefaultKmsKeyIdResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the GetEbsEncryptionByDefault service method. @@ -10932,7 +10957,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)getEbsEncryptionByDefault:(AWSEC2GetEbsEncryptionByDefaultRequest *)request; /** -

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the GetEbsEncryptionByDefault service method. @param completionHandler The completion handler to call when the load request is complete. @@ -11044,6 +11069,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)getImageBlockPublicAccessState:(AWSEC2GetImageBlockPublicAccessStateRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetImageBlockPublicAccessStateResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Gets the default instance metadata service (IMDS) settings that are set at the account level in the specified Amazon Web Services
 Region.

For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the GetInstanceMetadataDefaults service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2GetInstanceMetadataDefaultsResult`. + + @see AWSEC2GetInstanceMetadataDefaultsRequest + @see AWSEC2GetInstanceMetadataDefaultsResult + */ +- (AWSTask *)getInstanceMetadataDefaults:(AWSEC2GetInstanceMetadataDefaultsRequest *)request; + +/** +

Gets the default instance metadata service (IMDS) settings that are set at the account level in the specified Amazon Web Services
 Region.

For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the GetInstanceMetadataDefaults service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSEC2GetInstanceMetadataDefaultsRequest + @see AWSEC2GetInstanceMetadataDefaultsResult + */ +- (void)getInstanceMetadataDefaults:(AWSEC2GetInstanceMetadataDefaultsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetInstanceMetadataDefaultsResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Returns a list of instance types with the specified instance attributes. You can use the response to preview the instance types without launching instances. Note that the response does not consider capacity.

When you specify multiple parameters, you get instance types that satisfy all of the specified parameters. If you specify multiple values for a parameter, you get instance types that satisfy any of the specified values.

For more information, see Preview instance types with specified attributes, Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide, and Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

@@ -11495,7 +11545,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)getSerialConsoleAccessStatus:(AWSEC2GetSerialConsoleAccessStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetSerialConsoleAccessStatusResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the GetSnapshotBlockPublicAccessState service method. @@ -11507,7 +11557,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)getSnapshotBlockPublicAccessState:(AWSEC2GetSnapshotBlockPublicAccessStateRequest *)request; /** -

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the GetSnapshotBlockPublicAccessState service method. @param completionHandler The completion handler to call when the load request is complete. @@ -12245,7 +12295,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifyDefaultCreditSpecification:(AWSEC2ModifyDefaultCreditSpecificationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyDefaultCreditSpecificationResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Changes the default KMS key for EBS encryption by default for your account in this Region.

Amazon Web Services creates a unique Amazon Web Services managed KMS key in each Region for use with encryption by default. If you change the default KMS key to a symmetric customer managed KMS key, it is used instead of the Amazon Web Services managed KMS key. To reset the default KMS key to the Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric KMS keys.

If you delete or disable the customer managed KMS key that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Changes the default KMS key for EBS encryption by default for your account in this Region.

Amazon Web Services creates a unique Amazon Web Services managed KMS key in each Region for use with encryption by default. If you change the default KMS key to a symmetric customer managed KMS key, it is used instead of the Amazon Web Services managed KMS key. To reset the default KMS key to the Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric KMS keys.

If you delete or disable the customer managed KMS key that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ModifyEbsDefaultKmsKeyId service method. @@ -12257,7 +12307,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifyEbsDefaultKmsKeyId:(AWSEC2ModifyEbsDefaultKmsKeyIdRequest *)request; /** -

Changes the default KMS key for EBS encryption by default for your account in this Region.

Amazon Web Services creates a unique Amazon Web Services managed KMS key in each Region for use with encryption by default. If you change the default KMS key to a symmetric customer managed KMS key, it is used instead of the Amazon Web Services managed KMS key. To reset the default KMS key to the Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric KMS keys.

If you delete or disable the customer managed KMS key that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Changes the default KMS key for EBS encryption by default for your account in this Region.

Amazon Web Services creates a unique Amazon Web Services managed KMS key in each Region for use with encryption by default. If you change the default KMS key to a symmetric customer managed KMS key, it is used instead of the Amazon Web Services managed KMS key. To reset the default KMS key to the Amazon Web Services managed KMS key for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric KMS keys.

If you delete or disable the customer managed KMS key that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ModifyEbsDefaultKmsKeyId service method. @param completionHandler The completion handler to call when the load request is complete. @@ -12557,6 +12607,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)modifyInstanceMaintenanceOptions:(AWSEC2ModifyInstanceMaintenanceOptionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyInstanceMaintenanceOptionsResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. At instance launch, the value will come from the AMI, or from the launch parameter if specified. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the ModifyInstanceMetadataDefaults service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2ModifyInstanceMetadataDefaultsResult`. + + @see AWSEC2ModifyInstanceMetadataDefaultsRequest + @see AWSEC2ModifyInstanceMetadataDefaultsResult + */ +- (AWSTask *)modifyInstanceMetadataDefaults:(AWSEC2ModifyInstanceMetadataDefaultsRequest *)request; + +/** +

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. At instance launch, the value will come from the AMI, or from the launch parameter if specified. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the ModifyInstanceMetadataDefaults service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSEC2ModifyInstanceMetadataDefaultsRequest + @see AWSEC2ModifyInstanceMetadataDefaultsResult + */ +- (void)modifyInstanceMetadataDefaults:(AWSEC2ModifyInstanceMetadataDefaultsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyInstanceMetadataDefaultsResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Modify the instance metadata parameters on a running or stopped instance. When you modify the parameters on a stopped instance, they are applied when the instance is started. When you modify the parameters on a running instance, the API responds with a state of “pending”. After the parameter modifications are successfully applied to the instance, the state of the modifications changes from “pending” to “applied” in subsequent describe-instances API calls. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

@@ -12583,7 +12658,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifyInstanceMetadataOptions:(AWSEC2ModifyInstanceMetadataOptionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyInstanceMetadataOptionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is launched, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state.

+

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is started, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state.

@param request A container for the necessary parameters to execute the ModifyInstancePlacement service method. @@ -12595,7 +12670,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifyInstancePlacement:(AWSEC2ModifyInstancePlacementRequest *)request; /** -

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is launched, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state.

+

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is started, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state.

@param request A container for the necessary parameters to execute the ModifyInstancePlacement service method. @param completionHandler The completion handler to call when the load request is complete. @@ -12905,7 +12980,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifySecurityGroupRules:(AWSEC2ModifySecurityGroupRulesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifySecurityGroupRulesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Adds or removes permission settings for the specified snapshot. You may add or remove specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Adds or removes permission settings for the specified snapshot. You may add or remove specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ModifySnapshotAttribute service method. @@ -12916,7 +12991,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifySnapshotAttribute:(AWSEC2ModifySnapshotAttributeRequest *)request; /** -

Adds or removes permission settings for the specified snapshot. You may add or remove specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Adds or removes permission settings for the specified snapshot. You may add or remove specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ModifySnapshotAttribute service method. @param completionHandler The completion handler to call when the load request is complete. @@ -12927,7 +13002,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifySnapshotAttribute:(AWSEC2ModifySnapshotAttributeRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full snapshot that includes all of the blocks of data that were written to the volume at the time the snapshot was created, and moved from the standard tier to the archive tier. For more information, see Archive Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full snapshot that includes all of the blocks of data that were written to the volume at the time the snapshot was created, and moved from the standard tier to the archive tier. For more information, see Archive Amazon EBS snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ModifySnapshotTier service method. @@ -12939,7 +13014,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifySnapshotTier:(AWSEC2ModifySnapshotTierRequest *)request; /** -

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full snapshot that includes all of the blocks of data that were written to the volume at the time the snapshot was created, and moved from the standard tier to the archive tier. For more information, see Archive Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

+

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full snapshot that includes all of the blocks of data that were written to the volume at the time the snapshot was created, and moved from the standard tier to the archive tier. For more information, see Archive Amazon EBS snapshots in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ModifySnapshotTier service method. @param completionHandler The completion handler to call when the load request is complete. @@ -13324,7 +13399,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifyVerifiedAccessTrustProvider:(AWSEC2ModifyVerifiedAccessTrustProviderRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyVerifiedAccessTrustProviderResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you might be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying EBS volumes, see Amazon EBS Elastic Volumes (Linux instances) or Amazon EBS Elastic Volumes (Windows instances).

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For more information, see Extend a Linux file system or Extend a Windows file system.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitor the progress of volume modifications.

With previous-generation instance types, resizing an EBS volume might require detaching and reattaching the volume or stopping and restarting the instance.

After modifying a volume, you must wait at least six hours and ensure that the volume is in the in-use or available state before you can modify the same volume. This is sometimes referred to as a cooldown period.

+

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you might be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying EBS volumes, see Amazon EBS Elastic Volumes in the Amazon EBS User Guide.

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For more information, see Extend the file system.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitor the progress of volume modifications.

With previous-generation instance types, resizing an EBS volume might require detaching and reattaching the volume or stopping and restarting the instance.

After modifying a volume, you must wait at least six hours and ensure that the volume is in the in-use or available state before you can modify the same volume. This is sometimes referred to as a cooldown period.

@param request A container for the necessary parameters to execute the ModifyVolume service method. @@ -13336,7 +13411,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifyVolume:(AWSEC2ModifyVolumeRequest *)request; /** -

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you might be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying EBS volumes, see Amazon EBS Elastic Volumes (Linux instances) or Amazon EBS Elastic Volumes (Windows instances).

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For more information, see Extend a Linux file system or Extend a Windows file system.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitor the progress of volume modifications.

With previous-generation instance types, resizing an EBS volume might require detaching and reattaching the volume or stopping and restarting the instance.

After modifying a volume, you must wait at least six hours and ensure that the volume is in the in-use or available state before you can modify the same volume. This is sometimes referred to as a cooldown period.

+

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you might be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying EBS volumes, see Amazon EBS Elastic Volumes in the Amazon EBS User Guide.

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For more information, see Extend the file system.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitor the progress of volume modifications.

With previous-generation instance types, resizing an EBS volume might require detaching and reattaching the volume or stopping and restarting the instance.

After modifying a volume, you must wait at least six hours and ensure that the volume is in the in-use or available state before you can modify the same volume. This is sometimes referred to as a cooldown period.

@param request A container for the necessary parameters to execute the ModifyVolume service method. @param completionHandler The completion handler to call when the load request is complete. @@ -13965,7 +14040,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)rebootInstances:(AWSEC2RebootInstancesRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Create your own AMI in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

Register a snapshot of a root device volume

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud User Guide.

Amazon Web Services Marketplace product codes

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association:

  1. Launch an instance from an existing AMI with that billing product code.

  2. Customize the instance.

  3. Create an AMI from the instance using CreateImage.

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

+

Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI is the final step in the creation process. For more information about creating AMIs, see Create your own AMI in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

Register a snapshot of a root device volume

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud User Guide.

Amazon Web Services Marketplace product codes

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association:

  1. Launch an instance from an existing AMI with that billing product code.

  2. Customize the instance.

  3. Create an AMI from the instance using CreateImage.

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the RegisterImage service method. @@ -13977,7 +14052,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)registerImage:(AWSEC2RegisterImageRequest *)request; /** -

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Create your own AMI in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

Register a snapshot of a root device volume

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud User Guide.

Amazon Web Services Marketplace product codes

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association:

  1. Launch an instance from an existing AMI with that billing product code.

  2. Customize the instance.

  3. Create an AMI from the instance using CreateImage.

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

+

Registers an AMI. When you're creating an instance-store backed AMI, registering the AMI is the final step in the creation process. For more information about creating AMIs, see Create your own AMI in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself. We recommend that you always use CreateImage unless you have a specific reason to use RegisterImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

Register a snapshot of a root device volume

You can use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using a block device mapping. You can't set the encryption state of the volume using the block device mapping. If the snapshot is encrypted, or encryption by default is enabled, the root volume of an instance launched from the AMI is encrypted.

For more information, see Create a Linux AMI from a snapshot and Use encryption with Amazon EBS-backed AMIs in the Amazon Elastic Compute Cloud User Guide.

Amazon Web Services Marketplace product codes

If any snapshots have Amazon Web Services Marketplace product codes, they are copied to the new AMI.

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association:

  1. Launch an instance from an existing AMI with that billing product code.

  2. Customize the instance.

  3. Create an AMI from the instance using CreateImage.

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Understand AMI billing information in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the RegisterImage service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14528,7 +14603,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)resetAddressAttribute:(AWSEC2ResetAddressAttributeRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ResetAddressAttributeResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a customer managed KMS key by specifying it when you create the volume. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a customer managed KMS key by specifying it when you create the volume. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ResetEbsDefaultKmsKeyId service method. @@ -14540,7 +14615,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)resetEbsDefaultKmsKeyId:(AWSEC2ResetEbsDefaultKmsKeyIdRequest *)request; /** -

Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a customer managed KMS key by specifying it when you create the volume. For more information, see Amazon EBS encryption in the Amazon Elastic Compute Cloud User Guide.

+

Resets the default KMS key for EBS encryption for your account in this Region to the Amazon Web Services managed KMS key for EBS.

After resetting the default KMS key to the Amazon Web Services managed KMS key, you can continue to encrypt by a customer managed KMS key by specifying it when you create the volume. For more information, see Amazon EBS encryption in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ResetEbsDefaultKmsKeyId service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14644,7 +14719,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)resetNetworkInterfaceAttribute:(AWSEC2ResetNetworkInterfaceAttributeRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ResetSnapshotAttribute service method. @@ -14655,7 +14730,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)resetSnapshotAttribute:(AWSEC2ResetSnapshotAttributeRequest *)request; /** -

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the ResetSnapshotAttribute service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14741,7 +14816,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)restoreManagedPrefixListVersion:(AWSEC2RestoreManagedPrefixListVersionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2RestoreManagedPrefixListVersionResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Restores a snapshot from the Recycle Bin. For more information, see Restore snapshots from the Recycle Bin in the Amazon Elastic Compute Cloud User Guide.

+

Restores a snapshot from the Recycle Bin. For more information, see Restore snapshots from the Recycle Bin in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the RestoreSnapshotFromRecycleBin service method. @@ -14753,7 +14828,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)restoreSnapshotFromRecycleBin:(AWSEC2RestoreSnapshotFromRecycleBinRequest *)request; /** -

Restores a snapshot from the Recycle Bin. For more information, see Restore snapshots from the Recycle Bin in the Amazon Elastic Compute Cloud User Guide.

+

Restores a snapshot from the Recycle Bin. For more information, see Restore snapshots from the Recycle Bin in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the RestoreSnapshotFromRecycleBin service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14766,7 +14841,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)restoreSnapshotFromRecycleBin:(AWSEC2RestoreSnapshotFromRecycleBinRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2RestoreSnapshotFromRecycleBinResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Restores an archived Amazon EBS snapshot for use temporarily or permanently, or modifies the restore period or restore type for a snapshot that was previously temporarily restored.

For more information see Restore an archived snapshot and modify the restore period or restore type for a temporarily restored snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Restores an archived Amazon EBS snapshot for use temporarily or permanently, or modifies the restore period or restore type for a snapshot that was previously temporarily restored.

For more information see Restore an archived snapshot and modify the restore period or restore type for a temporarily restored snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the RestoreSnapshotTier service method. @@ -14778,7 +14853,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)restoreSnapshotTier:(AWSEC2RestoreSnapshotTierRequest *)request; /** -

Restores an archived Amazon EBS snapshot for use temporarily or permanently, or modifies the restore period or restore type for a snapshot that was previously temporarily restored.

For more information see Restore an archived snapshot and modify the restore period or restore type for a temporarily restored snapshot in the Amazon Elastic Compute Cloud User Guide.

+

Restores an archived Amazon EBS snapshot for use temporarily or permanently, or modifies the restore period or restore type for a snapshot that was previously temporarily restored.

For more information see Restore an archived snapshot and modify the restore period or restore type for a temporarily restored snapshot in the Amazon EBS User Guide.

@param request A container for the necessary parameters to execute the RestoreSnapshotTier service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSEC2/AWSEC2Service.m b/AWSEC2/AWSEC2Service.m index a31f013f409..4b15f3d18c6 100644 --- a/AWSEC2/AWSEC2Service.m +++ b/AWSEC2/AWSEC2Service.m @@ -6960,6 +6960,29 @@ - (void)describeLockedSnapshots:(AWSEC2DescribeLockedSnapshotsRequest *)request }]; } +- (AWSTask *)describeMacHosts:(AWSEC2DescribeMacHostsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DescribeMacHosts" + outputClass:[AWSEC2DescribeMacHostsResult class]]; +} + +- (void)describeMacHosts:(AWSEC2DescribeMacHostsRequest *)request + completionHandler:(void (^)(AWSEC2DescribeMacHostsResult *response, NSError *error))completionHandler { + [[self describeMacHosts:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DescribeMacHostsResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)describeManagedPrefixLists:(AWSEC2DescribeManagedPrefixListsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -10333,6 +10356,29 @@ - (void)getImageBlockPublicAccessState:(AWSEC2GetImageBlockPublicAccessStateRequ }]; } +- (AWSTask *)getInstanceMetadataDefaults:(AWSEC2GetInstanceMetadataDefaultsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"GetInstanceMetadataDefaults" + outputClass:[AWSEC2GetInstanceMetadataDefaultsResult class]]; +} + +- (void)getInstanceMetadataDefaults:(AWSEC2GetInstanceMetadataDefaultsRequest *)request + completionHandler:(void (^)(AWSEC2GetInstanceMetadataDefaultsResult *response, NSError *error))completionHandler { + [[self getInstanceMetadataDefaults:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2GetInstanceMetadataDefaultsResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getInstanceTypesFromInstanceRequirements:(AWSEC2GetInstanceTypesFromInstanceRequirementsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -11732,6 +11778,29 @@ - (void)modifyInstanceMaintenanceOptions:(AWSEC2ModifyInstanceMaintenanceOptions }]; } +- (AWSTask *)modifyInstanceMetadataDefaults:(AWSEC2ModifyInstanceMetadataDefaultsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"ModifyInstanceMetadataDefaults" + outputClass:[AWSEC2ModifyInstanceMetadataDefaultsResult class]]; +} + +- (void)modifyInstanceMetadataDefaults:(AWSEC2ModifyInstanceMetadataDefaultsRequest *)request + completionHandler:(void (^)(AWSEC2ModifyInstanceMetadataDefaultsResult *response, NSError *error))completionHandler { + [[self modifyInstanceMetadataDefaults:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2ModifyInstanceMetadataDefaultsResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)modifyInstanceMetadataOptions:(AWSEC2ModifyInstanceMetadataOptionsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m index 005c2bbdb6f..8f3c3225646 100644 --- a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m +++ b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m @@ -704,6 +704,8 @@ - (void) test_AWSEC2DescribeLocalGatewaysRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeLocalGatewaysResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeLockedSnapshotsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeLockedSnapshotsResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeMacHostsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeMacHostsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeManagedPrefixListsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeManagedPrefixListsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeMovingAddressesRequest API_AVAILABLE(ios(11)); @@ -1073,6 +1075,8 @@ - (void) test_AWSEC2GetHostReservationPurchasePreviewRequest API_AVAILABLE(ios(1 - (void) test_AWSEC2GetHostReservationPurchasePreviewResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetImageBlockPublicAccessStateRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetImageBlockPublicAccessStateResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetInstanceMetadataDefaultsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetInstanceMetadataDefaultsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceUefiDataRequest API_AVAILABLE(ios(11)); @@ -1212,6 +1216,7 @@ - (void) test_AWSEC2InstanceIpv6Prefix API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceMaintenanceOptions API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceMaintenanceOptionsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceMarketOptionsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2InstanceMetadataDefaultsResponse API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceMetadataOptionsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceMetadataOptionsResponse API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceMonitoring API_AVAILABLE(ios(11)); @@ -1344,8 +1349,12 @@ - (void) test_AWSEC2LocalGatewayVirtualInterfaceGroup API_AVAILABLE(ios(11)); - (void) test_AWSEC2LockSnapshotRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2LockSnapshotResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2LockedSnapshotsInfo API_AVAILABLE(ios(11)); +- (void) test_AWSEC2MacHost API_AVAILABLE(ios(11)); - (void) test_AWSEC2MaintenanceDetails API_AVAILABLE(ios(11)); - (void) test_AWSEC2ManagedPrefixList API_AVAILABLE(ios(11)); +- (void) test_AWSEC2MediaAcceleratorInfo API_AVAILABLE(ios(11)); +- (void) test_AWSEC2MediaDeviceInfo API_AVAILABLE(ios(11)); +- (void) test_AWSEC2MediaDeviceMemoryInfo API_AVAILABLE(ios(11)); - (void) test_AWSEC2MemoryGiBPerVCpu API_AVAILABLE(ios(11)); - (void) test_AWSEC2MemoryGiBPerVCpuRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2MemoryInfo API_AVAILABLE(ios(11)); @@ -1386,6 +1395,8 @@ - (void) test_AWSEC2ModifyInstanceEventWindowRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyInstanceEventWindowResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyInstanceMaintenanceOptionsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyInstanceMaintenanceOptionsResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2ModifyInstanceMetadataDefaultsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2ModifyInstanceMetadataDefaultsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyInstanceMetadataOptionsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyInstanceMetadataOptionsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyInstancePlacementRequest API_AVAILABLE(ios(11)); @@ -1510,6 +1521,10 @@ - (void) test_AWSEC2NetworkInterfaceIpv6Address API_AVAILABLE(ios(11)); - (void) test_AWSEC2NetworkInterfacePermission API_AVAILABLE(ios(11)); - (void) test_AWSEC2NetworkInterfacePermissionState API_AVAILABLE(ios(11)); - (void) test_AWSEC2NetworkInterfacePrivateIpAddress API_AVAILABLE(ios(11)); +- (void) test_AWSEC2NeuronDeviceCoreInfo API_AVAILABLE(ios(11)); +- (void) test_AWSEC2NeuronDeviceInfo API_AVAILABLE(ios(11)); +- (void) test_AWSEC2NeuronDeviceMemoryInfo API_AVAILABLE(ios(11)); +- (void) test_AWSEC2NeuronInfo API_AVAILABLE(ios(11)); - (void) test_AWSEC2LatestDhcpConfiguration API_AVAILABLE(ios(11)); - (void) test_AWSEC2NitroTpmInfo API_AVAILABLE(ios(11)); - (void) test_AWSEC2OidcOptions API_AVAILABLE(ios(11)); @@ -4667,6 +4682,14 @@ - (void) test_AWSEC2DescribeLockedSnapshotsResult { [self validateSecureCodingForClass:[AWSEC2DescribeLockedSnapshotsResult class]]; } +- (void) test_AWSEC2DescribeMacHostsRequest { + [self validateSecureCodingForClass:[AWSEC2DescribeMacHostsRequest class]]; +} + +- (void) test_AWSEC2DescribeMacHostsResult { + [self validateSecureCodingForClass:[AWSEC2DescribeMacHostsResult class]]; +} + - (void) test_AWSEC2DescribeManagedPrefixListsRequest { [self validateSecureCodingForClass:[AWSEC2DescribeManagedPrefixListsRequest class]]; } @@ -6143,6 +6166,14 @@ - (void) test_AWSEC2GetImageBlockPublicAccessStateResult { [self validateSecureCodingForClass:[AWSEC2GetImageBlockPublicAccessStateResult class]]; } +- (void) test_AWSEC2GetInstanceMetadataDefaultsRequest { + [self validateSecureCodingForClass:[AWSEC2GetInstanceMetadataDefaultsRequest class]]; +} + +- (void) test_AWSEC2GetInstanceMetadataDefaultsResult { + [self validateSecureCodingForClass:[AWSEC2GetInstanceMetadataDefaultsResult class]]; +} + - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsRequest { [self validateSecureCodingForClass:[AWSEC2GetInstanceTypesFromInstanceRequirementsRequest class]]; } @@ -6699,6 +6730,10 @@ - (void) test_AWSEC2InstanceMarketOptionsRequest { [self validateSecureCodingForClass:[AWSEC2InstanceMarketOptionsRequest class]]; } +- (void) test_AWSEC2InstanceMetadataDefaultsResponse { + [self validateSecureCodingForClass:[AWSEC2InstanceMetadataDefaultsResponse class]]; +} + - (void) test_AWSEC2InstanceMetadataOptionsRequest { [self validateSecureCodingForClass:[AWSEC2InstanceMetadataOptionsRequest class]]; } @@ -7227,6 +7262,10 @@ - (void) test_AWSEC2LockedSnapshotsInfo { [self validateSecureCodingForClass:[AWSEC2LockedSnapshotsInfo class]]; } +- (void) test_AWSEC2MacHost { + [self validateSecureCodingForClass:[AWSEC2MacHost class]]; +} + - (void) test_AWSEC2MaintenanceDetails { [self validateSecureCodingForClass:[AWSEC2MaintenanceDetails class]]; } @@ -7235,6 +7274,18 @@ - (void) test_AWSEC2ManagedPrefixList { [self validateSecureCodingForClass:[AWSEC2ManagedPrefixList class]]; } +- (void) test_AWSEC2MediaAcceleratorInfo { + [self validateSecureCodingForClass:[AWSEC2MediaAcceleratorInfo class]]; +} + +- (void) test_AWSEC2MediaDeviceInfo { + [self validateSecureCodingForClass:[AWSEC2MediaDeviceInfo class]]; +} + +- (void) test_AWSEC2MediaDeviceMemoryInfo { + [self validateSecureCodingForClass:[AWSEC2MediaDeviceMemoryInfo class]]; +} + - (void) test_AWSEC2MemoryGiBPerVCpu { [self validateSecureCodingForClass:[AWSEC2MemoryGiBPerVCpu class]]; } @@ -7395,6 +7446,14 @@ - (void) test_AWSEC2ModifyInstanceMaintenanceOptionsResult { [self validateSecureCodingForClass:[AWSEC2ModifyInstanceMaintenanceOptionsResult class]]; } +- (void) test_AWSEC2ModifyInstanceMetadataDefaultsRequest { + [self validateSecureCodingForClass:[AWSEC2ModifyInstanceMetadataDefaultsRequest class]]; +} + +- (void) test_AWSEC2ModifyInstanceMetadataDefaultsResult { + [self validateSecureCodingForClass:[AWSEC2ModifyInstanceMetadataDefaultsResult class]]; +} + - (void) test_AWSEC2ModifyInstanceMetadataOptionsRequest { [self validateSecureCodingForClass:[AWSEC2ModifyInstanceMetadataOptionsRequest class]]; } @@ -7891,6 +7950,22 @@ - (void) test_AWSEC2NetworkInterfacePrivateIpAddress { [self validateSecureCodingForClass:[AWSEC2NetworkInterfacePrivateIpAddress class]]; } +- (void) test_AWSEC2NeuronDeviceCoreInfo { + [self validateSecureCodingForClass:[AWSEC2NeuronDeviceCoreInfo class]]; +} + +- (void) test_AWSEC2NeuronDeviceInfo { + [self validateSecureCodingForClass:[AWSEC2NeuronDeviceInfo class]]; +} + +- (void) test_AWSEC2NeuronDeviceMemoryInfo { + [self validateSecureCodingForClass:[AWSEC2NeuronDeviceMemoryInfo class]]; +} + +- (void) test_AWSEC2NeuronInfo { + [self validateSecureCodingForClass:[AWSEC2NeuronInfo class]]; +} + - (void) test_AWSEC2LatestDhcpConfiguration { [self validateSecureCodingForClass:[AWSEC2LatestDhcpConfiguration class]]; } diff --git a/AWSEC2UnitTests/AWSGeneralEC2Tests.m b/AWSEC2UnitTests/AWSGeneralEC2Tests.m index c6c293c0e36..e46d0000af7 100644 --- a/AWSEC2UnitTests/AWSGeneralEC2Tests.m +++ b/AWSEC2UnitTests/AWSGeneralEC2Tests.m @@ -14046,6 +14046,54 @@ - (void)testDescribeLockedSnapshotsCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testDescribeMacHosts { + NSString *key = @"testDescribeMacHosts"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSEC2 EC2ForKey:key] describeMacHosts:[AWSEC2DescribeMacHostsRequest new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + +- (void)testDescribeMacHostsCompletionHandler { + NSString *key = @"testDescribeMacHosts"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSEC2 EC2ForKey:key] describeMacHosts:[AWSEC2DescribeMacHostsRequest new] completionHandler:^(AWSEC2DescribeMacHostsResult* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + - (void)testDescribeManagedPrefixLists { NSString *key = @"testDescribeManagedPrefixLists"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -21094,6 +21142,54 @@ - (void)testGetImageBlockPublicAccessStateCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testGetInstanceMetadataDefaults { + NSString *key = @"testGetInstanceMetadataDefaults"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSEC2 EC2ForKey:key] getInstanceMetadataDefaults:[AWSEC2GetInstanceMetadataDefaultsRequest new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + +- (void)testGetInstanceMetadataDefaultsCompletionHandler { + NSString *key = @"testGetInstanceMetadataDefaults"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSEC2 EC2ForKey:key] getInstanceMetadataDefaults:[AWSEC2GetInstanceMetadataDefaultsRequest new] completionHandler:^(AWSEC2GetInstanceMetadataDefaultsResult* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + - (void)testGetInstanceTypesFromInstanceRequirements { NSString *key = @"testGetInstanceTypesFromInstanceRequirements"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -24018,6 +24114,54 @@ - (void)testModifyInstanceMaintenanceOptionsCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testModifyInstanceMetadataDefaults { + NSString *key = @"testModifyInstanceMetadataDefaults"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSEC2 EC2ForKey:key] modifyInstanceMetadataDefaults:[AWSEC2ModifyInstanceMetadataDefaultsRequest new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + +- (void)testModifyInstanceMetadataDefaultsCompletionHandler { + NSString *key = @"testModifyInstanceMetadataDefaults"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; + + AWSEC2 *awsClient = [AWSEC2 EC2ForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSEC2 EC2ForKey:key] modifyInstanceMetadataDefaults:[AWSEC2ModifyInstanceMetadataDefaultsRequest new] completionHandler:^(AWSEC2ModifyInstanceMetadataDefaultsResult* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + - (void)testModifyInstanceMetadataOptions { NSString *key = @"testModifyInstanceMetadataOptions"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; From d4576f85d82c385025b2b11f24be4a32ec63d569 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:34:36 -0400 Subject: [PATCH 13/15] feat(AWSFirehose): update models to latest (#5263) --- AWSKinesis/AWSFirehoseModel.h | 2 +- AWSKinesis/AWSFirehoseResources.m | 4 ++-- AWSKinesis/AWSFirehoseService.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AWSKinesis/AWSFirehoseModel.h b/AWSKinesis/AWSFirehoseModel.h index 1b6afab63e0..40dc31753c0 100644 --- a/AWSKinesis/AWSFirehoseModel.h +++ b/AWSKinesis/AWSFirehoseModel.h @@ -966,7 +966,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @property (nonatomic, strong) AWSFirehoseSplunkDestinationConfiguration * _Nullable splunkDestinationConfiguration; /** -

A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

You can specify up to 50 tags when creating a delivery stream.

+

A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

You can specify up to 50 tags when creating a delivery stream.

If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an additional authorization on the firehose:TagDeliveryStream action to verify if users have permissions to create tags. If you do not provide this permission, requests to create new Firehose delivery streams with IAM resource tags will fail with an AccessDeniedException such as following.

AccessDeniedException

User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy.

For an example IAM policy, see Tag example.

*/ @property (nonatomic, strong) NSArray * _Nullable tags; diff --git a/AWSKinesis/AWSFirehoseResources.m b/AWSKinesis/AWSFirehoseResources.m index 4b92fb9e20a..39e0578df54 100644 --- a/AWSKinesis/AWSFirehoseResources.m +++ b/AWSKinesis/AWSFirehoseResources.m @@ -835,7 +835,7 @@ - (NSString *)definitionString { },\ \"Tags\":{\ \"shape\":\"TagDeliveryStreamInputTagList\",\ - \"documentation\":\"

A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

You can specify up to 50 tags when creating a delivery stream.

\"\ + \"documentation\":\"

A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

You can specify up to 50 tags when creating a delivery stream.

If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an additional authorization on the firehose:TagDeliveryStream action to verify if users have permissions to create tags. If you do not provide this permission, requests to create new Firehose delivery streams with IAM resource tags will fail with an AccessDeniedException such as following.

AccessDeniedException

User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy.

For an example IAM policy, see Tag example.

\"\ },\ \"AmazonOpenSearchServerlessDestinationConfiguration\":{\ \"shape\":\"AmazonOpenSearchServerlessDestinationConfiguration\",\ @@ -3902,7 +3902,7 @@ - (NSString *)definitionString { \"documentation\":\"

The details of the VPC of the Amazon ES destination.

\"\ }\ },\ - \"documentation\":\"Amazon Data Firehose

Amazon Data Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon OpenSearch Service, Amazon Redshift, Splunk, and various other supportd destinations.

\"\ + \"documentation\":\"Amazon Data Firehose

Amazon Data Firehose was previously known as Amazon Kinesis Data Firehose.

Amazon Data Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon OpenSearch Service, Amazon Redshift, Splunk, and various other supportd destinations.

\"\ }\ "; } diff --git a/AWSKinesis/AWSFirehoseService.h b/AWSKinesis/AWSFirehoseService.h index b23be4c85bc..de7526304bd 100644 --- a/AWSKinesis/AWSFirehoseService.h +++ b/AWSKinesis/AWSFirehoseService.h @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; /** - Amazon Data Firehose

Amazon Data Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon OpenSearch Service, Amazon Redshift, Splunk, and various other supportd destinations.

+ Amazon Data Firehose

Amazon Data Firehose was previously known as Amazon Kinesis Data Firehose.

Amazon Data Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon OpenSearch Service, Amazon Redshift, Splunk, and various other supportd destinations.

*/ @interface AWSFirehose : AWSService From 1a05c8ca2775d7e576ace02525fd05f1241dac53 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:36:53 -0400 Subject: [PATCH 14/15] chore(changelog): Update models to latest [skip ci] (#5274) --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f7423fa200..e653085a1a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,21 @@ - **AWSIoT** - Fixing an intermittent crash when deallocating AWSIoTStreamThread (See [PR #5269](https://github.com/aws-amplify/aws-sdk-ios/issues/5269)) +### Misc. Updates + +- Model updates for the following services + - AWSLambda + - AWSEC2 + - AWSFirehose + - AWSDynamoDB + - AWSConnect + - AWSCloudWatchLogs (**Breaking Change**) + - AWSKMS + - AWSElasticLoadBalancingv2 + - AWSCognitoIdentityProvider + - AWSAutoScalling + - AWSIoT + ## 2.34.2 ### Misc. Updates From 02e12d18a00187441fffcbca8fed10b84e56f054 Mon Sep 17 00:00:00 2001 From: aws-amplify-ops Date: Thu, 4 Apr 2024 20:42:53 +0000 Subject: [PATCH 15/15] [bump version 2.35.0] --- AWSAPIGateway.podspec | 4 +- AWSAPIGateway/AWSAPIGatewayClient.m | 2 +- AWSAPIGateway/Info.plist | 2 +- AWSAppleSignIn.podspec | 6 +- AWSAuth.podspec | 12 ++-- AWSAuthCore.podspec | 4 +- AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist | 2 +- AWSAuthSDK/Sources/AWSAuthCore/Info.plist | 2 +- AWSAuthSDK/Sources/AWSAuthUI/Info.plist | 2 +- .../Sources/AWSFacebookSignIn/Info.plist | 2 +- AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist | 2 +- AWSAuthSDK/Sources/AWSMobileClient/Info.plist | 2 +- .../Sources/AWSMobileClientXCF/Info.plist | 2 +- .../Sources/AWSUserPoolsSignIn/Info.plist | 2 +- AWSAuthUI.podspec | 6 +- AWSAutoScaling.podspec | 4 +- AWSAutoScaling/AWSAutoScalingService.m | 2 +- AWSAutoScaling/Info.plist | 2 +- AWSChimeSDKIdentity.podspec | 4 +- .../AWSChimeSDKIdentityService.m | 2 +- AWSChimeSDKIdentity/Info.plist | 2 +- AWSChimeSDKMessaging.podspec | 4 +- .../AWSChimeSDKMessagingService.m | 2 +- AWSChimeSDKMessaging/Info.plist | 2 +- AWSCloudWatch.podspec | 4 +- AWSCloudWatch/AWSCloudWatchService.m | 2 +- AWSCloudWatch/Info.plist | 2 +- AWSCognitoAuth.podspec | 6 +- AWSCognitoAuth/AWSCognitoAuth.m | 2 +- AWSCognitoAuth/Info.plist | 2 +- AWSCognitoIdentityProvider.podspec | 6 +- .../AWSCognitoIdentityProviderService.m | 2 +- AWSCognitoIdentityProvider/Info.plist | 2 +- AWSCognitoIdentityProviderASF.podspec | 4 +- AWSCognitoIdentityProviderASF/Info.plist | 2 +- AWSComprehend.podspec | 4 +- AWSComprehend/AWSComprehendService.m | 2 +- AWSComprehend/Info.plist | 2 +- AWSConnect.podspec | 4 +- AWSConnect/AWSConnectService.m | 2 +- AWSConnect/Info.plist | 2 +- AWSConnectParticipant.podspec | 4 +- .../AWSConnectParticipantService.m | 2 +- AWSConnectParticipant/Info.plist | 2 +- AWSCore.podspec | 2 +- AWSCore/Info.plist | 2 +- AWSCore/Service/AWSService.m | 2 +- AWSDynamoDB.podspec | 4 +- AWSDynamoDB/AWSDynamoDBService.m | 2 +- AWSDynamoDB/Info.plist | 2 +- AWSEC2.podspec | 4 +- AWSEC2/AWSEC2Service.m | 2 +- AWSEC2/Info.plist | 2 +- AWSElasticLoadBalancing.podspec | 4 +- .../AWSElasticLoadBalancingService.m | 2 +- AWSElasticLoadBalancing/Info.plist | 2 +- AWSFacebookSignIn.podspec | 6 +- AWSGoogleSignIn.podspec | 6 +- AWSIoT.podspec | 4 +- AWSIoT/AWSIoTDataService.m | 2 +- AWSIoT/AWSIoTService.m | 2 +- AWSIoT/Info.plist | 2 +- AWSKMS.podspec | 4 +- AWSKMS/AWSKMSService.m | 2 +- AWSKMS/Info.plist | 2 +- AWSKinesis.podspec | 4 +- AWSKinesis/AWSFirehoseService.m | 2 +- AWSKinesis/AWSKinesisService.m | 2 +- AWSKinesis/Info.plist | 2 +- AWSKinesisVideo.podspec | 4 +- AWSKinesisVideo/AWSKinesisVideoService.m | 2 +- AWSKinesisVideo/Info.plist | 2 +- AWSKinesisVideoArchivedMedia.podspec | 4 +- .../AWSKinesisVideoArchivedMediaService.m | 2 +- AWSKinesisVideoArchivedMedia/Info.plist | 2 +- AWSKinesisVideoSignaling.podspec | 4 +- .../AWSKinesisVideoSignalingService.m | 2 +- AWSKinesisVideoSignaling/Info.plist | 2 +- AWSKinesisVideoWebRTCStorage.podspec | 4 +- .../AWSKinesisVideoWebRTCStorageService.m | 2 +- AWSKinesisVideoWebRTCStorage/Info.plist | 2 +- AWSLambda.podspec | 4 +- AWSLambda/AWSLambdaService.m | 2 +- AWSLambda/Info.plist | 2 +- AWSLex.podspec | 4 +- AWSLex/AWSLexInteractionKit.m | 2 +- AWSLex/AWSLexService.m | 2 +- AWSLex/Info.plist | 2 +- AWSLocation.podspec | 4 +- AWSLocation/AWSLocationService.m | 2 +- AWSLocation/Info.plist | 2 +- AWSLocationXCF/Info.plist | 2 +- AWSLogs.podspec | 4 +- AWSLogs/AWSLogsService.m | 2 +- AWSLogs/Info.plist | 2 +- AWSMachineLearning.podspec | 4 +- .../AWSMachineLearningService.m | 2 +- AWSMachineLearning/Info.plist | 2 +- AWSMobileClient.podspec | 10 +-- AWSPinpoint.podspec | 4 +- .../AWSPinpointTargetingService.m | 2 +- AWSPinpoint/Info.plist | 2 +- AWSPolly.podspec | 4 +- AWSPolly/AWSPollyService.m | 2 +- AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m | 2 +- AWSPolly/Info.plist | 2 +- AWSRekognition.podspec | 4 +- AWSRekognition/AWSRekognitionService.m | 2 +- AWSRekognition/Info.plist | 2 +- AWSS3.podspec | 4 +- AWSS3/AWSS3PreSignedURL.m | 2 +- AWSS3/AWSS3Service.m | 2 +- AWSS3/Info.plist | 2 +- AWSSES.podspec | 4 +- AWSSES/AWSSESService.m | 2 +- AWSSES/Info.plist | 2 +- AWSSNS.podspec | 4 +- AWSSNS/AWSSNSService.m | 2 +- AWSSNS/Info.plist | 2 +- AWSSQS.podspec | 4 +- AWSSQS/AWSSQSService.m | 2 +- AWSSQS/Info.plist | 2 +- AWSSageMakerRuntime.podspec | 4 +- .../AWSSageMakerRuntimeService.m | 2 +- AWSSageMakerRuntime/Info.plist | 2 +- AWSSimpleDB.podspec | 4 +- AWSSimpleDB/AWSSimpleDBService.m | 2 +- AWSSimpleDB/Info.plist | 2 +- AWSTextract.podspec | 4 +- AWSTextract/AWSTextractService.m | 2 +- AWSTextract/Info.plist | 2 +- AWSTranscribe.podspec | 4 +- AWSTranscribe/AWSTranscribeService.m | 2 +- AWSTranscribe/Info.plist | 2 +- AWSTranscribeStreaming.podspec | 4 +- .../AWSTranscribeStreamingService.m | 2 +- AWSTranscribeStreaming/Info.plist | 2 +- AWSTranslate.podspec | 4 +- AWSTranslate/AWSTranslateService.m | 2 +- AWSTranslate/Info.plist | 2 +- AWSUserPoolsSignIn.podspec | 8 +-- AWSiOSSDKv2.podspec | 64 +++++++++---------- CHANGELOG.md | 4 ++ CircleciScripts/generate_documentation.sh | 2 +- 144 files changed, 240 insertions(+), 236 deletions(-) diff --git a/AWSAPIGateway.podspec b/AWSAPIGateway.podspec index e2581fee6d1..64d713a6e15 100644 --- a/AWSAPIGateway.podspec +++ b/AWSAPIGateway.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSAPIGateway' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -13,7 +13,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSAPIGateway/*.{h,m}' s.resource_bundle = { 'AWSAPIGateway' => ['AWSAPIGateway/PrivacyInfo.xcprivacy']} diff --git a/AWSAPIGateway/AWSAPIGatewayClient.m b/AWSAPIGateway/AWSAPIGatewayClient.m index 581bce45ee9..58dad5c1749 100644 --- a/AWSAPIGateway/AWSAPIGatewayClient.m +++ b/AWSAPIGateway/AWSAPIGatewayClient.m @@ -23,7 +23,7 @@ static NSString *const AWSAPIGatewayAPIKeyHeader = @"x-api-key"; -NSString *const AWSAPIGatewaySDKVersion = @"2.34.2"; +NSString *const AWSAPIGatewaySDKVersion = @"2.35.0"; static int defaultChunkSize = 1024; diff --git a/AWSAPIGateway/Info.plist b/AWSAPIGateway/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSAPIGateway/Info.plist +++ b/AWSAPIGateway/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSAppleSignIn.podspec b/AWSAppleSignIn.podspec index a49c65d07e2..d4667721c3c 100644 --- a/AWSAppleSignIn.podspec +++ b/AWSAppleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAppleSignIn' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' - s.dependency 'AWSAuthCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' + s.dependency 'AWSAuthCore', '2.35.0' s.source_files = 'AWSAuthSDK/Sources/AWSAppleSignIn/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSAppleSignIn/*.h' s.resource_bundle = { 'AWSAppleSignIn' => ['AWSAuthSDK/Sources/AWSAppleSignIn/PrivacyInfo.xcprivacy']} diff --git a/AWSAuth.podspec b/AWSAuth.podspec index ddad4f31051..d055132612f 100644 --- a/AWSAuth.podspec +++ b/AWSAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuth' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -14,23 +14,23 @@ Pod::Spec.new do |s| s.requires_arc = true s.subspec 'Core' do |authcore| - authcore.dependency 'AWSAuthCore', '2.34.2' + authcore.dependency 'AWSAuthCore', '2.35.0' end s.subspec 'FacebookSignIn' do |facebook| - facebook.dependency 'AWSFacebookSignIn', '2.34.2' + facebook.dependency 'AWSFacebookSignIn', '2.35.0' end s.subspec 'GoogleSignIn' do |google| - google.dependency 'AWSGoogleSignIn', '2.34.2' + google.dependency 'AWSGoogleSignIn', '2.35.0' end s.subspec 'UserPoolsSignIn' do |up| - up.dependency 'AWSUserPoolsSignIn', '2.34.2' + up.dependency 'AWSUserPoolsSignIn', '2.35.0' end s.subspec 'UI' do |ui| - ui.dependency 'AWSAuthUI', '2.34.2' + ui.dependency 'AWSAuthUI', '2.35.0' end end diff --git a/AWSAuthCore.podspec b/AWSAuthCore.podspec index f365cf9bd6d..b954059e4d7 100644 --- a/AWSAuthCore.podspec +++ b/AWSAuthCore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthCore' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSAuthSDK/Sources/AWSAuthCore/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSAuthCore/*.h' s.resource_bundle = { 'AWSAuthCore' => ['AWSAuthSDK/Sources/AWSAuthCore/PrivacyInfo.xcprivacy']} diff --git a/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist b/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist index a556eace8aa..79f7950b0df 100644 --- a/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist index a556eace8aa..79f7950b0df 100644 --- a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist index a556eace8aa..79f7950b0df 100644 --- a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist index a556eace8aa..79f7950b0df 100644 --- a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist index a556eace8aa..79f7950b0df 100644 --- a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist index d0603eadd0b..1735f8accfc 100644 --- a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist index d0603eadd0b..1735f8accfc 100644 --- a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist index a556eace8aa..79f7950b0df 100644 --- a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthUI.podspec b/AWSAuthUI.podspec index 85c2cccb5a9..e5f208c7fb1 100644 --- a/AWSAuthUI.podspec +++ b/AWSAuthUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthUI' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' - s.dependency 'AWSAuthCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' + s.dependency 'AWSAuthCore', '2.35.0' s.source_files = 'AWSAuthSDK/Sources/AWSAuthUI/*.{h,m}', 'AWSAuthSDK/Sources/AWSAuthUI/**/*.{h,m}', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSFormTableCell.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSTableInputCell.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSFormTableDelegate.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSUserPoolsUIHelper.h' s.public_header_files = 'AWSAuthSDK/Sources/AWSAuthUI/AWSAuthUI.h', 'AWSAuthSDK/Sources/AWSAuthUI/AWSAuthUIViewController.h', 'AWSAuthSDK/Sources/AWSAuthUI/AWSAuthUIConfiguration.h' s.private_header_files = 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSFormTableCell.h', 'AWSAuthSDK/Sources/AWSAuthUI/AWSSignInViewController.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSTableInputCell.h', 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/AWSFormTableDelegate.h' diff --git a/AWSAutoScaling.podspec b/AWSAutoScaling.podspec index e73f8b4aa2e..36af0c5b56d 100644 --- a/AWSAutoScaling.podspec +++ b/AWSAutoScaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAutoScaling' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSAutoScaling/*.{h,m}' s.resource_bundle = { 'AWSAutoScaling' => ['AWSAutoScaling/PrivacyInfo.xcprivacy']} end diff --git a/AWSAutoScaling/AWSAutoScalingService.m b/AWSAutoScaling/AWSAutoScalingService.m index 95d6add44c7..c229c911abe 100644 --- a/AWSAutoScaling/AWSAutoScalingService.m +++ b/AWSAutoScaling/AWSAutoScalingService.m @@ -25,7 +25,7 @@ #import "AWSAutoScalingResources.h" static NSString *const AWSInfoAutoScaling = @"AutoScaling"; -NSString *const AWSAutoScalingSDKVersion = @"2.34.2"; +NSString *const AWSAutoScalingSDKVersion = @"2.35.0"; @interface AWSAutoScalingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSAutoScaling/Info.plist b/AWSAutoScaling/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSAutoScaling/Info.plist +++ b/AWSAutoScaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKIdentity.podspec b/AWSChimeSDKIdentity.podspec index e6c7f1c8e8d..ea4b3c35f3a 100644 --- a/AWSChimeSDKIdentity.podspec +++ b/AWSChimeSDKIdentity.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKIdentity' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSChimeSDKIdentity/*.{h,m}' s.resource_bundle = { 'AWSChimeSDKIdentity' => ['AWSChimeSDKIdentity/PrivacyInfo.xcprivacy']} end diff --git a/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m b/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m index 9ec6402480b..816612b8184 100644 --- a/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m +++ b/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m @@ -25,7 +25,7 @@ #import "AWSChimeSDKIdentityResources.h" static NSString *const AWSInfoChimeSDKIdentity = @"ChimeSDKIdentity"; -NSString *const AWSChimeSDKIdentitySDKVersion = @"2.34.2"; +NSString *const AWSChimeSDKIdentitySDKVersion = @"2.35.0"; @interface AWSChimeSDKIdentityResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKIdentity/Info.plist b/AWSChimeSDKIdentity/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSChimeSDKIdentity/Info.plist +++ b/AWSChimeSDKIdentity/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKMessaging.podspec b/AWSChimeSDKMessaging.podspec index a5c4e8a0189..8fe13a48c64 100644 --- a/AWSChimeSDKMessaging.podspec +++ b/AWSChimeSDKMessaging.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKMessaging' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSChimeSDKMessaging/*.{h,m}' s.resource_bundle = { 'AWSChimeSDKMessaging' => ['AWSChimeSDKMessaging/PrivacyInfo.xcprivacy']} end diff --git a/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m b/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m index aeecf0cf90a..9d7a0c0f45b 100644 --- a/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m +++ b/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m @@ -25,7 +25,7 @@ #import "AWSChimeSDKMessagingResources.h" static NSString *const AWSInfoChimeSDKMessaging = @"ChimeSDKMessaging"; -NSString *const AWSChimeSDKMessagingSDKVersion = @"2.34.2"; +NSString *const AWSChimeSDKMessagingSDKVersion = @"2.35.0"; @interface AWSChimeSDKMessagingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKMessaging/Info.plist b/AWSChimeSDKMessaging/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSChimeSDKMessaging/Info.plist +++ b/AWSChimeSDKMessaging/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCloudWatch.podspec b/AWSCloudWatch.podspec index d44509c4723..34c92482a55 100644 --- a/AWSCloudWatch.podspec +++ b/AWSCloudWatch.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCloudWatch' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSCloudWatch/*.{h,m}' s.resource_bundle = { 'AWSCloudWatch' => ['AWSCloudWatch/PrivacyInfo.xcprivacy']} end diff --git a/AWSCloudWatch/AWSCloudWatchService.m b/AWSCloudWatch/AWSCloudWatchService.m index e6c751a2c09..99d4cbad0d3 100644 --- a/AWSCloudWatch/AWSCloudWatchService.m +++ b/AWSCloudWatch/AWSCloudWatchService.m @@ -26,7 +26,7 @@ #import "AWSCloudWatchResources.h" static NSString *const AWSInfoCloudWatch = @"CloudWatch"; -NSString *const AWSCloudWatchSDKVersion = @"2.34.2"; +NSString *const AWSCloudWatchSDKVersion = @"2.35.0"; @interface AWSCloudWatchResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSCloudWatch/Info.plist b/AWSCloudWatch/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSCloudWatch/Info.plist +++ b/AWSCloudWatch/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoAuth.podspec b/AWSCognitoAuth.podspec index 71396fa51ba..a87644f393b 100644 --- a/AWSCognitoAuth.podspec +++ b/AWSCognitoAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoAuth' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Cognito Auth SDK for iOS' s.description = 'Amazon Cognito Auth enables sign up and authentication of your end users via a hosted UI' @@ -13,8 +13,8 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' - s.dependency 'AWSCognitoIdentityProviderASF', '2.34.2' + s.dependency 'AWSCore', '2.35.0' + s.dependency 'AWSCognitoIdentityProviderASF', '2.35.0' s.source_files = 'AWSCognitoAuth/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoAuth/*.h' diff --git a/AWSCognitoAuth/AWSCognitoAuth.m b/AWSCognitoAuth/AWSCognitoAuth.m index e221109e3c4..3aea2899069 100644 --- a/AWSCognitoAuth/AWSCognitoAuth.m +++ b/AWSCognitoAuth/AWSCognitoAuth.m @@ -80,7 +80,7 @@ @interface AWSCognitoAuthConfiguration() @implementation AWSCognitoAuth -NSString *const AWSCognitoAuthSDKVersion = @"2.34.2"; +NSString *const AWSCognitoAuthSDKVersion = @"2.35.0"; static NSMutableDictionary *_instanceDictionary = nil; diff --git a/AWSCognitoAuth/Info.plist b/AWSCognitoAuth/Info.plist index 6b77ff15aab..6a3b6130a00 100644 --- a/AWSCognitoAuth/Info.plist +++ b/AWSCognitoAuth/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProvider.podspec b/AWSCognitoIdentityProvider.podspec index 0c0d97c40dd..11a0e251944 100644 --- a/AWSCognitoIdentityProvider.podspec +++ b/AWSCognitoIdentityProvider.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProvider' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Cognito Identity Provider SDK for iOS (Beta)' s.description = 'Amazon Cognito Identity Provider enables sign up and authentication of your end users' @@ -13,8 +13,8 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true s.frameworks = 'Security', 'UIKit' - s.dependency 'AWSCore', '2.34.2' - s.dependency 'AWSCognitoIdentityProviderASF', '2.34.2' + s.dependency 'AWSCore', '2.35.0' + s.dependency 'AWSCognitoIdentityProviderASF', '2.35.0' s.source_files = 'AWSCognitoIdentityProvider/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoIdentityProvider/*.h' diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m index c1d0a3bf697..77bba2ccb33 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m @@ -25,7 +25,7 @@ #import "AWSCognitoIdentityProviderResources.h" static NSString *const AWSInfoCognitoIdentityProvider = @"CognitoIdentityProvider"; -NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.34.2"; +NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.35.0"; @interface AWSCognitoIdentityProviderResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSCognitoIdentityProvider/Info.plist b/AWSCognitoIdentityProvider/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSCognitoIdentityProvider/Info.plist +++ b/AWSCognitoIdentityProvider/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProviderASF.podspec b/AWSCognitoIdentityProviderASF.podspec index 978a2557660..bb78690460a 100644 --- a/AWSCognitoIdentityProviderASF.podspec +++ b/AWSCognitoIdentityProviderASF.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProviderASF' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Cognito Identity Provider Advanced Security Features library (Beta)' s.description = 'Amazon Cognito Identity Provider ASF provides the information necessary to support adaptive authentication' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.public_header_files = 'AWSCognitoIdentityProviderASF/*.h' s.source_files = 'AWSCognitoIdentityProviderASF/**/*.{h,m,c}' s.private_header_files = 'AWSCognitoIdentityProviderASF/Internal/*.h' diff --git a/AWSCognitoIdentityProviderASF/Info.plist b/AWSCognitoIdentityProviderASF/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSCognitoIdentityProviderASF/Info.plist +++ b/AWSCognitoIdentityProviderASF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSComprehend.podspec b/AWSComprehend.podspec index cc9125992e5..8ca0bb3abe3 100644 --- a/AWSComprehend.podspec +++ b/AWSComprehend.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSComprehend' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSComprehend/*.{h,m}' s.resource_bundle = { 'AWSComprehend' => ['AWSComprehend/PrivacyInfo.xcprivacy']} end diff --git a/AWSComprehend/AWSComprehendService.m b/AWSComprehend/AWSComprehendService.m index 36f00089ec2..640d3b65446 100644 --- a/AWSComprehend/AWSComprehendService.m +++ b/AWSComprehend/AWSComprehendService.m @@ -25,7 +25,7 @@ #import "AWSComprehendResources.h" static NSString *const AWSInfoComprehend = @"Comprehend"; -NSString *const AWSComprehendSDKVersion = @"2.34.2"; +NSString *const AWSComprehendSDKVersion = @"2.35.0"; @interface AWSComprehendResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSComprehend/Info.plist b/AWSComprehend/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSComprehend/Info.plist +++ b/AWSComprehend/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnect.podspec b/AWSConnect.podspec index 24a6dd7a189..51cbfc0fa04 100644 --- a/AWSConnect.podspec +++ b/AWSConnect.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnect' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSConnect/*.{h,m}' s.resource_bundle = { 'AWSConnect' => ['AWSConnect/PrivacyInfo.xcprivacy']} end diff --git a/AWSConnect/AWSConnectService.m b/AWSConnect/AWSConnectService.m index 70c9b0044c7..1e99686fa8e 100644 --- a/AWSConnect/AWSConnectService.m +++ b/AWSConnect/AWSConnectService.m @@ -25,7 +25,7 @@ #import "AWSConnectResources.h" static NSString *const AWSInfoConnect = @"Connect"; -NSString *const AWSConnectSDKVersion = @"2.34.2"; +NSString *const AWSConnectSDKVersion = @"2.35.0"; @interface AWSConnectResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSConnect/Info.plist b/AWSConnect/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSConnect/Info.plist +++ b/AWSConnect/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnectParticipant.podspec b/AWSConnectParticipant.podspec index 91585c102bc..8ae138b255e 100644 --- a/AWSConnectParticipant.podspec +++ b/AWSConnectParticipant.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnectParticipant' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSConnectParticipant/*.{h,m}' s.resource_bundle = { 'AWSConnectParticipant' => ['AWSConnectParticipant/PrivacyInfo.xcprivacy']} end diff --git a/AWSConnectParticipant/AWSConnectParticipantService.m b/AWSConnectParticipant/AWSConnectParticipantService.m index 3ea708ef401..a2e06d23119 100644 --- a/AWSConnectParticipant/AWSConnectParticipantService.m +++ b/AWSConnectParticipant/AWSConnectParticipantService.m @@ -25,7 +25,7 @@ #import "AWSConnectParticipantResources.h" static NSString *const AWSInfoConnectParticipant = @"ConnectParticipant"; -NSString *const AWSConnectParticipantSDKVersion = @"2.34.2"; +NSString *const AWSConnectParticipantSDKVersion = @"2.35.0"; @interface AWSConnectParticipantResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSConnectParticipant/Info.plist b/AWSConnectParticipant/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSConnectParticipant/Info.plist +++ b/AWSConnectParticipant/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCore.podspec b/AWSCore.podspec index daa67299a1a..d3c3f53de18 100644 --- a/AWSCore.podspec +++ b/AWSCore.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSCore' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' diff --git a/AWSCore/Info.plist b/AWSCore/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSCore/Info.plist +++ b/AWSCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCore/Service/AWSService.m b/AWSCore/Service/AWSService.m index 402986a3a8f..2e9460d4d6f 100644 --- a/AWSCore/Service/AWSService.m +++ b/AWSCore/Service/AWSService.m @@ -21,7 +21,7 @@ #import "AWSCocoaLumberjack.h" #import "AWSCategory.h" -NSString *const AWSiOSSDKVersion = @"2.34.2"; +NSString *const AWSiOSSDKVersion = @"2.35.0"; NSString *const AWSServiceErrorDomain = @"com.amazonaws.AWSServiceErrorDomain"; static NSString *const AWSServiceConfigurationUnknown = @"Unknown"; diff --git a/AWSDynamoDB.podspec b/AWSDynamoDB.podspec index f3d6ee85b3d..a1a315a8c4b 100644 --- a/AWSDynamoDB.podspec +++ b/AWSDynamoDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSDynamoDB' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSDynamoDB/*.{h,m}' s.resource_bundle = { 'AWSDynamoDB' => ['AWSDynamoDB/PrivacyInfo.xcprivacy']} end diff --git a/AWSDynamoDB/AWSDynamoDBService.m b/AWSDynamoDB/AWSDynamoDBService.m index 8a2cf6314b4..e8ec4f25298 100644 --- a/AWSDynamoDB/AWSDynamoDBService.m +++ b/AWSDynamoDB/AWSDynamoDBService.m @@ -26,7 +26,7 @@ #import "AWSDynamoDBRequestRetryHandler.h" static NSString *const AWSInfoDynamoDB = @"DynamoDB"; -NSString *const AWSDynamoDBSDKVersion = @"2.34.2"; +NSString *const AWSDynamoDBSDKVersion = @"2.35.0"; @interface AWSDynamoDBResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSDynamoDB/Info.plist b/AWSDynamoDB/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSDynamoDB/Info.plist +++ b/AWSDynamoDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSEC2.podspec b/AWSEC2.podspec index a9da45ae3aa..08fc93145e7 100644 --- a/AWSEC2.podspec +++ b/AWSEC2.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSEC2' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSEC2/*.{h,m}' s.resource_bundle = { 'AWSEC2' => ['AWSEC2/PrivacyInfo.xcprivacy']} end diff --git a/AWSEC2/AWSEC2Service.m b/AWSEC2/AWSEC2Service.m index 4b15f3d18c6..71c3556d775 100644 --- a/AWSEC2/AWSEC2Service.m +++ b/AWSEC2/AWSEC2Service.m @@ -26,7 +26,7 @@ #import "AWSEC2Serializer.h" static NSString *const AWSInfoEC2 = @"EC2"; -NSString *const AWSEC2SDKVersion = @"2.34.2"; +NSString *const AWSEC2SDKVersion = @"2.35.0"; @interface AWSEC2ResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSEC2/Info.plist b/AWSEC2/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSEC2/Info.plist +++ b/AWSEC2/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSElasticLoadBalancing.podspec b/AWSElasticLoadBalancing.podspec index 6158851cda8..da027702e18 100644 --- a/AWSElasticLoadBalancing.podspec +++ b/AWSElasticLoadBalancing.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSElasticLoadBalancing' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSElasticLoadBalancing/*.{h,m}' s.resource_bundle = { 'AWSElasticLoadBalancing' => ['AWSElasticLoadBalancing/PrivacyInfo.xcprivacy']} end diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m index a919788056e..65706103002 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m @@ -25,7 +25,7 @@ #import "AWSElasticLoadBalancingResources.h" static NSString *const AWSInfoElasticLoadBalancing = @"ElasticLoadBalancing"; -NSString *const AWSElasticLoadBalancingSDKVersion = @"2.34.2"; +NSString *const AWSElasticLoadBalancingSDKVersion = @"2.35.0"; @interface AWSElasticLoadBalancingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSElasticLoadBalancing/Info.plist b/AWSElasticLoadBalancing/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSElasticLoadBalancing/Info.plist +++ b/AWSElasticLoadBalancing/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSFacebookSignIn.podspec b/AWSFacebookSignIn.podspec index 70b0f189a6f..6c103234fb0 100644 --- a/AWSFacebookSignIn.podspec +++ b/AWSFacebookSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSFacebookSignIn' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSAuthCore', '2.34.2' - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSAuthCore', '2.35.0' + s.dependency 'AWSCore', '2.35.0' s.dependency 'FBSDKLoginKit', '9.0' s.dependency 'FBSDKCoreKit', '9.0' diff --git a/AWSGoogleSignIn.podspec b/AWSGoogleSignIn.podspec index 28558e5838a..224a1c2f0bc 100644 --- a/AWSGoogleSignIn.podspec +++ b/AWSGoogleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSGoogleSignIn' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSAuthCore', '2.34.2' - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSAuthCore', '2.35.0' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSAuthSDK/Sources/AWSGoogleSignIn/*.{h,m}', 'AWSAuthSDK/Dependencies/GoogleHeaders/*.h' s.public_header_files = 'AWSAuthSDK/Sources/AWSGoogleSignIn/*.h' s.private_header_files = 'AWSAuthSDK/Dependencies/GoogleHeaders/*.h' diff --git a/AWSIoT.podspec b/AWSIoT.podspec index cee417463ce..826644c719f 100644 --- a/AWSIoT.podspec +++ b/AWSIoT.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSIoT' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSIoT/*.{h,m}', 'AWSIoT/**/*.{h,m}' s.private_header_files = 'AWSIoT/Internal/*.h' s.resource_bundle = { 'AWSIoT' => ['AWSIoT/PrivacyInfo.xcprivacy']} diff --git a/AWSIoT/AWSIoTDataService.m b/AWSIoT/AWSIoTDataService.m index d3b8668c7e3..7f58193d620 100644 --- a/AWSIoT/AWSIoTDataService.m +++ b/AWSIoT/AWSIoTDataService.m @@ -25,7 +25,7 @@ #import "AWSIoTDataResources.h" static NSString *const AWSInfoIoTData = @"IoTData"; -NSString *const AWSIoTDataSDKVersion = @"2.34.2"; +NSString *const AWSIoTDataSDKVersion = @"2.35.0"; @interface AWSIoTDataResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/AWSIoTService.m b/AWSIoT/AWSIoTService.m index a233b0564b4..55c65f54676 100644 --- a/AWSIoT/AWSIoTService.m +++ b/AWSIoT/AWSIoTService.m @@ -25,7 +25,7 @@ #import "AWSIoTResources.h" static NSString *const AWSInfoIoT = @"IoT"; -NSString *const AWSIoTSDKVersion = @"2.34.2"; +NSString *const AWSIoTSDKVersion = @"2.35.0"; @interface AWSIoTResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/Info.plist b/AWSIoT/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSIoT/Info.plist +++ b/AWSIoT/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKMS.podspec b/AWSKMS.podspec index f0a5bfb85d4..95f8a10b727 100644 --- a/AWSKMS.podspec +++ b/AWSKMS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKMS' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSKMS/*.{h,m}' s.resource_bundle = { 'AWSKMS' => ['AWSKMS/PrivacyInfo.xcprivacy']} end diff --git a/AWSKMS/AWSKMSService.m b/AWSKMS/AWSKMSService.m index 15eecd2de9a..6dbdc50dfb5 100644 --- a/AWSKMS/AWSKMSService.m +++ b/AWSKMS/AWSKMSService.m @@ -25,7 +25,7 @@ #import "AWSKMSResources.h" static NSString *const AWSInfoKMS = @"KMS"; -NSString *const AWSKMSSDKVersion = @"2.34.2"; +NSString *const AWSKMSSDKVersion = @"2.35.0"; @interface AWSKMSResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKMS/Info.plist b/AWSKMS/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSKMS/Info.plist +++ b/AWSKMS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesis.podspec b/AWSKinesis.podspec index a8ff1c87bb7..15792b6f228 100644 --- a/AWSKinesis.podspec +++ b/AWSKinesis.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesis' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSKinesis/*.{h,m}', 'AWSKinesis/**/*.{h,m}' s.private_header_files = 'AWSKinesis/Internal/*.h' s.resource_bundle = { 'AWSKinesis' => ['AWSKinesis/PrivacyInfo.xcprivacy']} diff --git a/AWSKinesis/AWSFirehoseService.m b/AWSKinesis/AWSFirehoseService.m index 8f26a842e8d..502aeece056 100644 --- a/AWSKinesis/AWSFirehoseService.m +++ b/AWSKinesis/AWSFirehoseService.m @@ -26,7 +26,7 @@ #import "AWSFirehoseSerializer.h" static NSString *const AWSInfoFirehose = @"Firehose"; -NSString *const AWSFirehoseSDKVersion = @"2.34.2"; +NSString *const AWSFirehoseSDKVersion = @"2.35.0"; @interface AWSFirehoseResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/AWSKinesisService.m b/AWSKinesis/AWSKinesisService.m index 9ae39f5877d..18c7fe5e69e 100644 --- a/AWSKinesis/AWSKinesisService.m +++ b/AWSKinesis/AWSKinesisService.m @@ -28,7 +28,7 @@ #import "AWSKinesisSerializer.h" static NSString *const AWSInfoKinesis = @"Kinesis"; -NSString *const AWSKinesisSDKVersion = @"2.34.2"; +NSString *const AWSKinesisSDKVersion = @"2.35.0"; @interface AWSKinesisResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/Info.plist b/AWSKinesis/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSKinesis/Info.plist +++ b/AWSKinesis/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideo.podspec b/AWSKinesisVideo.podspec index 62ceb0fe058..b6b218b63da 100644 --- a/AWSKinesisVideo.podspec +++ b/AWSKinesisVideo.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideo' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSKinesisVideo/*.{h,m}' s.resource_bundle = { 'AWSKinesisVideo' => ['AWSKinesisVideo/PrivacyInfo.xcprivacy']} end diff --git a/AWSKinesisVideo/AWSKinesisVideoService.m b/AWSKinesisVideo/AWSKinesisVideoService.m index 79b0b06c556..588199377d8 100644 --- a/AWSKinesisVideo/AWSKinesisVideoService.m +++ b/AWSKinesisVideo/AWSKinesisVideoService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoResources.h" static NSString *const AWSInfoKinesisVideo = @"KinesisVideo"; -NSString *const AWSKinesisVideoSDKVersion = @"2.34.2"; +NSString *const AWSKinesisVideoSDKVersion = @"2.35.0"; @interface AWSKinesisVideoResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideo/Info.plist b/AWSKinesisVideo/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSKinesisVideo/Info.plist +++ b/AWSKinesisVideo/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoArchivedMedia.podspec b/AWSKinesisVideoArchivedMedia.podspec index 39db63005c6..aaf30f318cd 100644 --- a/AWSKinesisVideoArchivedMedia.podspec +++ b/AWSKinesisVideoArchivedMedia.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoArchivedMedia' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSKinesisVideoArchivedMedia/*.{h,m}' s.resource_bundle = { 'AWSKinesisVideoArchivedMedia' => ['AWSKinesisVideoArchivedMedia/PrivacyInfo.xcprivacy']} end diff --git a/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m b/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m index be5edd9f831..cf727fcc0c3 100644 --- a/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m +++ b/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoArchivedMediaResources.h" static NSString *const AWSInfoKinesisVideoArchivedMedia = @"KinesisVideoArchivedMedia"; -NSString *const AWSKinesisVideoArchivedMediaSDKVersion = @"2.34.2"; +NSString *const AWSKinesisVideoArchivedMediaSDKVersion = @"2.35.0"; @interface AWSKinesisVideoArchivedMediaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoArchivedMedia/Info.plist b/AWSKinesisVideoArchivedMedia/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSKinesisVideoArchivedMedia/Info.plist +++ b/AWSKinesisVideoArchivedMedia/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoSignaling.podspec b/AWSKinesisVideoSignaling.podspec index b947770bb96..2b055b92a2a 100644 --- a/AWSKinesisVideoSignaling.podspec +++ b/AWSKinesisVideoSignaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoSignaling' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSKinesisVideoSignaling/*.{h,m}' s.resource_bundle = { 'AWSKinesisVideoSignaling' => ['AWSKinesisVideoSignaling/PrivacyInfo.xcprivacy']} end diff --git a/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m b/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m index 7267a2aba2b..55be5c273b0 100644 --- a/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m +++ b/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoSignalingResources.h" static NSString *const AWSInfoKinesisVideoSignaling = @"KinesisVideoSignaling"; -NSString *const AWSKinesisVideoSignalingSDKVersion = @"2.34.2"; +NSString *const AWSKinesisVideoSignalingSDKVersion = @"2.35.0"; @interface AWSKinesisVideoSignalingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoSignaling/Info.plist b/AWSKinesisVideoSignaling/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSKinesisVideoSignaling/Info.plist +++ b/AWSKinesisVideoSignaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoWebRTCStorage.podspec b/AWSKinesisVideoWebRTCStorage.podspec index 6e75fed5d88..e8a2fcfce7b 100644 --- a/AWSKinesisVideoWebRTCStorage.podspec +++ b/AWSKinesisVideoWebRTCStorage.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoWebRTCStorage' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSKinesisVideoWebRTCStorage/*.{h,m}' s.resource_bundle = { 'AWSKinesisVideoWebRTCStorage' => ['AWSKinesisVideoWebRTCStorage/PrivacyInfo.xcprivacy']} end diff --git a/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m b/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m index 8975b1d611c..2bbe0c2617f 100644 --- a/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m +++ b/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoWebRTCStorageResources.h" static NSString *const AWSInfoKinesisVideoWebRTCStorage = @"KinesisVideoWebRTCStorage"; -NSString *const AWSKinesisVideoWebRTCStorageSDKVersion = @"2.34.2"; +NSString *const AWSKinesisVideoWebRTCStorageSDKVersion = @"2.35.0"; @interface AWSKinesisVideoWebRTCStorageResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoWebRTCStorage/Info.plist b/AWSKinesisVideoWebRTCStorage/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSKinesisVideoWebRTCStorage/Info.plist +++ b/AWSKinesisVideoWebRTCStorage/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLambda.podspec b/AWSLambda.podspec index 4b605b8ccf9..870f79b5c47 100644 --- a/AWSLambda.podspec +++ b/AWSLambda.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLambda' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSLambda/*.{h,m}' s.resource_bundle = { 'AWSLambda' => ['AWSLambda/PrivacyInfo.xcprivacy']} end diff --git a/AWSLambda/AWSLambdaService.m b/AWSLambda/AWSLambdaService.m index cc75775b696..ddc3c1f7d33 100644 --- a/AWSLambda/AWSLambdaService.m +++ b/AWSLambda/AWSLambdaService.m @@ -26,7 +26,7 @@ #import "AWSLambdaRequestRetryHandler.h" static NSString *const AWSInfoLambda = @"Lambda"; -NSString *const AWSLambdaSDKVersion = @"2.34.2"; +NSString *const AWSLambdaSDKVersion = @"2.35.0"; @interface AWSLambdaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLambda/Info.plist b/AWSLambda/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSLambda/Info.plist +++ b/AWSLambda/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLex.podspec b/AWSLex.podspec index fe5659747c8..1ba59d1ae63 100644 --- a/AWSLex.podspec +++ b/AWSLex.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLex' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSLex/*.{h,m}', 'AWSLex/Bluefront/include/*.h' s.public_header_files = 'AWSLex/*.h' s.private_header_files = 'AWSLex/Bluefront/include/*.h' diff --git a/AWSLex/AWSLexInteractionKit.m b/AWSLex/AWSLexInteractionKit.m index 615f077fd00..8816e7678d2 100644 --- a/AWSLex/AWSLexInteractionKit.m +++ b/AWSLex/AWSLexInteractionKit.m @@ -22,7 +22,7 @@ #import NSString *const AWSInfoInteractionKit = @"LexInteractionKit"; -NSString *const AWSInteractionKitSDKVersion = @"2.34.2"; +NSString *const AWSInteractionKitSDKVersion = @"2.35.0"; NSString *const AWSInternalLexInteractionKit = @"LexInteractionKitClient"; NSString *const AWSLexInteractionKitUserAgent = @"interactionkit"; NSString *const AWSLexInteractionKitErrorDomain = @"com.amazonaws.AWSLexInteractionKitErrorDomain"; diff --git a/AWSLex/AWSLexService.m b/AWSLex/AWSLexService.m index 6ee31aebb56..bcda6fa0543 100644 --- a/AWSLex/AWSLexService.m +++ b/AWSLex/AWSLexService.m @@ -27,7 +27,7 @@ #import "AWSLexSignature.h" static NSString *const AWSInfoLex = @"Lex"; -NSString *const AWSLexSDKVersion = @"2.34.2"; +NSString *const AWSLexSDKVersion = @"2.35.0"; @interface AWSLexResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLex/Info.plist b/AWSLex/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSLex/Info.plist +++ b/AWSLex/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocation.podspec b/AWSLocation.podspec index b46b285c5e9..cf17b2b5b39 100644 --- a/AWSLocation.podspec +++ b/AWSLocation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLocation' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSLocation/*.{h,m}', 'AWSLocation/AWSLocationTracker/**/*.swift' s.resource_bundle = { 'AWSLocation' => ['AWSLocation/PrivacyInfo.xcprivacy']} end diff --git a/AWSLocation/AWSLocationService.m b/AWSLocation/AWSLocationService.m index 3a8e905e7e8..4f78a424e5e 100644 --- a/AWSLocation/AWSLocationService.m +++ b/AWSLocation/AWSLocationService.m @@ -25,7 +25,7 @@ #import "AWSLocationResources.h" static NSString *const AWSInfoLocation = @"Location"; -NSString *const AWSLocationSDKVersion = @"2.34.2"; +NSString *const AWSLocationSDKVersion = @"2.35.0"; @interface AWSLocationResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLocation/Info.plist b/AWSLocation/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSLocation/Info.plist +++ b/AWSLocation/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocationXCF/Info.plist b/AWSLocationXCF/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSLocationXCF/Info.plist +++ b/AWSLocationXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLogs.podspec b/AWSLogs.podspec index 2da5e41c095..6b94a4b4fb5 100644 --- a/AWSLogs.podspec +++ b/AWSLogs.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLogs' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSLogs/*.{h,m}' s.resource_bundle = { 'AWSLogs' => ['AWSLogs/PrivacyInfo.xcprivacy']} end diff --git a/AWSLogs/AWSLogsService.m b/AWSLogs/AWSLogsService.m index bb3b6b0f6eb..14fb23e0968 100644 --- a/AWSLogs/AWSLogsService.m +++ b/AWSLogs/AWSLogsService.m @@ -25,7 +25,7 @@ #import "AWSLogsResources.h" static NSString *const AWSInfoLogs = @"Logs"; -NSString *const AWSLogsSDKVersion = @"2.34.2"; +NSString *const AWSLogsSDKVersion = @"2.35.0"; @interface AWSLogsResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLogs/Info.plist b/AWSLogs/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSLogs/Info.plist +++ b/AWSLogs/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMachineLearning.podspec b/AWSMachineLearning.podspec index f35f5ea0b97..fd15fd9a034 100644 --- a/AWSMachineLearning.podspec +++ b/AWSMachineLearning.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMachineLearning' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSMachineLearning/*.{h,m}' s.resource_bundle = { 'AWSMachineLearning' => ['AWSMachineLearning/PrivacyInfo.xcprivacy']} end diff --git a/AWSMachineLearning/AWSMachineLearningService.m b/AWSMachineLearning/AWSMachineLearningService.m index 2f89b788917..af319fb98f1 100644 --- a/AWSMachineLearning/AWSMachineLearningService.m +++ b/AWSMachineLearning/AWSMachineLearningService.m @@ -26,7 +26,7 @@ #import "AWSMachineLearningResources.h" static NSString *const AWSInfoMachineLearning = @"MachineLearning"; -NSString *const AWSMachineLearningSDKVersion = @"2.34.2"; +NSString *const AWSMachineLearningSDKVersion = @"2.35.0"; @interface AWSMachineLearningResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSMachineLearning/Info.plist b/AWSMachineLearning/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSMachineLearning/Info.plist +++ b/AWSMachineLearning/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMobileClient.podspec b/AWSMobileClient.podspec index cb3b65eaf0c..c31f1977cd2 100644 --- a/AWSMobileClient.podspec +++ b/AWSMobileClient.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMobileClient' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -13,14 +13,14 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true - s.dependency 'AWSAuthCore', '2.34.2' - s.dependency 'AWSCognitoIdentityProvider', '2.34.2' + s.dependency 'AWSAuthCore', '2.35.0' + s.dependency 'AWSCognitoIdentityProvider', '2.35.0' # Include transitive dependencies to help CocoaPods resolve deeply nested # dependency graphs; without this we get sporadic failures compiling when a # project relies on AWSMobileClient - s.dependency 'AWSCore', '2.34.2' - s.dependency 'AWSCognitoIdentityProviderASF', '2.34.2' + s.dependency 'AWSCore', '2.35.0' + s.dependency 'AWSCognitoIdentityProviderASF', '2.35.0' s.source_files = 'AWSAuthSDK/Sources/AWSMobileClient/*.{h,m}', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/*.{h,m}', 'AWSAuthSDK/Sources/AWSMobileClient/**/*.swift', 'AWSCognitoAuth/**/*.{h,m,c}' s.public_header_files = 'AWSAuthSDK/Sources/AWSMobileClient/AWSMobileClient.h', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/_AWSMobileClient.h', 'AWSCognitoAuth/*.h', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoAuth+Extensions.h', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoCredentialsProvider+Extension.h', 'AWSAuthSDK/Sources/AWSMobileClient/Internal/AWSCognitoIdentityUserPool+Extension.h' diff --git a/AWSPinpoint.podspec b/AWSPinpoint.podspec index 6556516b0e3..5d554d1d60f 100644 --- a/AWSPinpoint.podspec +++ b/AWSPinpoint.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPinpoint' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSPinpoint/*.{h,m}', 'AWSPinpoint/**/*.{h,m}' s.private_header_files = 'AWSPinpoint/Internal/*.h' s.resource_bundle = { 'AWSPinpoint' => ['AWSPinpoint/PrivacyInfo.xcprivacy']} diff --git a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m index 15260423660..7fe09b52f90 100644 --- a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m +++ b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m @@ -25,7 +25,7 @@ #import "AWSPinpointTargetingResources.h" static NSString *const AWSInfoPinpointTargeting = @"PinpointTargeting"; -NSString *const AWSPinpointTargetingSDKVersion = @"2.34.2"; +NSString *const AWSPinpointTargetingSDKVersion = @"2.35.0"; @interface AWSPinpointTargetingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPinpoint/Info.plist b/AWSPinpoint/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSPinpoint/Info.plist +++ b/AWSPinpoint/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSPolly.podspec b/AWSPolly.podspec index c6ac94e9dd6..7541a8656f3 100644 --- a/AWSPolly.podspec +++ b/AWSPolly.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPolly' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSPolly/*.{h,m}' s.resource_bundle = { 'AWSPolly' => ['AWSPolly/PrivacyInfo.xcprivacy']} end diff --git a/AWSPolly/AWSPollyService.m b/AWSPolly/AWSPollyService.m index 334e3bbc5c8..47b98113166 100644 --- a/AWSPolly/AWSPollyService.m +++ b/AWSPolly/AWSPollyService.m @@ -25,7 +25,7 @@ #import "AWSPollyResources.h" static NSString *const AWSInfoPolly = @"Polly"; -NSString *const AWSPollySDKVersion = @"2.34.2"; +NSString *const AWSPollySDKVersion = @"2.35.0"; @interface AWSPollyResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m b/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m index d40d05f561c..336bd3da6b6 100644 --- a/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m +++ b/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m @@ -16,7 +16,7 @@ #import "AWSPollySynthesizeSpeechURLBuilder.h" static NSString *const AWSInfoPollySynthesizeSpeechURLBuilder = @"PollySynthesizeSpeechUrlBuilder"; -static NSString *const AWSPollySDKVersion = @"2.34.2"; +static NSString *const AWSPollySDKVersion = @"2.35.0"; NSString *const AWSPollySynthesizeSpeechURLBuilderErrorDomain = @"com.amazonaws.AWSPollySynthesizeSpeechURLBuilderErrorDomain"; NSString *const AWSPollyPresignedUrlPath = @"v1/speech"; diff --git a/AWSPolly/Info.plist b/AWSPolly/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSPolly/Info.plist +++ b/AWSPolly/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSRekognition.podspec b/AWSRekognition.podspec index b28fcfc39e0..d44253efc14 100644 --- a/AWSRekognition.podspec +++ b/AWSRekognition.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSRekognition' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSRekognition/*.{h,m}' s.resource_bundle = { 'AWSRekognition' => ['AWSRekognition/PrivacyInfo.xcprivacy']} end diff --git a/AWSRekognition/AWSRekognitionService.m b/AWSRekognition/AWSRekognitionService.m index 85f4097ba95..2ae575e1021 100644 --- a/AWSRekognition/AWSRekognitionService.m +++ b/AWSRekognition/AWSRekognitionService.m @@ -25,7 +25,7 @@ #import "AWSRekognitionResources.h" static NSString *const AWSInfoRekognition = @"Rekognition"; -NSString *const AWSRekognitionSDKVersion = @"2.34.2"; +NSString *const AWSRekognitionSDKVersion = @"2.35.0"; @interface AWSRekognitionResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSRekognition/Info.plist b/AWSRekognition/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSRekognition/Info.plist +++ b/AWSRekognition/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSS3.podspec b/AWSS3.podspec index a3d9991dc6d..fcd149da3ae 100644 --- a/AWSS3.podspec +++ b/AWSS3.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSS3' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSS3/*.{h,m}' s.resource_bundle = { 'AWSS3' => ['AWSS3/PrivacyInfo.xcprivacy']} end diff --git a/AWSS3/AWSS3PreSignedURL.m b/AWSS3/AWSS3PreSignedURL.m index 2bc81929fdb..00b5af12331 100644 --- a/AWSS3/AWSS3PreSignedURL.m +++ b/AWSS3/AWSS3PreSignedURL.m @@ -26,7 +26,7 @@ static NSString *const AWSS3PreSignedURLBuilderAcceleratedEndpoint = @"s3-accelerate.amazonaws.com"; static NSString *const AWSInfoS3PreSignedURLBuilder = @"S3PreSignedURLBuilder"; -static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.34.2"; +static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.35.0"; @interface AWSS3PreSignedURLBuilder() diff --git a/AWSS3/AWSS3Service.m b/AWSS3/AWSS3Service.m index 942506cd71a..18d9303ebf1 100644 --- a/AWSS3/AWSS3Service.m +++ b/AWSS3/AWSS3Service.m @@ -27,7 +27,7 @@ #import "AWSS3Serializer.h" static NSString *const AWSInfoS3 = @"S3"; -NSString *const AWSS3SDKVersion = @"2.34.2"; +NSString *const AWSS3SDKVersion = @"2.35.0"; diff --git a/AWSS3/Info.plist b/AWSS3/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSS3/Info.plist +++ b/AWSS3/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSES.podspec b/AWSSES.podspec index b3d8c52a006..5b30e9cdab9 100644 --- a/AWSSES.podspec +++ b/AWSSES.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSES' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSSES/*.{h,m}' s.resource_bundle = { 'AWSSES' => ['AWSSES/PrivacyInfo.xcprivacy']} end diff --git a/AWSSES/AWSSESService.m b/AWSSES/AWSSESService.m index 8dfe200e1ef..e79baa9ae24 100644 --- a/AWSSES/AWSSESService.m +++ b/AWSSES/AWSSESService.m @@ -25,7 +25,7 @@ #import "AWSSESResources.h" static NSString *const AWSInfoSES = @"SES"; -NSString *const AWSSESSDKVersion = @"2.34.2"; +NSString *const AWSSESSDKVersion = @"2.35.0"; @interface AWSSESResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSES/Info.plist b/AWSSES/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSSES/Info.plist +++ b/AWSSES/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSNS.podspec b/AWSSNS.podspec index ed5774b70e1..531b3652b3c 100644 --- a/AWSSNS.podspec +++ b/AWSSNS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSNS' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSSNS/*.{h,m}' s.resource_bundle = { 'AWSSNS' => ['AWSSNS/PrivacyInfo.xcprivacy']} end diff --git a/AWSSNS/AWSSNSService.m b/AWSSNS/AWSSNSService.m index d403d8f664d..a48f915c732 100644 --- a/AWSSNS/AWSSNSService.m +++ b/AWSSNS/AWSSNSService.m @@ -25,7 +25,7 @@ #import "AWSSNSResources.h" static NSString *const AWSInfoSNS = @"SNS"; -NSString *const AWSSNSSDKVersion = @"2.34.2"; +NSString *const AWSSNSSDKVersion = @"2.35.0"; @interface AWSSNSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSNS/Info.plist b/AWSSNS/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSSNS/Info.plist +++ b/AWSSNS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSQS.podspec b/AWSSQS.podspec index d5b0ecf36f0..1c2b52a1f62 100644 --- a/AWSSQS.podspec +++ b/AWSSQS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSQS' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSSQS/*.{h,m}' s.resource_bundle = { 'AWSSQS' => ['AWSSQS/PrivacyInfo.xcprivacy']} end diff --git a/AWSSQS/AWSSQSService.m b/AWSSQS/AWSSQSService.m index df9d076db2d..400f1f9ac6a 100644 --- a/AWSSQS/AWSSQSService.m +++ b/AWSSQS/AWSSQSService.m @@ -25,7 +25,7 @@ #import "AWSSQSResources.h" static NSString *const AWSInfoSQS = @"SQS"; -NSString *const AWSSQSSDKVersion = @"2.34.2"; +NSString *const AWSSQSSDKVersion = @"2.35.0"; @interface AWSSQSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSQS/Info.plist b/AWSSQS/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSSQS/Info.plist +++ b/AWSSQS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSageMakerRuntime.podspec b/AWSSageMakerRuntime.podspec index c73790384d2..1c15b24dcb8 100644 --- a/AWSSageMakerRuntime.podspec +++ b/AWSSageMakerRuntime.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSageMakerRuntime' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSSageMakerRuntime/*.{h,m}' s.resource_bundle = { 'AWSSageMakerRuntime' => ['AWSSageMakerRuntime/PrivacyInfo.xcprivacy']} end diff --git a/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m b/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m index 5468a497135..8b7f26ba6dd 100644 --- a/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m +++ b/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m @@ -25,7 +25,7 @@ #import "AWSSageMakerRuntimeResources.h" static NSString *const AWSInfoSageMakerRuntime = @"SageMakerRuntime"; -NSString *const AWSSageMakerRuntimeSDKVersion = @"2.34.2"; +NSString *const AWSSageMakerRuntimeSDKVersion = @"2.35.0"; @interface AWSSageMakerRuntimeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSSageMakerRuntime/Info.plist b/AWSSageMakerRuntime/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSSageMakerRuntime/Info.plist +++ b/AWSSageMakerRuntime/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSimpleDB.podspec b/AWSSimpleDB.podspec index fab3626724d..4d6f4c25f80 100644 --- a/AWSSimpleDB.podspec +++ b/AWSSimpleDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSimpleDB' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSSimpleDB/*.{h,m}' s.resource_bundle = { 'AWSSimpleDB' => ['AWSSimpleDB/PrivacyInfo.xcprivacy']} end diff --git a/AWSSimpleDB/AWSSimpleDBService.m b/AWSSimpleDB/AWSSimpleDBService.m index 3e7ee683a50..735a315e8b4 100644 --- a/AWSSimpleDB/AWSSimpleDBService.m +++ b/AWSSimpleDB/AWSSimpleDBService.m @@ -25,7 +25,7 @@ #import "AWSSimpleDBResources.h" static NSString *const AWSInfoSimpleDB = @"SimpleDB"; -NSString *const AWSSimpleDBSDKVersion = @"2.34.2"; +NSString *const AWSSimpleDBSDKVersion = @"2.35.0"; @interface AWSSimpleDBResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSimpleDB/Info.plist b/AWSSimpleDB/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSSimpleDB/Info.plist +++ b/AWSSimpleDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTextract.podspec b/AWSTextract.podspec index f685dbb073a..72c35137360 100644 --- a/AWSTextract.podspec +++ b/AWSTextract.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTextract' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSTextract/*.{h,m}' s.resource_bundle = { 'AWSTextract' => ['AWSTextract/PrivacyInfo.xcprivacy']} end diff --git a/AWSTextract/AWSTextractService.m b/AWSTextract/AWSTextractService.m index fe177a928a2..d1e2f3a03ef 100644 --- a/AWSTextract/AWSTextractService.m +++ b/AWSTextract/AWSTextractService.m @@ -25,7 +25,7 @@ #import "AWSTextractResources.h" static NSString *const AWSInfoTextract = @"Textract"; -NSString *const AWSTextractSDKVersion = @"2.34.2"; +NSString *const AWSTextractSDKVersion = @"2.35.0"; @interface AWSTextractResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTextract/Info.plist b/AWSTextract/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSTextract/Info.plist +++ b/AWSTextract/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribe.podspec b/AWSTranscribe.podspec index 496beeedcfd..071db921cba 100644 --- a/AWSTranscribe.podspec +++ b/AWSTranscribe.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribe' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSTranscribe/*.{h,m}' s.resource_bundle = { 'AWSTranscribe' => ['AWSTranscribe/PrivacyInfo.xcprivacy']} end diff --git a/AWSTranscribe/AWSTranscribeService.m b/AWSTranscribe/AWSTranscribeService.m index 77cc391c141..2ad4142a0cc 100644 --- a/AWSTranscribe/AWSTranscribeService.m +++ b/AWSTranscribe/AWSTranscribeService.m @@ -25,7 +25,7 @@ #import "AWSTranscribeResources.h" static NSString *const AWSInfoTranscribe = @"Transcribe"; -NSString *const AWSTranscribeSDKVersion = @"2.34.2"; +NSString *const AWSTranscribeSDKVersion = @"2.35.0"; @interface AWSTranscribeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribe/Info.plist b/AWSTranscribe/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSTranscribe/Info.plist +++ b/AWSTranscribe/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribeStreaming.podspec b/AWSTranscribeStreaming.podspec index 51f1a4e9fa7..f1706d1f0f3 100644 --- a/AWSTranscribeStreaming.podspec +++ b/AWSTranscribeStreaming.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribeStreaming' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSTranscribeStreaming/*.{h,m}', 'AWSTranscribeStreaming/**/*.{h,m}', 'AWSIoT/Internal/SocketRocket/*.{h,m}' s.private_header_files = 'AWSTranscribeStreaming/Internal/*.h', 'AWSIoT/Internal/SocketRocket/*.h' s.resource_bundle = { 'AWSTranscribeStreaming' => ['AWSTranscribeStreaming/PrivacyInfo.xcprivacy']} diff --git a/AWSTranscribeStreaming/AWSTranscribeStreamingService.m b/AWSTranscribeStreaming/AWSTranscribeStreamingService.m index 918f06ecc9d..9f2a8be445e 100644 --- a/AWSTranscribeStreaming/AWSTranscribeStreamingService.m +++ b/AWSTranscribeStreaming/AWSTranscribeStreamingService.m @@ -33,7 +33,7 @@ NSString *const AWSTranscribeStreamingClientErrorDomain = @"com.amazonaws.AWSTranscribeStreamingClientErrorDomain"; static NSString *const AWSInfoTranscribeStreaming = @"TranscribeStreaming"; -NSString *const AWSTranscribeStreamingSDKVersion = @"2.34.2"; +NSString *const AWSTranscribeStreamingSDKVersion = @"2.35.0"; @interface AWSTranscribeStreamingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribeStreaming/Info.plist b/AWSTranscribeStreaming/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSTranscribeStreaming/Info.plist +++ b/AWSTranscribeStreaming/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranslate.podspec b/AWSTranslate.podspec index bc9728ffffb..989482dab7f 100644 --- a/AWSTranslate.podspec +++ b/AWSTranslate.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranslate' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSTranslate/*.{h,m}' s.resource_bundle = { 'AWSTranslate' => ['AWSTranslate/PrivacyInfo.xcprivacy']} end diff --git a/AWSTranslate/AWSTranslateService.m b/AWSTranslate/AWSTranslateService.m index f62ed8d8f4d..dd8735b0fe6 100644 --- a/AWSTranslate/AWSTranslateService.m +++ b/AWSTranslate/AWSTranslateService.m @@ -25,7 +25,7 @@ #import "AWSTranslateResources.h" static NSString *const AWSInfoTranslate = @"Translate"; -NSString *const AWSTranslateSDKVersion = @"2.34.2"; +NSString *const AWSTranslateSDKVersion = @"2.35.0"; @interface AWSTranslateResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranslate/Info.plist b/AWSTranslate/Info.plist index a9c4b4a160e..bdd9abedbdb 100644 --- a/AWSTranslate/Info.plist +++ b/AWSTranslate/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.34.2 + 2.35.0 CFBundleSignature ???? CFBundleVersion diff --git a/AWSUserPoolsSignIn.podspec b/AWSUserPoolsSignIn.podspec index 7a8554562ca..20fd11beb4b 100644 --- a/AWSUserPoolsSignIn.podspec +++ b/AWSUserPoolsSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSUserPoolsSignIn' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,9 +12,9 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCognitoIdentityProvider', '2.34.2' - s.dependency 'AWSAuthCore', '2.34.2' - s.dependency 'AWSCore', '2.34.2' + s.dependency 'AWSCognitoIdentityProvider', '2.35.0' + s.dependency 'AWSAuthCore', '2.35.0' + s.dependency 'AWSCore', '2.35.0' s.source_files = 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/**/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/*.{h}' s.private_header_files = 'AWSAuthSDK/Sources/AWSUserPoolsSignIn/UserPoolsUI/*.{h}' diff --git a/AWSiOSSDKv2.podspec b/AWSiOSSDKv2.podspec index 7955350bc5f..de4b85d3ced 100644 --- a/AWSiOSSDKv2.podspec +++ b/AWSiOSSDKv2.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSiOSSDKv2' - s.version = '2.34.2' + s.version = '2.35.0' s.summary = 'Amazon Web Services SDK for iOS.' s.deprecated = true @@ -18,135 +18,135 @@ Pod::Spec.new do |s| # Used by many of the service-api subspecs s.subspec 'AWSCognitoIdentityProvider' do |sub| - sub.dependency 'AWSCognitoIdentityProvider', '2.34.2' + sub.dependency 'AWSCognitoIdentityProvider', '2.35.0' end # Used by all service-api subspecs s.subspec 'AWSCore' do |sub| - sub.dependency 'AWSCore', '2.34.2' + sub.dependency 'AWSCore', '2.35.0' end # Service-api subspecs s.subspec 'AWSAPIGateway' do |sub| - sub.dependency 'AWSAPIGateway', '2.34.2' + sub.dependency 'AWSAPIGateway', '2.35.0' end s.subspec 'AutoScaling' do |sub| - sub.dependency 'AWSAutoScaling', '2.34.2' + sub.dependency 'AWSAutoScaling', '2.35.0' end s.subspec 'CloudWatch' do |sub| - sub.dependency 'AWSCloudWatch', '2.34.2' + sub.dependency 'AWSCloudWatch', '2.35.0' end s.subspec 'AWSComprehend' do |sub| - sub.dependency 'AWSComprehend', '2.34.2' + sub.dependency 'AWSComprehend', '2.35.0' end s.subspec 'AWSConnect' do |sub| - sub.dependency 'AWSConnect', '2.34.2' + sub.dependency 'AWSConnect', '2.35.0' end s.subspec 'AWSConnectParticipant' do |sub| - sub.dependency 'AWSConnectParticipant', '2.34.2' + sub.dependency 'AWSConnectParticipant', '2.35.0' end s.subspec 'DynamoDB' do |sub| - sub.dependency 'AWSDynamoDB', '2.34.2' + sub.dependency 'AWSDynamoDB', '2.35.0' end s.subspec 'EC2' do |sub| - sub.dependency 'AWSEC2', '2.34.2' + sub.dependency 'AWSEC2', '2.35.0' end s.subspec 'ElasticLoadBalancing' do |sub| - sub.dependency 'AWSElasticLoadBalancing', '2.34.2' + sub.dependency 'AWSElasticLoadBalancing', '2.35.0' end s.subspec 'AWSIoT' do |sub| - sub.dependency 'AWSIoT', '2.34.2' + sub.dependency 'AWSIoT', '2.35.0' end s.subspec 'AWSKMS' do |sub| - sub.dependency 'AWSKMS', '2.34.2' + sub.dependency 'AWSKMS', '2.35.0' end s.subspec 'Kinesis' do |sub| - sub.dependency 'AWSKinesis', '2.34.2' + sub.dependency 'AWSKinesis', '2.35.0' end # KinesisVideo not released as part of AWSiOSSDKv2 # KinesisVideoArchivedMedia not released as part of AWSiOSSDKv2 s.subspec 'KinesisVideoSignaling' do |sub| - sub.dependency 'AWSKinesisVideoSignaling', '2.34.2' + sub.dependency 'AWSKinesisVideoSignaling', '2.35.0' end s.subspec 'AWSLambda' do |sub| - sub.dependency 'AWSLambda', '2.34.2' + sub.dependency 'AWSLambda', '2.35.0' end s.subspec 'AWSLex' do |sub| - sub.dependency 'AWSLex', '2.34.2' + sub.dependency 'AWSLex', '2.35.0' end s.subspec 'AWSLogs' do |sub| - sub.dependency 'AWSLogs', '2.34.2' + sub.dependency 'AWSLogs', '2.35.0' end s.subspec 'AWSMachineLearning' do |sub| - sub.dependency 'AWSMachineLearning', '2.34.2' + sub.dependency 'AWSMachineLearning', '2.35.0' end s.subspec 'Pinpoint' do |sub| - sub.dependency 'AWSPinpoint', '2.34.2' + sub.dependency 'AWSPinpoint', '2.35.0' end s.subspec 'AWSPolly' do |sub| - sub.dependency 'AWSPolly', '2.34.2' + sub.dependency 'AWSPolly', '2.35.0' end s.subspec 'AWSRekognition' do |sub| - sub.dependency 'AWSRekognition', '2.34.2' + sub.dependency 'AWSRekognition', '2.35.0' end s.subspec 'AWSS3' do |sub| - sub.dependency 'AWSS3', '2.34.2' + sub.dependency 'AWSS3', '2.35.0' end s.subspec 'AWSSES' do |sub| - sub.dependency 'AWSSES', '2.34.2' + sub.dependency 'AWSSES', '2.35.0' end s.subspec 'AWSSNS' do |sub| - sub.dependency 'AWSSNS', '2.34.2' + sub.dependency 'AWSSNS', '2.35.0' end s.subspec 'AWSSQS' do |sub| - sub.dependency 'AWSSQS', '2.34.2' + sub.dependency 'AWSSQS', '2.35.0' end s.subspec 'AWSSageMakerRuntime' do |sub| - sub.dependency 'AWSSageMakerRuntime', '2.34.2' + sub.dependency 'AWSSageMakerRuntime', '2.35.0' end s.subspec 'AWSSimpleDB' do |sub| - sub.dependency 'AWSSimpleDB', '2.34.2' + sub.dependency 'AWSSimpleDB', '2.35.0' end s.subspec 'AWSTextract' do |sub| - sub.dependency 'AWSTextract', '2.34.2' + sub.dependency 'AWSTextract', '2.35.0' end s.subspec 'AWSTranscribe' do |sub| - sub.dependency 'AWSTranscribe', '2.34.2' + sub.dependency 'AWSTranscribe', '2.35.0' end # note that AWSTranscribeStreaming requires iOS 9.0 or higher, and is # therefore not included as a subspec s.subspec 'AWSTranslate' do |sub| - sub.dependency 'AWSTranslate', '2.34.2' + sub.dependency 'AWSTranslate', '2.35.0' end end diff --git a/CHANGELOG.md b/CHANGELOG.md index e653085a1a8..943989dc55a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +-Features for next release + +## 2.35.0 + ### Bug Fixes - **AWSIoT** diff --git a/CircleciScripts/generate_documentation.sh b/CircleciScripts/generate_documentation.sh index 5b2a0b83210..30636ae1141 100644 --- a/CircleciScripts/generate_documentation.sh +++ b/CircleciScripts/generate_documentation.sh @@ -6,7 +6,7 @@ set -x -SDK_VERSION="2.34.2" +SDK_VERSION="2.35.0" GITHUB_DOC_ROOT=https://aws-amplify.github.io GITHUB_SOURCE_ROOT=https://github.com/aws-amplify/aws-sdk-ios