diff --git a/AWSAPIGateway.podspec b/AWSAPIGateway.podspec index 3face120d6a..9dd01aa4a5d 100644 --- a/AWSAPIGateway.podspec +++ b/AWSAPIGateway.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSAPIGateway' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSAPIGateway/*.{h,m}' s.resource_bundle = { 'AWSAPIGateway' => ['AWSAPIGateway/PrivacyInfo.xcprivacy']} diff --git a/AWSAPIGateway/AWSAPIGatewayClient.m b/AWSAPIGateway/AWSAPIGatewayClient.m index 5aaed7bc388..7fb6a937833 100644 --- a/AWSAPIGateway/AWSAPIGatewayClient.m +++ b/AWSAPIGateway/AWSAPIGatewayClient.m @@ -23,7 +23,7 @@ static NSString *const AWSAPIGatewayAPIKeyHeader = @"x-api-key"; -NSString *const AWSAPIGatewaySDKVersion = @"2.36.3"; +NSString *const AWSAPIGatewaySDKVersion = @"2.36.4"; static int defaultChunkSize = 1024; diff --git a/AWSAPIGateway/Info.plist b/AWSAPIGateway/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSAPIGateway/Info.plist +++ b/AWSAPIGateway/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSAppleSignIn.podspec b/AWSAppleSignIn.podspec index 57705170bfb..4bec1185cb9 100644 --- a/AWSAppleSignIn.podspec +++ b/AWSAppleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAppleSignIn' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' - s.dependency 'AWSAuthCore', '2.36.3' + s.dependency 'AWSCore', '2.36.4' + s.dependency 'AWSAuthCore', '2.36.4' 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 46bfd7a53e4..f7a8389a150 100644 --- a/AWSAuth.podspec +++ b/AWSAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuth' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + authcore.dependency 'AWSAuthCore', '2.36.4' end s.subspec 'FacebookSignIn' do |facebook| - facebook.dependency 'AWSFacebookSignIn', '2.36.3' + facebook.dependency 'AWSFacebookSignIn', '2.36.4' end s.subspec 'GoogleSignIn' do |google| - google.dependency 'AWSGoogleSignIn', '2.36.3' + google.dependency 'AWSGoogleSignIn', '2.36.4' end s.subspec 'UserPoolsSignIn' do |up| - up.dependency 'AWSUserPoolsSignIn', '2.36.3' + up.dependency 'AWSUserPoolsSignIn', '2.36.4' end s.subspec 'UI' do |ui| - ui.dependency 'AWSAuthUI', '2.36.3' + ui.dependency 'AWSAuthUI', '2.36.4' end end diff --git a/AWSAuthCore.podspec b/AWSAuthCore.podspec index 62877d3d568..ad634c5f161 100644 --- a/AWSAuthCore.podspec +++ b/AWSAuthCore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthCore' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 1c034496fa4..0dcef69d673 100644 --- a/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist index 1c034496fa4..0dcef69d673 100644 --- a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist index 1c034496fa4..0dcef69d673 100644 --- a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist index 1c034496fa4..0dcef69d673 100644 --- a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist index 1c034496fa4..0dcef69d673 100644 --- a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist index 534beeb5a2c..8824e95904a 100644 --- a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist index 534beeb5a2c..8824e95904a 100644 --- a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist index 1c034496fa4..0dcef69d673 100644 --- a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthUI.podspec b/AWSAuthUI.podspec index 077a3b5a0af..528cfdd0e7c 100644 --- a/AWSAuthUI.podspec +++ b/AWSAuthUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthUI' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' - s.dependency 'AWSAuthCore', '2.36.3' + s.dependency 'AWSCore', '2.36.4' + s.dependency 'AWSAuthCore', '2.36.4' 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 a8c999dda61..961ca7fb4c1 100644 --- a/AWSAutoScaling.podspec +++ b/AWSAutoScaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAutoScaling' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSAutoScaling/*.{h,m}' s.resource_bundle = { 'AWSAutoScaling' => ['AWSAutoScaling/PrivacyInfo.xcprivacy']} end diff --git a/AWSAutoScaling/AWSAutoScalingModel.h b/AWSAutoScaling/AWSAutoScalingModel.h index e7d0a169484..f07f8176ffb 100644 --- a/AWSAutoScaling/AWSAutoScalingModel.h +++ b/AWSAutoScaling/AWSAutoScalingModel.h @@ -982,7 +982,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) AWSAutoScalingLaunchTemplateSpecification * _Nullable launchTemplate; /** -

The lifecycle state for the instance. The Quarantined state is not used. For information about lifecycle states, see Instance lifecycle in the Amazon EC2 Auto Scaling User Guide.

Valid values: Pending | Pending:Wait | Pending:Proceed | Quarantined | InService | Terminating | Terminating:Wait | Terminating:Proceed | Terminated | Detaching | Detached | EnteringStandby | Standby | Warmed:Pending | Warmed:Pending:Wait | Warmed:Pending:Proceed | Warmed:Terminating | Warmed:Terminating:Wait | Warmed:Terminating:Proceed | Warmed:Terminated | Warmed:Stopped | Warmed:Running

+

The lifecycle state for the instance. The Quarantined state is not used. For more information, see Amazon EC2 Auto Scaling instance lifecycle in the Amazon EC2 Auto Scaling User Guide.

Valid values: Pending | Pending:Wait | Pending:Proceed | Quarantined | InService | Terminating | Terminating:Wait | Terminating:Proceed | Terminated | Detaching | Detached | EnteringStandby | Standby | Warmed:Pending | Warmed:Pending:Wait | Warmed:Pending:Proceed | Warmed:Terminating | Warmed:Terminating:Wait | Warmed:Terminating:Proceed | Warmed:Terminated | Warmed:Stopped | Warmed:Running

*/ @property (nonatomic, strong) NSString * _Nullable lifecycleState; @@ -1238,7 +1238,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable context; /** -

Only needed if you use simple scaling policies.

The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Default: 300 seconds

+

Only needed if you use simple scaling policies.

The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Default: 300 seconds

*/ @property (nonatomic, strong) NSNumber * _Nullable defaultCooldown; @@ -1253,7 +1253,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSNumber * _Nullable desiredCapacity; /** -

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

+

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

*/ @property (nonatomic, strong) NSString * _Nullable desiredCapacityType; @@ -1263,12 +1263,12 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSNumber * _Nullable healthCheckGracePeriod; /** -

A comma-separated value string of one or more health check types.

The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

Only specify EC2 if you must clear a value that was previously set.

+

A comma-separated value string of one or more health check types.

The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

Only specify EC2 if you must clear a value that was previously set.

*/ @property (nonatomic, strong) NSString * _Nullable healthCheckType; /** -

The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling uses the configuration values from the specified instance to create a new launch configuration. To get the instance ID, use the Amazon EC2 DescribeInstances API operation. For more information, see Creating an Auto Scaling group using an EC2 instance in the Amazon EC2 Auto Scaling User Guide.

+

The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling uses the configuration values from the specified instance to create a new launch configuration. To get the instance ID, use the Amazon EC2 DescribeInstances API operation. For more information, see Create an Auto Scaling group using parameters from an existing instance in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable instanceId; @@ -1283,7 +1283,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable launchConfigurationName; /** -

Information used to specify the launch template and version to use to launch instances.

Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).

The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Creating a launch template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

+

Information used to specify the launch template and version to use to launch instances.

Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).

The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Create a launch template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) AWSAutoScalingLaunchTemplateSpecification * _Nullable launchTemplate; @@ -1298,7 +1298,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSArray * _Nullable loadBalancerNames; /** -

The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see Replacing Auto Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide.

+

The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see Replace Auto Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxInstanceLifetime; @@ -1318,7 +1318,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) AWSAutoScalingMixedInstancesPolicy * _Nullable mixedInstancesPolicy; /** -

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

+

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable latestInstancesProtectedFromScaleIn; @@ -1343,7 +1343,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSArray * _Nullable targetGroupARNs; /** -

A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see Work with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling User Guide.

Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias

+

A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias

*/ @property (nonatomic, strong) NSArray * _Nullable terminationPolicies; @@ -1366,7 +1366,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { /** -

Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet.

If you specify true, each instance in the Auto Scaling group receives a unique public IPv4 address. For more information, see Launching Auto Scaling instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

If you specify this property, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

+

Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet.

If you specify true, each instance in the Auto Scaling group receives a unique public IPv4 address. For more information, see Provide network connectivity for your Auto Scaling instances using Amazon VPC in the Amazon EC2 Auto Scaling User Guide.

If you specify this property, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

*/ @property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; @@ -1386,7 +1386,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSArray * _Nullable classicLinkVPCSecurityGroups; /** -

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional fees are incurred when you enable EBS optimization for an instance type that is not EBS-optimized by default. For more information, see Amazon EBS-optimized instances in the Amazon EC2 User Guide for Linux Instances.

The default value is false.

+

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional fees are incurred when you enable EBS optimization for an instance type that is not EBS-optimized by default. For more information, see Amazon EBS-optimized instances in the Amazon EC2 User Guide for Linux Instances.

The default value is false.

*/ @property (nonatomic, strong) NSNumber * _Nullable ebsOptimized; @@ -1396,17 +1396,17 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable iamInstanceProfile; /** -

The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Finding a Linux AMI in the Amazon EC2 User Guide for Linux Instances.

If you specify InstanceId, an ImageId is not required.

+

The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Find a Linux AMI in the Amazon EC2 User Guide for Linux Instances.

If you specify InstanceId, an ImageId is not required.

*/ @property (nonatomic, strong) NSString * _Nullable imageId; /** -

The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block device mapping.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Creating a launch configuration using an EC2 instance in the Amazon EC2 Auto Scaling User Guide.

+

The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block device mapping.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a launch configuration in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable instanceId; /** -

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

The default value is true (enabled).

When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

+

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

The default value is true (enabled).

When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Configure monitoring for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) AWSAutoScalingInstanceMonitoring * _Nullable instanceMonitoring; @@ -1421,7 +1421,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable kernelId; /** -

The name of the key pair. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon EC2 User Guide for Linux Instances.

+

The name of the key pair. For more information, see Amazon EC2 key pairs and Amazon EC2 instances in the Amazon EC2 User Guide for Linux Instances.

*/ @property (nonatomic, strong) NSString * _Nullable keyName; @@ -1431,12 +1431,12 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable launchConfigurationName; /** -

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

+

The metadata options for the instances. For more information, see Configure the instance metadata options in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) AWSAutoScalingInstanceMetadataOptions * _Nullable metadataOptions; /** -

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC. To launch dedicated instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this property to dedicated. For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

If you specify PlacementTenancy, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

Valid values: default | dedicated

+

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC. To launch dedicated instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this property to dedicated.

If you specify PlacementTenancy, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

Valid values: default | dedicated

*/ @property (nonatomic, strong) NSString * _Nullable placementTenancy; @@ -1446,7 +1446,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable ramdiskId; /** -

A list that contains the security group IDs to assign to the instances in the Auto Scaling group. For more information, see Control traffic to resources using security groups in the Amazon Virtual Private Cloud User Guide.

+

A list that contains the security group IDs to assign to the instances in the Auto Scaling group. For more information, see Control traffic to your Amazon Web Services resources using security groups in the Amazon Virtual Private Cloud User Guide.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroups; @@ -2197,7 +2197,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { /** -

Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

+

Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) AWSAutoScalingLaunchTemplateSpecification * _Nullable launchTemplate; @@ -2334,7 +2334,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable autoScalingGroupName; /** -

Identifies the metrics to disable.

You can specify one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

If you omit this property, all metrics are disabled.

For more information, see Auto Scaling group metrics in the Amazon EC2 Auto Scaling User Guide.

+

Identifies the metrics to disable.

You can specify one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

If you omit this property, all metrics are disabled.

For more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSArray * _Nullable metrics; @@ -2352,12 +2352,12 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSNumber * _Nullable deleteOnTermination; /** -

Specifies whether the volume should be encrypted. Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types. If your AMI uses encrypted volumes, you can also only launch it on supported instance types.

If you are creating a volume from a snapshot, you cannot create an unencrypted volume from an encrypted snapshot. Also, you cannot specify a KMS key ID when using a launch configuration.

If you enable encryption by default, the EBS volumes that you create are always encrypted, either using the Amazon Web Services managed KMS key or a customer-managed KMS key, regardless of whether the snapshot was encrypted.

For more information, see Use Amazon Web Services KMS keys to encrypt Amazon EBS volumes in the Amazon EC2 Auto Scaling User Guide.

+

Specifies whether the volume should be encrypted. Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Requirements for Amazon EBS encryption in the Amazon EBS User Guide. If your AMI uses encrypted volumes, you can also only launch it on supported instance types.

If you are creating a volume from a snapshot, you cannot create an unencrypted volume from an encrypted snapshot. Also, you cannot specify a KMS key ID when using a launch configuration.

If you enable encryption by default, the EBS volumes that you create are always encrypted, either using the Amazon Web Services managed KMS key or a customer-managed KMS key, regardless of whether the snapshot was encrypted.

For more information, see Use Amazon Web Services KMS keys to encrypt Amazon EBS volumes in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -

The number of input/output (I/O) operations per second (IOPS) to provision for the volume. For gp3 and io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000-16,000 IOPS

  • io1: 100-64,000 IOPS

For io1 volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System. Other instance families guarantee performance up to 32,000 IOPS.

Iops is supported when the volume type is gp3 or io1 and required only when the volume type is io1. (Not used with standard, gp2, st1, or sc1 volumes.)

+

The number of input/output (I/O) operations per second (IOPS) to provision for the volume. For gp3 and io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000-16,000 IOPS

  • io1: 100-64,000 IOPS

For io1 volumes, we guarantee 64,000 IOPS only for Instances built on the Amazon Web Services Nitro System. Other instance families guarantee performance up to 32,000 IOPS.

Iops is supported when the volume type is gp3 or io1 and required only when the volume type is io1. (Not used with standard, gp2, st1, or sc1 volumes.)

*/ @property (nonatomic, strong) NSNumber * _Nullable iops; @@ -2377,7 +2377,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSNumber * _Nullable volumeSize; /** -

The volume type. For more information, see Amazon EBS volume types in the Amazon EC2 User Guide for Linux Instances.

Valid values: standard | io1 | gp2 | st1 | sc1 | gp3

+

The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

Valid values: standard | io1 | gp2 | st1 | sc1 | gp3

*/ @property (nonatomic, strong) NSString * _Nullable volumeType; @@ -2400,7 +2400,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable granularity; /** -

Identifies the metrics to enable.

You can specify one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

If you specify Granularity and don't specify any metrics, all metrics are enabled.

For more information, see Auto Scaling group metrics in the Amazon EC2 Auto Scaling User Guide.

+

Identifies the metrics to enable.

You can specify one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

If you specify Granularity and don't specify any metrics, all metrics are enabled.

For more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSArray * _Nullable metrics; @@ -2418,7 +2418,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable granularity; /** -

One of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

For more information, see Auto Scaling group metrics in the Amazon EC2 Auto Scaling User Guide.

+

One of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

For more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable metric; @@ -2477,7 +2477,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSNumber * _Nullable breachThreshold; /** -

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy.

Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

+

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy.

Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable honorCooldown; @@ -2655,7 +2655,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) AWSAutoScalingLaunchTemplateSpecification * _Nullable launchTemplate; /** -

A description of the current lifecycle state. The Quarantined state is not used. For information about lifecycle states, see Instance lifecycle in the Amazon EC2 Auto Scaling User Guide.

+

A description of the current lifecycle state. The Quarantined state is not used. For more information, see Amazon EC2 Auto Scaling instance lifecycle in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, assign) AWSAutoScalingLifecycleState lifecycleState; @@ -2690,7 +2690,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @end /** -

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

+

The metadata options for the instances. For more information, see Configure the instance metadata options in the Amazon EC2 Auto Scaling User Guide.

*/ @interface AWSAutoScalingInstanceMetadataOptions : AWSModel @@ -2848,7 +2848,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @end /** -

The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.

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 Auto Scaling 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.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see Preview instance types with specified attributes in the Amazon EC2 User Guide for Linux Instances.

+

The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.

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 Auto Scaling 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.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see Preview instance types with specified attributes in the Amazon EC2 User Guide for Linux Instances.

Required parameters: [VCpuCount, MemoryMiB] */ @interface AWSAutoScalingInstanceRequirements : AWSModel @@ -3035,12 +3035,12 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { /** -

Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet. For more information, see Launching Auto Scaling instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

+

Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet. For more information, see Provide network connectivity for your Auto Scaling instances using Amazon VPC in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; /** -

The block device mapping entries that define the block devices to attach to the instances at launch. By default, the block devices specified in the block device mapping for the AMI are used. For more information, see Block Device Mapping in the Amazon EC2 User Guide for Linux Instances.

+

The block device mapping entries that define the block devices to attach to the instances at launch. By default, the block devices specified in the block device mapping for the AMI are used. For more information, see Block device mappings in the Amazon EC2 User Guide for Linux Instances.

*/ @property (nonatomic, strong) NSArray * _Nullable blockDeviceMappings; @@ -3060,7 +3060,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSDate * _Nullable createdTime; /** -

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). For more information, see Amazon EBS-Optimized Instances in the Amazon EC2 User Guide for Linux Instances.

+

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). For more information, see Amazon EBS-optimized instances in the Amazon EC2 User Guide for Linux Instances.

*/ @property (nonatomic, strong) NSNumber * _Nullable ebsOptimized; @@ -3075,7 +3075,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable imageId; /** -

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

+

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

For more information, see Configure monitoring for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) AWSAutoScalingInstanceMonitoring * _Nullable instanceMonitoring; @@ -3090,7 +3090,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable kernelId; /** -

The name of the key pair.

For more information, see Amazon EC2 Key Pairs in the Amazon EC2 User Guide for Linux Instances.

+

The name of the key pair.

For more information, see Amazon EC2 key pairs and Amazon EC2 instances in the Amazon EC2 User Guide for Linux Instances.

*/ @property (nonatomic, strong) NSString * _Nullable keyName; @@ -3105,12 +3105,12 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable launchConfigurationName; /** -

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

+

The metadata options for the instances. For more information, see Configure the instance metadata options in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) AWSAutoScalingInstanceMetadataOptions * _Nullable metadataOptions; /** -

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

+

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

*/ @property (nonatomic, strong) NSString * _Nullable placementTenancy; @@ -3120,12 +3120,12 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable ramdiskId; /** -

A list that contains the security groups to assign to the instances in the Auto Scaling group. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

+

A list that contains the security groups to assign to the instances in the Auto Scaling group. For more information, see Control traffic to your Amazon Web Services resources using security groups in the Amazon Virtual Private Cloud User Guide.

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

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price. For more information, see Requesting Spot Instances in the Amazon EC2 Auto Scaling User Guide.

+

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price. For more information, see Requesting Spot Instances for fault-tolerant and flexible applications in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable spotPrice; @@ -3220,7 +3220,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) AWSAutoScalingInstanceRequirements * _Nullable instanceRequirements; /** -

The instance type, such as m3.xlarge. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

You can specify up to 40 instance types per Auto Scaling group.

+

The instance type, such as m3.xlarge. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see Instance types in the Amazon EC2 User Guide for Linux Instances.

You can specify up to 40 instance types per Auto Scaling group.

*/ @property (nonatomic, strong) NSString * _Nullable instanceType; @@ -3230,14 +3230,14 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) AWSAutoScalingLaunchTemplateSpecification * _Nullable launchTemplateSpecification; /** -

If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see Configuring instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1–999.

If you specify a value for WeightedCapacity for one instance type, you must specify a value for WeightedCapacity for all of them.

Every Auto Scaling group has three size parameters (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.

+

If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see Configure an Auto Scaling group to use instance weights in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1–999.

If you specify a value for WeightedCapacity for one instance type, you must specify a value for WeightedCapacity for all of them.

Every Auto Scaling group has three size parameters (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.

*/ @property (nonatomic, strong) NSString * _Nullable weightedCapacity; @end /** -

Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

+

Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

*/ @interface AWSAutoScalingLaunchTemplateSpecification : AWSModel @@ -3350,7 +3350,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable notificationTargetARN; /** -

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see Configure a notification target for a lifecycle hook in the Amazon EC2 Auto Scaling User Guide.

Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.

+

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see Prepare to add a lifecycle hook to your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.

*/ @property (nonatomic, strong) NSString * _Nullable roleARN; @@ -3720,7 +3720,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { /** -

Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults to HonorMaxCapacity if not specified.

The following are possible values:

  • HonorMaxCapacity - Amazon EC2 Auto Scaling cannot scale out capacity higher than the maximum capacity. The maximum capacity is enforced as a hard limit.

  • IncreaseMaxCapacity - Amazon EC2 Auto Scaling can scale out capacity higher than the maximum capacity when the forecast capacity is close to or exceeds the maximum capacity. The upper limit is determined by the forecasted capacity and the value for MaxCapacityBuffer.

+

Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults to HonorMaxCapacity if not specified.

The following are possible values:

  • HonorMaxCapacity - Amazon EC2 Auto Scaling can't increase the maximum capacity of the group when the forecast capacity is close to or exceeds the maximum capacity.

  • IncreaseMaxCapacity - Amazon EC2 Auto Scaling can increase the maximum capacity of the group when the forecast capacity is close to or exceeds the maximum capacity. The upper limit is determined by the forecasted capacity and the value for MaxCapacityBuffer.

Use caution when allowing the maximum capacity to be automatically increased. This can lead to more instances being launched than intended if the increased maximum capacity is not monitored and managed. The increased maximum capacity then becomes the new normal maximum capacity for the Auto Scaling group until you manually update it. The maximum capacity does not automatically decrease back to the original maximum.

*/ @property (nonatomic, assign) AWSAutoScalingPredictiveScalingMaxCapacityBreachBehavior maxCapacityBreachBehavior; @@ -3890,7 +3890,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @end /** -

Describes a process type.

For more information, see Scaling processes in the Amazon EC2 Auto Scaling User Guide.

+

Describes a process type.

For more information, see Types of processes in the Amazon EC2 Auto Scaling User Guide.

Required parameters: [ProcessName] */ @interface AWSAutoScalingProcessType : AWSModel @@ -4012,12 +4012,12 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable autoScalingGroupName; /** -

A cooldown period, in seconds, that applies to a specific simple scaling policy. When a cooldown period is specified here, it overrides the default cooldown.

Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Default: None

+

A cooldown period, in seconds, that applies to a specific simple scaling policy. When a cooldown period is specified here, it overrides the default cooldown.

Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Default: None

*/ @property (nonatomic, strong) NSNumber * _Nullable cooldown; /** -

Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see Disabling a scaling policy for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

+

Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see Disable a scaling policy for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable enabled; @@ -4230,7 +4230,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSNumber * _Nullable checkpointDelay; /** -

(Optional) Threshold values for each checkpoint in ascending order. Each number must be unique. To replace all instances in the Auto Scaling group, the last number in the array must be 100.

For usage examples, see Adding checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User Guide.

+

(Optional) Threshold values for each checkpoint in ascending order. Each number must be unique. To replace all instances in the Auto Scaling group, the last number in the array must be 100.

For usage examples, see Add checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSArray * _Nullable checkpointPercentages; @@ -4601,7 +4601,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable instanceId; /** -

If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call respects the grace period. Set this to False, to have the call not respect the grace period associated with the group.

For more information about the health check grace period, see CreateAutoScalingGroup in the Amazon EC2 Auto Scaling API Reference.

+

If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call respects the grace period. Set this to False, to have the call not respect the grace period associated with the group.

For more information about the health check grace period, see Set the health check grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable shouldRespectGracePeriod; @@ -4704,7 +4704,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @end /** -

Describes an auto scaling process that has been suspended.

For more information, see Scaling processes in the Amazon EC2 Auto Scaling User Guide.

+

Describes an auto scaling process that has been suspended.

For more information, see Types of processes in the Amazon EC2 Auto Scaling User Guide.

*/ @interface AWSAutoScalingSuspendedProcess : AWSModel @@ -5003,7 +5003,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable context; /** -

Only needed if you use simple scaling policies.

The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

+

Only needed if you use simple scaling policies.

The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable defaultCooldown; @@ -5018,7 +5018,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSNumber * _Nullable desiredCapacity; /** -

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

+

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

*/ @property (nonatomic, strong) NSString * _Nullable desiredCapacityType; @@ -5028,7 +5028,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSNumber * _Nullable healthCheckGracePeriod; /** -

A comma-separated value string of one or more health check types.

The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

Only specify EC2 if you must clear a value that was previously set.

+

A comma-separated value string of one or more health check types.

The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

Only specify EC2 if you must clear a value that was previously set.

*/ @property (nonatomic, strong) NSString * _Nullable healthCheckType; @@ -5068,7 +5068,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) AWSAutoScalingMixedInstancesPolicy * _Nullable mixedInstancesPolicy; /** -

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

+

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable latestInstancesProtectedFromScaleIn; @@ -5083,7 +5083,7 @@ typedef NS_ENUM(NSInteger, AWSAutoScalingWarmPoolStatus) { @property (nonatomic, strong) NSString * _Nullable serviceLinkedRoleARN; /** -

A policy or a list of policies that are used to select the instances to terminate. The policies are executed in the order that you list them. For more information, see Work with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling User Guide.

Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias

+

A policy or a list of policies that are used to select the instances to terminate. The policies are executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias

*/ @property (nonatomic, strong) NSArray * _Nullable terminationPolicies; diff --git a/AWSAutoScaling/AWSAutoScalingResources.m b/AWSAutoScaling/AWSAutoScalingResources.m index bbb49752f13..1bfb9630548 100644 --- a/AWSAutoScaling/AWSAutoScalingResources.m +++ b/AWSAutoScaling/AWSAutoScalingResources.m @@ -62,11 +62,13 @@ - (NSString *)definitionString { \"apiVersion\":\"2011-01-01\",\ \"endpointPrefix\":\"autoscaling\",\ \"protocol\":\"query\",\ + \"protocols\":[\"query\"],\ \"serviceFullName\":\"Auto Scaling\",\ \"serviceId\":\"Auto Scaling\",\ \"signatureVersion\":\"v4\",\ \"uid\":\"autoscaling-2011-01-01\",\ - \"xmlNamespace\":\"http://autoscaling.amazonaws.com/doc/2011-01-01/\"\ + \"xmlNamespace\":\"http://autoscaling.amazonaws.com/doc/2011-01-01/\",\ + \"auth\":[\"aws.auth#sigv4\"]\ },\ \"operations\":{\ \"AttachInstances\":{\ @@ -80,7 +82,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceContentionFault\"},\ {\"shape\":\"ServiceLinkedRoleFailure\"}\ ],\ - \"documentation\":\"

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 instances to your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

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

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Detach or attach instances in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"AttachLoadBalancerTargetGroups\":{\ \"name\":\"AttachLoadBalancerTargetGroups\",\ @@ -228,7 +230,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededFault\"},\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, 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 more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a launch template or a launch configuration. We strongly recommend that you do not use launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For information about using launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

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

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, 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 more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a launch template or a launch configuration. We strongly recommend that you do not use launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For information about using launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"CreateOrUpdateTags\":{\ \"name\":\"CreateOrUpdateTags\",\ @@ -311,7 +313,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceContentionFault\"},\ {\"shape\":\"ServiceLinkedRoleFailure\"}\ ],\ - \"documentation\":\"

Deletes the specified scaling policy.

Deleting either a step scaling policy or a simple scaling policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

For more information, see Deleting a scaling policy in the Amazon EC2 Auto Scaling User Guide.

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

Deletes the specified scaling policy.

Deleting either a step scaling policy or a simple scaling policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

For more information, see Delete a scaling policy in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"DeleteScheduledAction\":{\ \"name\":\"DeleteScheduledAction\",\ @@ -600,7 +602,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidNextToken\"},\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Gets information about the scaling activities in the account and Region.

When scaling events occur, you see a record of the scaling activity in the scaling activities. For more information, see Verifying a scaling activity for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

If the scaling event succeeds, the value of the StatusCode element in the response is Successful. If an attempt to launch instances failed, the StatusCode value is Failed or Cancelled and the StatusMessage element in the response indicates the cause of the failure. For help interpreting the StatusMessage, see Troubleshooting Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

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

Gets information about the scaling activities in the account and Region.

When scaling events occur, you see a record of the scaling activity in the scaling activities. For more information, see Verify a scaling activity for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

If the scaling event succeeds, the value of the StatusCode element in the response is Successful. If an attempt to launch instances failed, the StatusCode value is Failed or Cancelled and the StatusMessage element in the response indicates the cause of the failure. For help interpreting the StatusMessage, see Troubleshooting Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"DescribeScalingProcessTypes\":{\ \"name\":\"DescribeScalingProcessTypes\",\ @@ -664,7 +666,7 @@ - (NSString *)definitionString { \"errors\":[\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Work with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling User Guide.

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

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"DescribeTrafficSources\":{\ \"name\":\"DescribeTrafficSources\",\ @@ -715,7 +717,7 @@ - (NSString *)definitionString { \"errors\":[\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 instances from your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

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

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach or attach instances in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"DetachLoadBalancerTargetGroups\":{\ \"name\":\"DetachLoadBalancerTargetGroups\",\ @@ -879,7 +881,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceContentionFault\"},\ {\"shape\":\"ServiceLinkedRoleFailure\"}\ ],\ - \"documentation\":\"

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Getting Amazon SNS notifications when your Auto Scaling group scales in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling group, the call fails.

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

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Amazon SNS notification options for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling group, the call fails.

\"\ },\ \"PutScalingPolicy\":{\ \"name\":\"PutScalingPolicy\",\ @@ -911,7 +913,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededFault\"},\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Creates or updates a scheduled scaling action for an Auto Scaling group.

For more information, see Scheduled scaling in the Amazon EC2 Auto Scaling User Guide.

You can view the scheduled actions for an Auto Scaling group using the DescribeScheduledActions API call. If you are no longer using a scheduled action, you can delete it by calling the DeleteScheduledAction API.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

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

Creates or updates a scheduled scaling action for an Auto Scaling group.

For more information, see Scheduled scaling in the Amazon EC2 Auto Scaling User Guide.

You can view the scheduled actions for an Auto Scaling group using the DescribeScheduledActions API call. If you are no longer using a scheduled action, you can delete it by calling the DeleteScheduledAction API.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

\"\ },\ \"PutWarmPool\":{\ \"name\":\"PutWarmPool\",\ @@ -928,7 +930,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededFault\"},\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Creates or updates a warm pool for the specified Auto Scaling group. A warm pool is a pool of pre-initialized EC2 instances that sits alongside the Auto Scaling group. Whenever your application needs to scale out, the Auto Scaling group can draw on the warm pool to meet its new desired capacity. For more information and example configurations, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

This operation must be called from the Region in which the Auto Scaling group was created. This operation cannot be called on an Auto Scaling group that has a mixed instances policy or a launch template or launch configuration that requests Spot Instances.

You can view the instances in the warm pool using the DescribeWarmPool API call. If you are no longer using a warm pool, you can delete it by calling the DeleteWarmPool API.

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

Creates or updates a warm pool for the specified Auto Scaling group. A warm pool is a pool of pre-initialized EC2 instances that sits alongside the Auto Scaling group. Whenever your application needs to scale out, the Auto Scaling group can draw on the warm pool to meet its new desired capacity.

This operation must be called from the Region in which the Auto Scaling group was created.

You can view the instances in the warm pool using the DescribeWarmPool API call. If you are no longer using a warm pool, you can delete it by calling the DeleteWarmPool API.

For more information, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"RecordLifecycleActionHeartbeat\":{\ \"name\":\"RecordLifecycleActionHeartbeat\",\ @@ -957,7 +959,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceInUseFault\"},\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Resumes the specified suspended auto scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide.

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

Resumes the specified suspended auto scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspend and resume Amazon EC2 Auto Scaling processes in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"RollbackInstanceRefresh\":{\ \"name\":\"RollbackInstanceRefresh\",\ @@ -989,7 +991,7 @@ - (NSString *)definitionString { {\"shape\":\"ScalingActivityInProgressFault\"},\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Sets the size of the specified Auto Scaling group.

If a scale-in activity occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate.

For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

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

Sets the size of the specified Auto Scaling group.

If a scale-in activity occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate.

For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"SetInstanceHealth\":{\ \"name\":\"SetInstanceHealth\",\ @@ -1001,7 +1003,7 @@ - (NSString *)definitionString { \"errors\":[\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Sets the health status of the specified instance.

For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

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

Sets the health status of the specified instance.

For more information, see Health checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"SetInstanceProtection\":{\ \"name\":\"SetInstanceProtection\",\ @@ -1018,7 +1020,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededFault\"},\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Updates the instance protection settings of the specified instances. This operation cannot be called on instances in a warm pool.

For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group, the call fails.

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

Updates the instance protection settings of the specified instances. This operation cannot be called on instances in a warm pool.

For more information, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group, the call fails.

\"\ },\ \"StartInstanceRefresh\":{\ \"name\":\"StartInstanceRefresh\",\ @@ -1049,7 +1051,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceInUseFault\"},\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Suspends the specified auto scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly. For more information, see Suspending and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide.

To resume processes that have been suspended, call the ResumeProcesses API.

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

Suspends the specified auto scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly. For more information, see Suspend and resume Amazon EC2 Auto Scaling processes in the Amazon EC2 Auto Scaling User Guide.

To resume processes that have been suspended, call the ResumeProcesses API.

\"\ },\ \"TerminateInstanceInAutoScalingGroup\":{\ \"name\":\"TerminateInstanceInAutoScalingGroup\",\ @@ -1066,7 +1068,7 @@ - (NSString *)definitionString { {\"shape\":\"ScalingActivityInProgressFault\"},\ {\"shape\":\"ResourceContentionFault\"}\ ],\ - \"documentation\":\"

Terminates the specified instance and optionally adjusts the desired group size. This operation cannot be called on instances in a warm pool.

This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.

By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Rebalancing activities in the Amazon EC2 Auto Scaling User Guide.

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

Terminates the specified instance and optionally adjusts the desired group size. This operation cannot be called on instances in a warm pool.

This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.

By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"UpdateAutoScalingGroup\":{\ \"name\":\"UpdateAutoScalingGroup\",\ @@ -1662,7 +1664,7 @@ - (NSString *)definitionString { },\ \"LifecycleState\":{\ \"shape\":\"XmlStringMaxLen32\",\ - \"documentation\":\"

The lifecycle state for the instance. The Quarantined state is not used. For information about lifecycle states, see Instance lifecycle in the Amazon EC2 Auto Scaling User Guide.

Valid values: Pending | Pending:Wait | Pending:Proceed | Quarantined | InService | Terminating | Terminating:Wait | Terminating:Proceed | Terminated | Detaching | Detached | EnteringStandby | Standby | Warmed:Pending | Warmed:Pending:Wait | Warmed:Pending:Proceed | Warmed:Terminating | Warmed:Terminating:Wait | Warmed:Terminating:Proceed | Warmed:Terminated | Warmed:Stopped | Warmed:Running

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

The lifecycle state for the instance. The Quarantined state is not used. For more information, see Amazon EC2 Auto Scaling instance lifecycle in the Amazon EC2 Auto Scaling User Guide.

Valid values: Pending | Pending:Wait | Pending:Proceed | Quarantined | InService | Terminating | Terminating:Wait | Terminating:Proceed | Terminated | Detaching | Detached | EnteringStandby | Standby | Warmed:Pending | Warmed:Pending:Wait | Warmed:Pending:Proceed | Warmed:Terminating | Warmed:Terminating:Wait | Warmed:Terminating:Proceed | Warmed:Terminated | Warmed:Stopped | Warmed:Running

\"\ },\ \"HealthStatus\":{\ \"shape\":\"XmlStringMaxLen32\",\ @@ -1961,7 +1963,7 @@ - (NSString *)definitionString { },\ \"LaunchTemplate\":{\ \"shape\":\"LaunchTemplateSpecification\",\ - \"documentation\":\"

Information used to specify the launch template and version to use to launch instances.

Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).

The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Creating a launch template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

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

Information used to specify the launch template and version to use to launch instances.

Conditional: You must specify either a launch template (LaunchTemplate or MixedInstancesPolicy) or a launch configuration (LaunchConfigurationName or InstanceId).

The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Create a launch template for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"MixedInstancesPolicy\":{\ \"shape\":\"MixedInstancesPolicy\",\ @@ -1969,7 +1971,7 @@ - (NSString *)definitionString { },\ \"InstanceId\":{\ \"shape\":\"XmlStringMaxLen19\",\ - \"documentation\":\"

The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling uses the configuration values from the specified instance to create a new launch configuration. To get the instance ID, use the Amazon EC2 DescribeInstances API operation. For more information, see Creating an Auto Scaling group using an EC2 instance in the Amazon EC2 Auto Scaling User Guide.

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

The ID of the instance used to base the launch configuration on. If specified, Amazon EC2 Auto Scaling uses the configuration values from the specified instance to create a new launch configuration. To get the instance ID, use the Amazon EC2 DescribeInstances API operation. For more information, see Create an Auto Scaling group using parameters from an existing instance in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"MinSize\":{\ \"shape\":\"AutoScalingGroupMinSize\",\ @@ -1985,7 +1987,7 @@ - (NSString *)definitionString { },\ \"DefaultCooldown\":{\ \"shape\":\"Cooldown\",\ - \"documentation\":\"

Only needed if you use simple scaling policies.

The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Default: 300 seconds

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

Only needed if you use simple scaling policies.

The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Default: 300 seconds

\"\ },\ \"AvailabilityZones\":{\ \"shape\":\"AvailabilityZones\",\ @@ -2001,7 +2003,7 @@ - (NSString *)definitionString { },\ \"HealthCheckType\":{\ \"shape\":\"XmlStringMaxLen32\",\ - \"documentation\":\"

A comma-separated value string of one or more health check types.

The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

Only specify EC2 if you must clear a value that was previously set.

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

A comma-separated value string of one or more health check types.

The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

Only specify EC2 if you must clear a value that was previously set.

\"\ },\ \"HealthCheckGracePeriod\":{\ \"shape\":\"HealthCheckGracePeriod\",\ @@ -2017,11 +2019,11 @@ - (NSString *)definitionString { },\ \"TerminationPolicies\":{\ \"shape\":\"TerminationPolicies\",\ - \"documentation\":\"

A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see Work with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling User Guide.

Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias

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

A policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias

\"\ },\ \"NewInstancesProtectedFromScaleIn\":{\ \"shape\":\"InstanceProtected\",\ - \"documentation\":\"

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

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

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"CapacityRebalance\":{\ \"shape\":\"CapacityRebalanceEnabled\",\ @@ -2041,7 +2043,7 @@ - (NSString *)definitionString { },\ \"MaxInstanceLifetime\":{\ \"shape\":\"MaxInstanceLifetime\",\ - \"documentation\":\"

The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see Replacing Auto Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide.

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

The maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see Replace Auto Scaling instances based on maximum instance lifetime in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"Context\":{\ \"shape\":\"Context\",\ @@ -2049,7 +2051,7 @@ - (NSString *)definitionString { },\ \"DesiredCapacityType\":{\ \"shape\":\"XmlStringMaxLen255\",\ - \"documentation\":\"

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

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

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

\"\ },\ \"DefaultInstanceWarmup\":{\ \"shape\":\"DefaultInstanceWarmup\",\ @@ -2075,15 +2077,15 @@ - (NSString *)definitionString { },\ \"ImageId\":{\ \"shape\":\"XmlStringMaxLen255\",\ - \"documentation\":\"

The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Finding a Linux AMI in the Amazon EC2 User Guide for Linux Instances.

If you specify InstanceId, an ImageId is not required.

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

The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Find a Linux AMI in the Amazon EC2 User Guide for Linux Instances.

If you specify InstanceId, an ImageId is not required.

\"\ },\ \"KeyName\":{\ \"shape\":\"XmlStringMaxLen255\",\ - \"documentation\":\"

The name of the key pair. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon EC2 User Guide for Linux Instances.

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

The name of the key pair. For more information, see Amazon EC2 key pairs and Amazon EC2 instances in the Amazon EC2 User Guide for Linux Instances.

\"\ },\ \"SecurityGroups\":{\ \"shape\":\"SecurityGroups\",\ - \"documentation\":\"

A list that contains the security group IDs to assign to the instances in the Auto Scaling group. For more information, see Control traffic to resources using security groups in the Amazon Virtual Private Cloud User Guide.

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

A list that contains the security group IDs to assign to the instances in the Auto Scaling group. For more information, see Control traffic to your Amazon Web Services resources using security groups in the Amazon Virtual Private Cloud User Guide.

\"\ },\ \"ClassicLinkVPCId\":{\ \"shape\":\"XmlStringMaxLen255\",\ @@ -2099,7 +2101,7 @@ - (NSString *)definitionString { },\ \"InstanceId\":{\ \"shape\":\"XmlStringMaxLen19\",\ - \"documentation\":\"

The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block device mapping.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Creating a launch configuration using an EC2 instance in the Amazon EC2 Auto Scaling User Guide.

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

The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block device mapping.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a launch configuration in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"InstanceType\":{\ \"shape\":\"XmlStringMaxLen255\",\ @@ -2119,7 +2121,7 @@ - (NSString *)definitionString { },\ \"InstanceMonitoring\":{\ \"shape\":\"InstanceMonitoring\",\ - \"documentation\":\"

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

The default value is true (enabled).

When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

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

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

The default value is true (enabled).

When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Configure monitoring for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"SpotPrice\":{\ \"shape\":\"SpotPrice\",\ @@ -2131,19 +2133,19 @@ - (NSString *)definitionString { },\ \"EbsOptimized\":{\ \"shape\":\"EbsOptimized\",\ - \"documentation\":\"

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional fees are incurred when you enable EBS optimization for an instance type that is not EBS-optimized by default. For more information, see Amazon EBS-optimized instances in the Amazon EC2 User Guide for Linux Instances.

The default value is false.

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

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional fees are incurred when you enable EBS optimization for an instance type that is not EBS-optimized by default. For more information, see Amazon EBS-optimized instances in the Amazon EC2 User Guide for Linux Instances.

The default value is false.

\"\ },\ \"AssociatePublicIpAddress\":{\ \"shape\":\"AssociatePublicIpAddress\",\ - \"documentation\":\"

Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet.

If you specify true, each instance in the Auto Scaling group receives a unique public IPv4 address. For more information, see Launching Auto Scaling instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

If you specify this property, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

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

Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet.

If you specify true, each instance in the Auto Scaling group receives a unique public IPv4 address. For more information, see Provide network connectivity for your Auto Scaling instances using Amazon VPC in the Amazon EC2 Auto Scaling User Guide.

If you specify this property, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

\"\ },\ \"PlacementTenancy\":{\ \"shape\":\"XmlStringMaxLen64\",\ - \"documentation\":\"

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC. To launch dedicated instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this property to dedicated. For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

If you specify PlacementTenancy, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

Valid values: default | dedicated

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

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC. To launch dedicated instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this property to dedicated.

If you specify PlacementTenancy, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

Valid values: default | dedicated

\"\ },\ \"MetadataOptions\":{\ \"shape\":\"InstanceMetadataOptions\",\ - \"documentation\":\"

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

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

The metadata options for the instances. For more information, see Configure the instance metadata options in the Amazon EC2 Auto Scaling User Guide.

\"\ }\ }\ },\ @@ -2710,7 +2712,7 @@ - (NSString *)definitionString { \"members\":{\ \"LaunchTemplate\":{\ \"shape\":\"LaunchTemplateSpecification\",\ - \"documentation\":\"

Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

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

Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"MixedInstancesPolicy\":{\ \"shape\":\"MixedInstancesPolicy\",\ @@ -2825,7 +2827,7 @@ - (NSString *)definitionString { },\ \"Metrics\":{\ \"shape\":\"Metrics\",\ - \"documentation\":\"

Identifies the metrics to disable.

You can specify one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

If you omit this property, all metrics are disabled.

For more information, see Auto Scaling group metrics in the Amazon EC2 Auto Scaling User Guide.

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

Identifies the metrics to disable.

You can specify one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

If you omit this property, all metrics are disabled.

For more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ }\ }\ },\ @@ -2843,7 +2845,7 @@ - (NSString *)definitionString { },\ \"VolumeType\":{\ \"shape\":\"BlockDeviceEbsVolumeType\",\ - \"documentation\":\"

The volume type. For more information, see Amazon EBS volume types in the Amazon EC2 User Guide for Linux Instances.

Valid values: standard | io1 | gp2 | st1 | sc1 | gp3

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

The volume type. For more information, see Amazon EBS volume types in the Amazon EBS User Guide.

Valid values: standard | io1 | gp2 | st1 | sc1 | gp3

\"\ },\ \"DeleteOnTermination\":{\ \"shape\":\"BlockDeviceEbsDeleteOnTermination\",\ @@ -2851,11 +2853,11 @@ - (NSString *)definitionString { },\ \"Iops\":{\ \"shape\":\"BlockDeviceEbsIops\",\ - \"documentation\":\"

The number of input/output (I/O) operations per second (IOPS) to provision for the volume. For gp3 and io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000-16,000 IOPS

  • io1: 100-64,000 IOPS

For io1 volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System. Other instance families guarantee performance up to 32,000 IOPS.

Iops is supported when the volume type is gp3 or io1 and required only when the volume type is io1. (Not used with standard, gp2, st1, or sc1 volumes.)

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

The number of input/output (I/O) operations per second (IOPS) to provision for the volume. For gp3 and io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000-16,000 IOPS

  • io1: 100-64,000 IOPS

For io1 volumes, we guarantee 64,000 IOPS only for Instances built on the Amazon Web Services Nitro System. Other instance families guarantee performance up to 32,000 IOPS.

Iops is supported when the volume type is gp3 or io1 and required only when the volume type is io1. (Not used with standard, gp2, st1, or sc1 volumes.)

\"\ },\ \"Encrypted\":{\ \"shape\":\"BlockDeviceEbsEncrypted\",\ - \"documentation\":\"

Specifies whether the volume should be encrypted. Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types. If your AMI uses encrypted volumes, you can also only launch it on supported instance types.

If you are creating a volume from a snapshot, you cannot create an unencrypted volume from an encrypted snapshot. Also, you cannot specify a KMS key ID when using a launch configuration.

If you enable encryption by default, the EBS volumes that you create are always encrypted, either using the Amazon Web Services managed KMS key or a customer-managed KMS key, regardless of whether the snapshot was encrypted.

For more information, see Use Amazon Web Services KMS keys to encrypt Amazon EBS volumes in the Amazon EC2 Auto Scaling User Guide.

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

Specifies whether the volume should be encrypted. Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Requirements for Amazon EBS encryption in the Amazon EBS User Guide. If your AMI uses encrypted volumes, you can also only launch it on supported instance types.

If you are creating a volume from a snapshot, you cannot create an unencrypted volume from an encrypted snapshot. Also, you cannot specify a KMS key ID when using a launch configuration.

If you enable encryption by default, the EBS volumes that you create are always encrypted, either using the Amazon Web Services managed KMS key or a customer-managed KMS key, regardless of whether the snapshot was encrypted.

For more information, see Use Amazon Web Services KMS keys to encrypt Amazon EBS volumes in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"Throughput\":{\ \"shape\":\"BlockDeviceEbsThroughput\",\ @@ -2878,7 +2880,7 @@ - (NSString *)definitionString { },\ \"Metrics\":{\ \"shape\":\"Metrics\",\ - \"documentation\":\"

Identifies the metrics to enable.

You can specify one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

If you specify Granularity and don't specify any metrics, all metrics are enabled.

For more information, see Auto Scaling group metrics in the Amazon EC2 Auto Scaling User Guide.

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

Identifies the metrics to enable.

You can specify one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

If you specify Granularity and don't specify any metrics, all metrics are enabled.

For more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"Granularity\":{\ \"shape\":\"XmlStringMaxLen255\",\ @@ -2891,7 +2893,7 @@ - (NSString *)definitionString { \"members\":{\ \"Metric\":{\ \"shape\":\"XmlStringMaxLen255\",\ - \"documentation\":\"

One of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

For more information, see Auto Scaling group metrics in the Amazon EC2 Auto Scaling User Guide.

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

One of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

  • WarmPoolDesiredCapacity

  • WarmPoolWarmedCapacity

  • WarmPoolPendingCapacity

  • WarmPoolTerminatingCapacity

  • WarmPoolTotalCapacity

  • GroupAndWarmPoolDesiredCapacity

  • GroupAndWarmPoolTotalCapacity

For more information, see Amazon CloudWatch metrics for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"Granularity\":{\ \"shape\":\"XmlStringMaxLen255\",\ @@ -2960,7 +2962,7 @@ - (NSString *)definitionString { },\ \"HonorCooldown\":{\ \"shape\":\"HonorCooldown\",\ - \"documentation\":\"

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy.

Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

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

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy.

Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"MetricValue\":{\ \"shape\":\"MetricScale\",\ @@ -3115,7 +3117,7 @@ - (NSString *)definitionString { },\ \"LifecycleState\":{\ \"shape\":\"LifecycleState\",\ - \"documentation\":\"

A description of the current lifecycle state. The Quarantined state is not used. For information about lifecycle states, see Instance lifecycle in the Amazon EC2 Auto Scaling User Guide.

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

A description of the current lifecycle state. The Quarantined state is not used. For more information, see Amazon EC2 Auto Scaling instance lifecycle in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"HealthStatus\":{\ \"shape\":\"XmlStringMaxLen32\",\ @@ -3204,7 +3206,7 @@ - (NSString *)definitionString { \"documentation\":\"

This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

If you specify a value of disabled, you will not be able to access your instance metadata.

\"\ }\ },\ - \"documentation\":\"

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

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

The metadata options for the instances. For more information, see Configure the instance metadata options in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"InstanceMonitoring\":{\ \"type\":\"structure\",\ @@ -3452,7 +3454,7 @@ - (NSString *)definitionString { \"documentation\":\"

The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes.

You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*.

For example, if you specify c5*, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

Default: All instance types

\"\ }\ },\ - \"documentation\":\"

The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.

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 Auto Scaling 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.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see Preview instance types with specified attributes in the Amazon EC2 User Guide for Linux Instances.

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

The attributes for the instance types for a mixed instances policy. Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.

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 Auto Scaling 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.

You must specify VCpuCount and MemoryMiB. All other attributes are optional. Any unspecified optional attribute is set to its default.

For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide. For help determining which instance types match your attributes before you apply them to your Auto Scaling group, see Preview instance types with specified attributes in the Amazon EC2 User Guide for Linux Instances.

\"\ },\ \"InstanceReusePolicy\":{\ \"type\":\"structure\",\ @@ -3574,11 +3576,11 @@ - (NSString *)definitionString { },\ \"KeyName\":{\ \"shape\":\"XmlStringMaxLen255\",\ - \"documentation\":\"

The name of the key pair.

For more information, see Amazon EC2 Key Pairs in the Amazon EC2 User Guide for Linux Instances.

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

The name of the key pair.

For more information, see Amazon EC2 key pairs and Amazon EC2 instances in the Amazon EC2 User Guide for Linux Instances.

\"\ },\ \"SecurityGroups\":{\ \"shape\":\"SecurityGroups\",\ - \"documentation\":\"

A list that contains the security groups to assign to the instances in the Auto Scaling group. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

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

A list that contains the security groups to assign to the instances in the Auto Scaling group. For more information, see Control traffic to your Amazon Web Services resources using security groups in the Amazon Virtual Private Cloud User Guide.

\"\ },\ \"ClassicLinkVPCId\":{\ \"shape\":\"XmlStringMaxLen255\",\ @@ -3606,15 +3608,15 @@ - (NSString *)definitionString { },\ \"BlockDeviceMappings\":{\ \"shape\":\"BlockDeviceMappings\",\ - \"documentation\":\"

The block device mapping entries that define the block devices to attach to the instances at launch. By default, the block devices specified in the block device mapping for the AMI are used. For more information, see Block Device Mapping in the Amazon EC2 User Guide for Linux Instances.

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

The block device mapping entries that define the block devices to attach to the instances at launch. By default, the block devices specified in the block device mapping for the AMI are used. For more information, see Block device mappings in the Amazon EC2 User Guide for Linux Instances.

\"\ },\ \"InstanceMonitoring\":{\ \"shape\":\"InstanceMonitoring\",\ - \"documentation\":\"

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

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

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

For more information, see Configure monitoring for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"SpotPrice\":{\ \"shape\":\"SpotPrice\",\ - \"documentation\":\"

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price. For more information, see Requesting Spot Instances in the Amazon EC2 Auto Scaling User Guide.

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

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price. For more information, see Requesting Spot Instances for fault-tolerant and flexible applications in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"IamInstanceProfile\":{\ \"shape\":\"XmlStringMaxLen1600\",\ @@ -3626,19 +3628,19 @@ - (NSString *)definitionString { },\ \"EbsOptimized\":{\ \"shape\":\"EbsOptimized\",\ - \"documentation\":\"

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). For more information, see Amazon EBS-Optimized Instances in the Amazon EC2 User Guide for Linux Instances.

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

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). For more information, see Amazon EBS-optimized instances in the Amazon EC2 User Guide for Linux Instances.

\"\ },\ \"AssociatePublicIpAddress\":{\ \"shape\":\"AssociatePublicIpAddress\",\ - \"documentation\":\"

Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet. For more information, see Launching Auto Scaling instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

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

Specifies whether to assign a public IPv4 address to the group's instances. If the instance is launched into a default subnet, the default is to assign a public IPv4 address, unless you disabled the option to assign a public IPv4 address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IPv4 address, unless you enabled the option to assign a public IPv4 address on the subnet. For more information, see Provide network connectivity for your Auto Scaling instances using Amazon VPC in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"PlacementTenancy\":{\ \"shape\":\"XmlStringMaxLen64\",\ - \"documentation\":\"

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

For more information, see Configuring instance tenancy with Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

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

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

\"\ },\ \"MetadataOptions\":{\ \"shape\":\"InstanceMetadataOptions\",\ - \"documentation\":\"

The metadata options for the instances. For more information, see Configuring the Instance Metadata Options in the Amazon EC2 Auto Scaling User Guide.

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

The metadata options for the instances. For more information, see Configure the instance metadata options in the Amazon EC2 Auto Scaling User Guide.

\"\ }\ },\ \"documentation\":\"

Describes a launch configuration.

\"\ @@ -3717,11 +3719,11 @@ - (NSString *)definitionString { \"members\":{\ \"InstanceType\":{\ \"shape\":\"XmlStringMaxLen255\",\ - \"documentation\":\"

The instance type, such as m3.xlarge. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

You can specify up to 40 instance types per Auto Scaling group.

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

The instance type, such as m3.xlarge. You must specify an instance type that is supported in your requested Region and Availability Zones. For more information, see Instance types in the Amazon EC2 User Guide for Linux Instances.

You can specify up to 40 instance types per Auto Scaling group.

\"\ },\ \"WeightedCapacity\":{\ \"shape\":\"XmlStringMaxLen32\",\ - \"documentation\":\"

If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see Configuring instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1–999.

If you specify a value for WeightedCapacity for one instance type, you must specify a value for WeightedCapacity for all of them.

Every Auto Scaling group has three size parameters (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\":\"

If you provide a list of instance types to use, you can specify the number of capacity units provided by each instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. When a Spot or On-Demand Instance is launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches instances until the desired capacity is totally fulfilled, even if this results in an overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only launch an instance with a WeightedCapacity of five units, the instance is launched, and the desired capacity is exceeded by three units. For more information, see Configure an Auto Scaling group to use instance weights in the Amazon EC2 Auto Scaling User Guide. Value must be in the range of 1–999.

If you specify a value for WeightedCapacity for one instance type, you must specify a value for WeightedCapacity for all of them.

Every Auto Scaling group has three size parameters (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.

\"\ },\ \"LaunchTemplateSpecification\":{\ \"shape\":\"LaunchTemplateSpecification\",\ @@ -3750,7 +3752,7 @@ - (NSString *)definitionString { \"documentation\":\"

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions can be created using the Amazon EC2 CreateLaunchTemplateVersion API. If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

\"\ }\ },\ - \"documentation\":\"

Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

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

Describes the launch template and the version of the launch template that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For more information about launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"LifecycleActionResult\":{\"type\":\"string\"},\ \"LifecycleActionToken\":{\ @@ -3838,7 +3840,7 @@ - (NSString *)definitionString { },\ \"RoleARN\":{\ \"shape\":\"XmlStringMaxLen255\",\ - \"documentation\":\"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see Configure a notification target for a lifecycle hook in the Amazon EC2 Auto Scaling User Guide.

Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.

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

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target. For information about creating this role, see Prepare to add a lifecycle hook to your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

Valid only if the notification target is an Amazon SNS topic or an Amazon SQS queue.

\"\ }\ },\ \"documentation\":\"

Describes information used to specify a lifecycle hook for an Auto Scaling group.

For more information, see Amazon EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide.

\"\ @@ -4373,7 +4375,7 @@ - (NSString *)definitionString { },\ \"MaxCapacityBreachBehavior\":{\ \"shape\":\"PredictiveScalingMaxCapacityBreachBehavior\",\ - \"documentation\":\"

Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults to HonorMaxCapacity if not specified.

The following are possible values:

  • HonorMaxCapacity - Amazon EC2 Auto Scaling cannot scale out capacity higher than the maximum capacity. The maximum capacity is enforced as a hard limit.

  • IncreaseMaxCapacity - Amazon EC2 Auto Scaling can scale out capacity higher than the maximum capacity when the forecast capacity is close to or exceeds the maximum capacity. The upper limit is determined by the forecasted capacity and the value for MaxCapacityBuffer.

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

Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Defaults to HonorMaxCapacity if not specified.

The following are possible values:

  • HonorMaxCapacity - Amazon EC2 Auto Scaling can't increase the maximum capacity of the group when the forecast capacity is close to or exceeds the maximum capacity.

  • IncreaseMaxCapacity - Amazon EC2 Auto Scaling can increase the maximum capacity of the group when the forecast capacity is close to or exceeds the maximum capacity. The upper limit is determined by the forecasted capacity and the value for MaxCapacityBuffer.

Use caution when allowing the maximum capacity to be automatically increased. This can lead to more instances being launched than intended if the increased maximum capacity is not monitored and managed. The increased maximum capacity then becomes the new normal maximum capacity for the Auto Scaling group until you manually update it. The maximum capacity does not automatically decrease back to the original maximum.

\"\ },\ \"MaxCapacityBuffer\":{\ \"shape\":\"PredictiveScalingMaxCapacityBuffer\",\ @@ -4543,7 +4545,7 @@ - (NSString *)definitionString { \"documentation\":\"

One of the following processes:

  • Launch

  • Terminate

  • AddToLoadBalancer

  • AlarmNotification

  • AZRebalance

  • HealthCheck

  • InstanceRefresh

  • ReplaceUnhealthy

  • ScheduledActions

\"\ }\ },\ - \"documentation\":\"

Describes a process type.

For more information, see Scaling processes in the Amazon EC2 Auto Scaling User Guide.

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

Describes a process type.

For more information, see Types of processes in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"Processes\":{\ \"type\":\"list\",\ @@ -4666,7 +4668,7 @@ - (NSString *)definitionString { },\ \"Cooldown\":{\ \"shape\":\"Cooldown\",\ - \"documentation\":\"

A cooldown period, in seconds, that applies to a specific simple scaling policy. When a cooldown period is specified here, it overrides the default cooldown.

Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Default: None

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

A cooldown period, in seconds, that applies to a specific simple scaling policy. When a cooldown period is specified here, it overrides the default cooldown.

Valid only if the policy type is SimpleScaling. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Default: None

\"\ },\ \"MetricAggregationType\":{\ \"shape\":\"XmlStringMaxLen32\",\ @@ -4686,7 +4688,7 @@ - (NSString *)definitionString { },\ \"Enabled\":{\ \"shape\":\"ScalingPolicyEnabled\",\ - \"documentation\":\"

Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see Disabling a scaling policy for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

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

Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see Disable a scaling policy for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"PredictiveScalingConfiguration\":{\ \"shape\":\"PredictiveScalingConfiguration\",\ @@ -4821,7 +4823,7 @@ - (NSString *)definitionString { },\ \"CheckpointPercentages\":{\ \"shape\":\"CheckpointPercentages\",\ - \"documentation\":\"

(Optional) Threshold values for each checkpoint in ascending order. Each number must be unique. To replace all instances in the Auto Scaling group, the last number in the array must be 100.

For usage examples, see Adding checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User Guide.

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

(Optional) Threshold values for each checkpoint in ascending order. Each number must be unique. To replace all instances in the Auto Scaling group, the last number in the array must be 100.

For usage examples, see Add checkpoints to an instance refresh in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"CheckpointDelay\":{\ \"shape\":\"CheckpointDelay\",\ @@ -5243,7 +5245,7 @@ - (NSString *)definitionString { },\ \"ShouldRespectGracePeriod\":{\ \"shape\":\"ShouldRespectGracePeriod\",\ - \"documentation\":\"

If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call respects the grace period. Set this to False, to have the call not respect the grace period associated with the group.

For more information about the health check grace period, see CreateAutoScalingGroup in the Amazon EC2 Auto Scaling API Reference.

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

If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call respects the grace period. Set this to False, to have the call not respect the grace period associated with the group.

For more information about the health check grace period, see Set the health check grace period for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

\"\ }\ }\ },\ @@ -5357,7 +5359,7 @@ - (NSString *)definitionString { \"documentation\":\"

The reason that the process was suspended.

\"\ }\ },\ - \"documentation\":\"

Describes an auto scaling process that has been suspended.

For more information, see Scaling processes in the Amazon EC2 Auto Scaling User Guide.

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

Describes an auto scaling process that has been suspended.

For more information, see Types of processes in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"SuspendedProcesses\":{\ \"type\":\"list\",\ @@ -5485,7 +5487,7 @@ - (NSString *)definitionString { \"required\":[\"Id\"],\ \"members\":{\ \"Id\":{\ - \"shape\":\"XmlStringMaxLen255\",\ + \"shape\":\"XmlStringMaxLen64\",\ \"documentation\":\"

A short name that identifies the object's results in the response. This name must be unique among all TargetTrackingMetricDataQuery objects specified for a single scaling policy. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscores. The first character must be a lowercase letter.

\"\ },\ \"Expression\":{\ @@ -5646,7 +5648,7 @@ - (NSString *)definitionString { },\ \"DefaultCooldown\":{\ \"shape\":\"Cooldown\",\ - \"documentation\":\"

Only needed if you use simple scaling policies.

The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

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

Only needed if you use simple scaling policies.

The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see Scaling cooldowns for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"AvailabilityZones\":{\ \"shape\":\"AvailabilityZones\",\ @@ -5654,7 +5656,7 @@ - (NSString *)definitionString { },\ \"HealthCheckType\":{\ \"shape\":\"XmlStringMaxLen32\",\ - \"documentation\":\"

A comma-separated value string of one or more health check types.

The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

Only specify EC2 if you must clear a value that was previously set.

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

A comma-separated value string of one or more health check types.

The valid values are EC2, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see Health checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

Only specify EC2 if you must clear a value that was previously set.

\"\ },\ \"HealthCheckGracePeriod\":{\ \"shape\":\"HealthCheckGracePeriod\",\ @@ -5670,11 +5672,11 @@ - (NSString *)definitionString { },\ \"TerminationPolicies\":{\ \"shape\":\"TerminationPolicies\",\ - \"documentation\":\"

A policy or a list of policies that are used to select the instances to terminate. The policies are executed in the order that you list them. For more information, see Work with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling User Guide.

Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias

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

A policy or a list of policies that are used to select the instances to terminate. The policies are executed in the order that you list them. For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias

\"\ },\ \"NewInstancesProtectedFromScaleIn\":{\ \"shape\":\"InstanceProtected\",\ - \"documentation\":\"

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

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

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

\"\ },\ \"ServiceLinkedRoleARN\":{\ \"shape\":\"ResourceName\",\ @@ -5694,7 +5696,7 @@ - (NSString *)definitionString { },\ \"DesiredCapacityType\":{\ \"shape\":\"XmlStringMaxLen255\",\ - \"documentation\":\"

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

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

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances.

Valid values: units | vcpu | memory-mib

\"\ },\ \"DefaultInstanceWarmup\":{\ \"shape\":\"DefaultInstanceWarmup\",\ @@ -5837,7 +5839,7 @@ - (NSString *)definitionString { \"pattern\":\"[\\\\u0020-\\\\uD7FF\\\\uE000-\\\\uFFFD\\\\uD800\\\\uDC00-\\\\uDBFF\\\\uDFFF\\\\r\\\\n\\\\t]*\"\ }\ },\ - \"documentation\":\"Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks.

For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

\"\ + \"documentation\":\"Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks.

For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

\"\ }\ "; } diff --git a/AWSAutoScaling/AWSAutoScalingService.h b/AWSAutoScaling/AWSAutoScalingService.h index 966f101b9d7..2f5bc37fbdc 100644 --- a/AWSAutoScaling/AWSAutoScalingService.h +++ b/AWSAutoScaling/AWSAutoScalingService.h @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; /** - Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks.

For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

+ Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks.

For more information, see the Amazon EC2 Auto Scaling User Guide and the Amazon EC2 Auto Scaling API Reference.

*/ @interface AWSAutoScaling : AWSService @@ -175,7 +175,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; + (void)removeAutoScalingForKey:(NSString *)key; /** -

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 instances to your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

+

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Detach or attach instances in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the AttachInstances service method. @@ -186,7 +186,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)attachInstances:(AWSAutoScalingAttachInstancesQuery *)request; /** -

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 instances to your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

+

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Detach or attach instances in the Amazon EC2 Auto Scaling User Guide.

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

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, 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 more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a launch template or a launch configuration. We strongly recommend that you do not use launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For information about using launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

+

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, 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 more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a launch template or a launch configuration. We strongly recommend that you do not use launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For information about using launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchConfiguration service method. @@ -405,7 +405,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)createLaunchConfiguration:(AWSAutoScalingCreateLaunchConfigurationType *)request; /** -

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, 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 more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a launch template or a launch configuration. We strongly recommend that you do not use launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For information about using launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

+

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, 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 more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a launch template or a launch configuration. We strongly recommend that you do not use launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For information about using launch templates, see Launch templates in the Amazon EC2 Auto Scaling User Guide.

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

Deletes the specified scaling policy.

Deleting either a step scaling policy or a simple scaling policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

For more information, see Deleting a scaling policy in the Amazon EC2 Auto Scaling User Guide.

+

Deletes the specified scaling policy.

Deleting either a step scaling policy or a simple scaling policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

For more information, see Delete a scaling policy in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the DeletePolicy service method. @@ -540,7 +540,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)deletePolicy:(AWSAutoScalingDeletePolicyType *)request; /** -

Deletes the specified scaling policy.

Deleting either a step scaling policy or a simple scaling policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

For more information, see Deleting a scaling policy in the Amazon EC2 Auto Scaling User Guide.

+

Deletes the specified scaling policy.

Deleting either a step scaling policy or a simple scaling policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

For more information, see Delete a scaling policy in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the DeletePolicy service method. @param completionHandler The completion handler to call when the load request is complete. @@ -970,7 +970,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (void)describePolicies:(AWSAutoScalingDescribePoliciesType *)request completionHandler:(void (^ _Nullable)(AWSAutoScalingPoliciesType * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Gets information about the scaling activities in the account and Region.

When scaling events occur, you see a record of the scaling activity in the scaling activities. For more information, see Verifying a scaling activity for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

If the scaling event succeeds, the value of the StatusCode element in the response is Successful. If an attempt to launch instances failed, the StatusCode value is Failed or Cancelled and the StatusMessage element in the response indicates the cause of the failure. For help interpreting the StatusMessage, see Troubleshooting Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

+

Gets information about the scaling activities in the account and Region.

When scaling events occur, you see a record of the scaling activity in the scaling activities. For more information, see Verify a scaling activity for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

If the scaling event succeeds, the value of the StatusCode element in the response is Successful. If an attempt to launch instances failed, the StatusCode value is Failed or Cancelled and the StatusMessage element in the response indicates the cause of the failure. For help interpreting the StatusMessage, see Troubleshooting Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the DescribeScalingActivities service method. @@ -982,7 +982,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)describeScalingActivities:(AWSAutoScalingDescribeScalingActivitiesType *)request; /** -

Gets information about the scaling activities in the account and Region.

When scaling events occur, you see a record of the scaling activity in the scaling activities. For more information, see Verifying a scaling activity for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

If the scaling event succeeds, the value of the StatusCode element in the response is Successful. If an attempt to launch instances failed, the StatusCode value is Failed or Cancelled and the StatusMessage element in the response indicates the cause of the failure. For help interpreting the StatusMessage, see Troubleshooting Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

+

Gets information about the scaling activities in the account and Region.

When scaling events occur, you see a record of the scaling activity in the scaling activities. For more information, see Verify a scaling activity for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

If the scaling event succeeds, the value of the StatusCode element in the response is Successful. If an attempt to launch instances failed, the StatusCode value is Failed or Cancelled and the StatusMessage element in the response indicates the cause of the failure. For help interpreting the StatusMessage, see Troubleshooting Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the DescribeScalingActivities service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1070,7 +1070,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (void)describeTags:(AWSAutoScalingDescribeTagsType *)request completionHandler:(void (^ _Nullable)(AWSAutoScalingTagsType * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Work with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling User Guide.

+

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the DescribeTerminationPolicyTypes service method. @@ -1082,7 +1082,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)describeTerminationPolicyTypes:(AWSRequest *)request; /** -

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Work with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling User Guide.

+

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Configure termination policies for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the DescribeTerminationPolicyTypes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1145,7 +1145,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (void)describeWarmPool:(AWSAutoScalingDescribeWarmPoolType *)request completionHandler:(void (^ _Nullable)(AWSAutoScalingDescribeWarmPoolAnswer * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 instances from your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

+

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach or attach instances in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the DetachInstances service method. @@ -1157,7 +1157,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)detachInstances:(AWSAutoScalingDetachInstancesQuery *)request; /** -

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 instances from your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

+

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach or attach instances in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the DetachInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1411,7 +1411,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (void)putLifecycleHook:(AWSAutoScalingPutLifecycleHookType *)request completionHandler:(void (^ _Nullable)(AWSAutoScalingPutLifecycleHookAnswer * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Getting Amazon SNS notifications when your Auto Scaling group scales in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling group, the call fails.

+

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Amazon SNS notification options for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling group, the call fails.

@param request A container for the necessary parameters to execute the PutNotificationConfiguration service method. @@ -1422,7 +1422,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)putNotificationConfiguration:(AWSAutoScalingPutNotificationConfigurationType *)request; /** -

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Getting Amazon SNS notifications when your Auto Scaling group scales in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling group, the call fails.

+

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Amazon SNS notification options for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling group, the call fails.

@param request A container for the necessary parameters to execute the PutNotificationConfiguration service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1458,7 +1458,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (void)putScalingPolicy:(AWSAutoScalingPutScalingPolicyType *)request completionHandler:(void (^ _Nullable)(AWSAutoScalingPolicyARNType * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates or updates a scheduled scaling action for an Auto Scaling group.

For more information, see Scheduled scaling in the Amazon EC2 Auto Scaling User Guide.

You can view the scheduled actions for an Auto Scaling group using the DescribeScheduledActions API call. If you are no longer using a scheduled action, you can delete it by calling the DeleteScheduledAction API.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

+

Creates or updates a scheduled scaling action for an Auto Scaling group.

For more information, see Scheduled scaling in the Amazon EC2 Auto Scaling User Guide.

You can view the scheduled actions for an Auto Scaling group using the DescribeScheduledActions API call. If you are no longer using a scheduled action, you can delete it by calling the DeleteScheduledAction API.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

@param request A container for the necessary parameters to execute the PutScheduledUpdateGroupAction service method. @@ -1469,7 +1469,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)putScheduledUpdateGroupAction:(AWSAutoScalingPutScheduledUpdateGroupActionType *)request; /** -

Creates or updates a scheduled scaling action for an Auto Scaling group.

For more information, see Scheduled scaling in the Amazon EC2 Auto Scaling User Guide.

You can view the scheduled actions for an Auto Scaling group using the DescribeScheduledActions API call. If you are no longer using a scheduled action, you can delete it by calling the DeleteScheduledAction API.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

+

Creates or updates a scheduled scaling action for an Auto Scaling group.

For more information, see Scheduled scaling in the Amazon EC2 Auto Scaling User Guide.

You can view the scheduled actions for an Auto Scaling group using the DescribeScheduledActions API call. If you are no longer using a scheduled action, you can delete it by calling the DeleteScheduledAction API.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

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

Creates or updates a warm pool for the specified Auto Scaling group. A warm pool is a pool of pre-initialized EC2 instances that sits alongside the Auto Scaling group. Whenever your application needs to scale out, the Auto Scaling group can draw on the warm pool to meet its new desired capacity. For more information and example configurations, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

This operation must be called from the Region in which the Auto Scaling group was created. This operation cannot be called on an Auto Scaling group that has a mixed instances policy or a launch template or launch configuration that requests Spot Instances.

You can view the instances in the warm pool using the DescribeWarmPool API call. If you are no longer using a warm pool, you can delete it by calling the DeleteWarmPool API.

+

Creates or updates a warm pool for the specified Auto Scaling group. A warm pool is a pool of pre-initialized EC2 instances that sits alongside the Auto Scaling group. Whenever your application needs to scale out, the Auto Scaling group can draw on the warm pool to meet its new desired capacity.

This operation must be called from the Region in which the Auto Scaling group was created.

You can view the instances in the warm pool using the DescribeWarmPool API call. If you are no longer using a warm pool, you can delete it by calling the DeleteWarmPool API.

For more information, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the PutWarmPool service method. @@ -1492,7 +1492,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)putWarmPool:(AWSAutoScalingPutWarmPoolType *)request; /** -

Creates or updates a warm pool for the specified Auto Scaling group. A warm pool is a pool of pre-initialized EC2 instances that sits alongside the Auto Scaling group. Whenever your application needs to scale out, the Auto Scaling group can draw on the warm pool to meet its new desired capacity. For more information and example configurations, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

This operation must be called from the Region in which the Auto Scaling group was created. This operation cannot be called on an Auto Scaling group that has a mixed instances policy or a launch template or launch configuration that requests Spot Instances.

You can view the instances in the warm pool using the DescribeWarmPool API call. If you are no longer using a warm pool, you can delete it by calling the DeleteWarmPool API.

+

Creates or updates a warm pool for the specified Auto Scaling group. A warm pool is a pool of pre-initialized EC2 instances that sits alongside the Auto Scaling group. Whenever your application needs to scale out, the Auto Scaling group can draw on the warm pool to meet its new desired capacity.

This operation must be called from the Region in which the Auto Scaling group was created.

You can view the instances in the warm pool using the DescribeWarmPool API call. If you are no longer using a warm pool, you can delete it by calling the DeleteWarmPool API.

For more information, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the PutWarmPool service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1530,7 +1530,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (void)recordLifecycleActionHeartbeat:(AWSAutoScalingRecordLifecycleActionHeartbeatType *)request completionHandler:(void (^ _Nullable)(AWSAutoScalingRecordLifecycleActionHeartbeatAnswer * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Resumes the specified suspended auto scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide.

+

Resumes the specified suspended auto scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspend and resume Amazon EC2 Auto Scaling processes in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the ResumeProcesses service method. @@ -1541,7 +1541,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)resumeProcesses:(AWSAutoScalingScalingProcessQuery *)request; /** -

Resumes the specified suspended auto scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide.

+

Resumes the specified suspended auto scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspend and resume Amazon EC2 Auto Scaling processes in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the ResumeProcesses service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1577,7 +1577,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (void)rollbackInstanceRefresh:(AWSAutoScalingRollbackInstanceRefreshType *)request completionHandler:(void (^ _Nullable)(AWSAutoScalingRollbackInstanceRefreshAnswer * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Sets the size of the specified Auto Scaling group.

If a scale-in activity occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate.

For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

+

Sets the size of the specified Auto Scaling group.

If a scale-in activity occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate.

For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the SetDesiredCapacity service method. @@ -1588,7 +1588,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)setDesiredCapacity:(AWSAutoScalingSetDesiredCapacityType *)request; /** -

Sets the size of the specified Auto Scaling group.

If a scale-in activity occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate.

For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

+

Sets the size of the specified Auto Scaling group.

If a scale-in activity occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate.

For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

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

Sets the health status of the specified instance.

For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

+

Sets the health status of the specified instance.

For more information, see Health checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the SetInstanceHealth service method. @@ -1610,7 +1610,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)setInstanceHealth:(AWSAutoScalingSetInstanceHealthQuery *)request; /** -

Sets the health status of the specified instance.

For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.

+

Sets the health status of the specified instance.

For more information, see Health checks for instances in an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.

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

Updates the instance protection settings of the specified instances. This operation cannot be called on instances in a warm pool.

For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group, the call fails.

+

Updates the instance protection settings of the specified instances. This operation cannot be called on instances in a warm pool.

For more information, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group, the call fails.

@param request A container for the necessary parameters to execute the SetInstanceProtection service method. @@ -1633,7 +1633,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)setInstanceProtection:(AWSAutoScalingSetInstanceProtectionQuery *)request; /** -

Updates the instance protection settings of the specified instances. This operation cannot be called on instances in a warm pool.

For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group, the call fails.

+

Updates the instance protection settings of the specified instances. This operation cannot be called on instances in a warm pool.

For more information, see Use instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group, the call fails.

@param request A container for the necessary parameters to execute the SetInstanceProtection service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1671,7 +1671,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (void)startInstanceRefresh:(AWSAutoScalingStartInstanceRefreshType *)request completionHandler:(void (^ _Nullable)(AWSAutoScalingStartInstanceRefreshAnswer * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Suspends the specified auto scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly. For more information, see Suspending and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide.

To resume processes that have been suspended, call the ResumeProcesses API.

+

Suspends the specified auto scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly. For more information, see Suspend and resume Amazon EC2 Auto Scaling processes in the Amazon EC2 Auto Scaling User Guide.

To resume processes that have been suspended, call the ResumeProcesses API.

@param request A container for the necessary parameters to execute the SuspendProcesses service method. @@ -1682,7 +1682,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)suspendProcesses:(AWSAutoScalingScalingProcessQuery *)request; /** -

Suspends the specified auto scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly. For more information, see Suspending and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide.

To resume processes that have been suspended, call the ResumeProcesses API.

+

Suspends the specified auto scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly. For more information, see Suspend and resume Amazon EC2 Auto Scaling processes in the Amazon EC2 Auto Scaling User Guide.

To resume processes that have been suspended, call the ResumeProcesses API.

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

Terminates the specified instance and optionally adjusts the desired group size. This operation cannot be called on instances in a warm pool.

This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.

By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Rebalancing activities in the Amazon EC2 Auto Scaling User Guide.

+

Terminates the specified instance and optionally adjusts the desired group size. This operation cannot be called on instances in a warm pool.

This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.

By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the TerminateInstanceInAutoScalingGroup service method. @@ -1705,7 +1705,7 @@ FOUNDATION_EXPORT NSString *const AWSAutoScalingSDKVersion; - (AWSTask *)terminateInstanceInAutoScalingGroup:(AWSAutoScalingTerminateInstanceInAutoScalingGroupType *)request; /** -

Terminates the specified instance and optionally adjusts the desired group size. This operation cannot be called on instances in a warm pool.

This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.

By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Rebalancing activities in the Amazon EC2 Auto Scaling User Guide.

+

Terminates the specified instance and optionally adjusts the desired group size. This operation cannot be called on instances in a warm pool.

This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.

By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.

@param request A container for the necessary parameters to execute the TerminateInstanceInAutoScalingGroup service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSAutoScaling/AWSAutoScalingService.m b/AWSAutoScaling/AWSAutoScalingService.m index a79529d9792..eed97be5605 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.36.3"; +NSString *const AWSAutoScalingSDKVersion = @"2.36.4"; @interface AWSAutoScalingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSAutoScaling/Info.plist b/AWSAutoScaling/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSAutoScaling/Info.plist +++ b/AWSAutoScaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKIdentity.podspec b/AWSChimeSDKIdentity.podspec index 9440adb48bc..6aad4360cd1 100644 --- a/AWSChimeSDKIdentity.podspec +++ b/AWSChimeSDKIdentity.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKIdentity' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 dd11f4e3b42..731a4a2573f 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.36.3"; +NSString *const AWSChimeSDKIdentitySDKVersion = @"2.36.4"; @interface AWSChimeSDKIdentityResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKIdentity/Info.plist b/AWSChimeSDKIdentity/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSChimeSDKIdentity/Info.plist +++ b/AWSChimeSDKIdentity/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKMessaging.podspec b/AWSChimeSDKMessaging.podspec index c04f12a7ca9..ab904f13099 100644 --- a/AWSChimeSDKMessaging.podspec +++ b/AWSChimeSDKMessaging.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKMessaging' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 e736be8f543..72f2a389f7e 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.36.3"; +NSString *const AWSChimeSDKMessagingSDKVersion = @"2.36.4"; @interface AWSChimeSDKMessagingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKMessaging/Info.plist b/AWSChimeSDKMessaging/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSChimeSDKMessaging/Info.plist +++ b/AWSChimeSDKMessaging/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCloudWatch.podspec b/AWSCloudWatch.podspec index 0a05ddd2f1c..3a65f047b50 100644 --- a/AWSCloudWatch.podspec +++ b/AWSCloudWatch.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCloudWatch' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 4dd7eaca2ca..5d3cd72328d 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.36.3"; +NSString *const AWSCloudWatchSDKVersion = @"2.36.4"; @interface AWSCloudWatchResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSCloudWatch/Info.plist b/AWSCloudWatch/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSCloudWatch/Info.plist +++ b/AWSCloudWatch/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoAuth.podspec b/AWSCognitoAuth.podspec index b14b0668a10..2494245e36d 100644 --- a/AWSCognitoAuth.podspec +++ b/AWSCognitoAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoAuth' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' - s.dependency 'AWSCognitoIdentityProviderASF', '2.36.3' + s.dependency 'AWSCore', '2.36.4' + s.dependency 'AWSCognitoIdentityProviderASF', '2.36.4' s.source_files = 'AWSCognitoAuth/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoAuth/*.h' diff --git a/AWSCognitoAuth/AWSCognitoAuth.m b/AWSCognitoAuth/AWSCognitoAuth.m index 6e781fdef94..3552437347a 100644 --- a/AWSCognitoAuth/AWSCognitoAuth.m +++ b/AWSCognitoAuth/AWSCognitoAuth.m @@ -84,7 +84,7 @@ @interface AWSCognitoAuthConfiguration() @implementation AWSCognitoAuth -NSString *const AWSCognitoAuthSDKVersion = @"2.36.3"; +NSString *const AWSCognitoAuthSDKVersion = @"2.36.4"; static NSMutableDictionary *_instanceDictionary = nil; diff --git a/AWSCognitoAuth/Info.plist b/AWSCognitoAuth/Info.plist index 5ebfa80e069..ff53b0b953a 100644 --- a/AWSCognitoAuth/Info.plist +++ b/AWSCognitoAuth/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProvider.podspec b/AWSCognitoIdentityProvider.podspec index 34c5e8887d0..a7aed0214fc 100644 --- a/AWSCognitoIdentityProvider.podspec +++ b/AWSCognitoIdentityProvider.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProvider' - s.version = '2.36.3' + s.version = '2.36.4' 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,11 +13,11 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true s.frameworks = 'Security', 'UIKit' - s.dependency 'AWSCore', '2.36.3' - s.dependency 'AWSCognitoIdentityProviderASF', '2.36.3' + s.dependency 'AWSCore', '2.36.4' + s.dependency 'AWSCognitoIdentityProviderASF', '2.36.4' s.source_files = 'AWSCognitoIdentityProvider/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoIdentityProvider/*.h' s.private_header_files = 'AWSCognitoIdentityProvider/Internal/*.h' - s.resource_bundle = { 'AWSCognitoIdentityProvider' => ['AWSCognitoIdentityProvider/PrivacyInfo.xcprivacy'] } + s.resource_bundle = { 'AWSCognitoIdentityProvider' => ['AWSCognitoIdentityProvider/PrivacyInfo.xcprivacy']} end diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m index 670261330c7..fa1ef972cae 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m @@ -68,7 +68,8 @@ - (NSString *)definitionString { \"serviceId\":\"Cognito Identity Provider\",\ \"signatureVersion\":\"v4\",\ \"targetPrefix\":\"AWSCognitoIdentityProviderService\",\ - \"uid\":\"cognito-idp-2016-04-18\"\ + \"uid\":\"cognito-idp-2016-04-18\",\ + \"auth\":[\"aws.auth#sigv4\"]\ },\ \"operations\":{\ \"AddCustomAttributes\":{\ @@ -631,7 +632,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Begins setup of time-based one-time password (TOTP) multi-factor authentication (MFA) for a user, with a unique private key that Amazon Cognito generates and returns in the API response. You can authorize an AssociateSoftwareToken request with either the user's access token, or a session string from a challenge response that you received from Amazon Cognito.

Amazon Cognito disassociates an existing software token when you verify the new token in a VerifySoftwareToken API request. If you don't verify the software token and your user pool doesn't require MFA, the user can then authenticate with user name and password credentials alone. If your user pool requires TOTP MFA, Amazon Cognito generates an MFA_SETUP or SOFTWARE_TOKEN_SETUP challenge each time your user signs. Complete setup with AssociateSoftwareToken and VerifySoftwareToken.

After you set up software token MFA for your user, Amazon Cognito generates a SOFTWARE_TOKEN_MFA challenge when they authenticate. Respond to this challenge with your user's TOTP.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"ChangePassword\":{\ \"name\":\"ChangePassword\",\ @@ -655,7 +657,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Changes the password for a specified user in a user pool.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"ConfirmDevice\":{\ \"name\":\"ConfirmDevice\",\ @@ -681,7 +684,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Confirms tracking of the device. This API call is the call that begins device tracking. For more information about device authentication, see Working with user devices in your user pool.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"ConfirmForgotPassword\":{\ \"name\":\"ConfirmForgotPassword\",\ @@ -710,7 +714,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Allows a user to enter a confirmation code to reset a forgotten password.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"ConfirmSignUp\":{\ \"name\":\"ConfirmSignUp\",\ @@ -738,7 +743,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

This public API operation provides a code that Amazon Cognito sent to your user when they signed up in your user pool via the SignUp API operation. After your user enters their code, they confirm ownership of the email address or phone number that they provided, and their user account becomes active. Depending on your user pool configuration, your users will receive their confirmation code in an email or SMS message.

Local users who signed up in your user pool are the only type of user who can confirm sign-up with a code. Users who federate through an external identity provider (IdP) have already been confirmed by their IdP. Administrator-created users, users created with the AdminCreateUser API operation, confirm their accounts when they respond to their invitation email message and choose a password. They do not receive a confirmation code. Instead, they receive a temporary password.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"CreateGroup\":{\ \"name\":\"CreateGroup\",\ @@ -942,7 +948,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Allows a user to delete their own user profile.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"DeleteUserAttributes\":{\ \"name\":\"DeleteUserAttributes\",\ @@ -964,7 +971,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Deletes the attributes for a user.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"DeleteUserPool\":{\ \"name\":\"DeleteUserPool\",\ @@ -1156,7 +1164,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Forgets the specified device. For more information about device authentication, see Working with user devices in your user pool.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"ForgotPassword\":{\ \"name\":\"ForgotPassword\",\ @@ -1184,7 +1193,8 @@ - (NSString *)definitionString { {\"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.

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\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"GetCSVHeader\":{\ \"name\":\"GetCSVHeader\",\ @@ -1224,7 +1234,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Gets the device. For more information about device authentication, see Working with user devices in your user pool.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"GetGroup\":{\ \"name\":\"GetGroup\",\ @@ -1329,7 +1340,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Gets the user attributes and metadata for a user.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"GetUserAttributeVerificationCode\":{\ \"name\":\"GetUserAttributeVerificationCode\",\ @@ -1359,7 +1371,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Generates a user attribute verification code for the specified attribute name. Sends a message to a user with a code that they must return in a VerifyUserAttribute request.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"GetUserPoolMfaConfig\":{\ \"name\":\"GetUserPoolMfaConfig\",\ @@ -1397,7 +1410,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Invalidates the identity, access, and refresh tokens that Amazon Cognito issued to a user. Call this operation when your user signs out of your app. This results in the following behavior.

  • Amazon Cognito no longer accepts token-authorized user operations that you authorize with a signed-out user's access tokens. For more information, see Using the Amazon Cognito user pools API and user pool endpoints.

    Amazon Cognito returns an Access Token has been revoked error when your app attempts to authorize a user pools API request with a revoked access token that contains the scope aws.cognito.signin.user.admin.

  • Amazon Cognito no longer accepts a signed-out user's ID token in a GetId request to an identity pool with ServerSideTokenCheck enabled for its user pool IdP configuration in CognitoIdentityProvider.

  • Amazon Cognito no longer accepts a signed-out user's refresh tokens in refresh requests.

Other requests might be valid until your user's token expires.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"InitiateAuth\":{\ \"name\":\"InitiateAuth\",\ @@ -1425,7 +1439,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Initiates sign-in for a user in the Amazon Cognito user directory. You can't sign in a user with a federated IdP with InitiateAuth. For more information, see Adding user pool sign-in through a third party.

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\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"ListDevices\":{\ \"name\":\"ListDevices\",\ @@ -1448,7 +1463,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Lists the sign-in devices that Amazon Cognito has registered to the current user. For more information about device authentication, see Working with user devices in your user pool.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"ListGroups\":{\ \"name\":\"ListGroups\",\ @@ -1628,7 +1644,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

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\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"RespondToAuthChallenge\":{\ \"name\":\"RespondToAuthChallenge\",\ @@ -1662,7 +1679,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Some API operations in a user pool generate a challenge, like a prompt for an MFA code, for device authentication that bypasses MFA, or for a custom authentication challenge. A RespondToAuthChallenge API request provides the answer to that challenge, like a code or a secure remote password (SRP). The parameters of a response to an authentication challenge vary with the type of challenge.

For more information about custom authentication challenges, see Custom authentication challenge Lambda triggers.

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\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"RevokeToken\":{\ \"name\":\"RevokeToken\",\ @@ -1682,7 +1700,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Revokes all of the access tokens generated by, and at the same time as, the specified refresh token. After a token is revoked, you can't use the revoked token to access Amazon Cognito user APIs, or to authorize access to your resource server.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"SetLogDeliveryConfiguration\":{\ \"name\":\"SetLogDeliveryConfiguration\",\ @@ -1757,7 +1776,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Set the user's multi-factor authentication (MFA) method preference, including which MFA factors are activated and if any are preferred. Only one factor can be set as preferred. The preferred MFA factor will be used to authenticate a user if multiple factors are activated. If multiple options are activated and no preference is set, a challenge to choose an MFA option will be returned during sign-in. If an MFA type is activated for a user, the user will be prompted for MFA during all sign-in attempts unless device tracking is turned on and the device has been trusted. If you want MFA to be applied selectively based on the assessed risk level of sign-in attempts, deactivate MFA for users and turn on Adaptive Authentication for the user pool.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"SetUserPoolMfaConfig\":{\ \"name\":\"SetUserPoolMfaConfig\",\ @@ -1798,7 +1818,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

This action is no longer supported. You can use it to configure only SMS MFA. You can't use it to configure time-based one-time password (TOTP) software token MFA. To configure either type of MFA, use SetUserMFAPreference instead.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"SignUp\":{\ \"name\":\"SignUp\",\ @@ -1827,7 +1848,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Registers the user in the specified user pool and creates a user name, password, and user attributes.

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\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"StartUserImportJob\":{\ \"name\":\"StartUserImportJob\",\ @@ -1917,7 +1939,8 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"}\ ],\ \"documentation\":\"

Provides the feedback for an authentication event, whether it was from a valid user or not. This feedback is used for improving the risk evaluation decision for the user pool as part of Amazon Cognito advanced security.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"UpdateDeviceStatus\":{\ \"name\":\"UpdateDeviceStatus\",\ @@ -1940,7 +1963,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Updates the device status. For more information about device authentication, see Working with user devices in your user pool.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"UpdateGroup\":{\ \"name\":\"UpdateGroup\",\ @@ -2025,7 +2049,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

With this operation, your users can update one or more of their attributes with their own credentials. You authorize this API request with the user's access token. To delete an attribute from your user, submit the attribute in your API request with a blank value. Custom attribute values in this request must include the custom: prefix.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"UpdateUserPool\":{\ \"name\":\"UpdateUserPool\",\ @@ -2112,7 +2137,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Use this API to register a user's entered time-based one-time password (TOTP) code and mark the user's software token MFA status as \\\"verified\\\" if successful. The request takes an access token or a session string, but not both.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ },\ \"VerifyUserAttribute\":{\ \"name\":\"VerifyUserAttribute\",\ @@ -2138,7 +2164,8 @@ - (NSString *)definitionString { {\"shape\":\"ForbiddenException\"}\ ],\ \"documentation\":\"

Verifies the specified user attributes in the user pool.

If your user pool requires verification before Amazon Cognito updates the attribute value, VerifyUserAttribute updates the affected attribute to its pending value. For more information, see UserAttributeUpdateSettingsType.

Authorize this action with a signed-in user's access token. It must include the scope aws.cognito.signin.user.admin.

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.

\",\ - \"authtype\":\"none\"\ + \"authtype\":\"none\",\ + \"auth\":[\"smithy.api#noAuth\"]\ }\ },\ \"shapes\":{\ diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m index 5330583709a..305aee2a63f 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.36.3"; +NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.36.4"; @interface AWSCognitoIdentityProviderResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSCognitoIdentityProvider/Info.plist b/AWSCognitoIdentityProvider/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSCognitoIdentityProvider/Info.plist +++ b/AWSCognitoIdentityProvider/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProviderASF.podspec b/AWSCognitoIdentityProviderASF.podspec index c9f4f3a93b8..ce0bb125ba9 100644 --- a/AWSCognitoIdentityProviderASF.podspec +++ b/AWSCognitoIdentityProviderASF.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProviderASF' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 bc609a41a30..35fae899278 100644 --- a/AWSCognitoIdentityProviderASF/Info.plist +++ b/AWSCognitoIdentityProviderASF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSComprehend.podspec b/AWSComprehend.podspec index 87e514bfe31..552eef9ef5c 100644 --- a/AWSComprehend.podspec +++ b/AWSComprehend.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSComprehend' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 61774cbd30a..ea6a03e9ba4 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.36.3"; +NSString *const AWSComprehendSDKVersion = @"2.36.4"; @interface AWSComprehendResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSComprehend/Info.plist b/AWSComprehend/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSComprehend/Info.plist +++ b/AWSComprehend/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnect.podspec b/AWSConnect.podspec index 586fecd801f..2bbd60a4278 100644 --- a/AWSConnect.podspec +++ b/AWSConnect.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnect' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSConnect/*.{h,m}' s.resource_bundle = { 'AWSConnect' => ['AWSConnect/PrivacyInfo.xcprivacy']} end diff --git a/AWSConnect/AWSConnectModel.h b/AWSConnect/AWSConnectModel.h index 9422c2cf9f8..7a8a04bde51 100644 --- a/AWSConnect/AWSConnectModel.h +++ b/AWSConnect/AWSConnectModel.h @@ -1076,6 +1076,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectAgentStatus; @class AWSConnectAgentStatusReference; @class AWSConnectAgentStatusSummary; +@class AWSConnectAgentsCriteria; @class AWSConnectAllowedCapabilities; @class AWSConnectAnalyticsDataAssociationResult; @class AWSConnectAnswerMachineDetectionConfig; @@ -1499,6 +1500,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectListViewVersionsResponse; @class AWSConnectListViewsRequest; @class AWSConnectListViewsResponse; +@class AWSConnectMatchCriteria; @class AWSConnectMediaConcurrency; @class AWSConnectMediaPlacement; @class AWSConnectMeeting; @@ -2122,6 +2124,19 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Can be used to define a list of preferred agents to target the contact within the queue. Note that agents must have the queue in their routing profile in order to be offered the contact.

+ */ +@interface AWSConnectAgentsCriteria : AWSModel + + +/** +

An object to specify a list of agents, by Agent ID.

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

Information about the capabilities enabled for participants of the contact.

*/ @@ -2767,6 +2782,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable comparisonOperator; +/** +

An object to define AgentsCriteria.

+ */ +@property (nonatomic, strong) AWSConnectMatchCriteria * _Nullable matchCriteria; + /**

The name of predefined attribute.

*/ @@ -8204,7 +8224,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSNumber * _Nullable booleanValue; /** -

a Double number value type.

+

A Double number value type.

*/ @property (nonatomic, strong) NSNumber * _Nullable doubleValue; @@ -8720,7 +8740,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 Guide.

ABANDONMENT_RATE

Unit: Percent

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

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, Q in Connect

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

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

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average conversation duration

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

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, Q in Connect

UI name: Average agent greeting time

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average agent interruptions

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, Q in Connect

UI name: Average agent interruption time

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average agent talk time

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, Q in Connect

UI name: Average customer talk time

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

Metric filter:

  • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

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

UI name: Contact abandoned

CONTACTS_ABANDONED_IN_X

Unit: Count

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

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

CONTACTS_ANSWERED_IN_X

Unit: Count

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

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

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

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, Q in Connect

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, Q in Connect

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

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

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

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

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

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

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

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

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

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

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

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

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, Q in Connect

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 (enqueue timestamp)

CONTACTS_RESOLVED_IN_X

Unit: Count

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

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, Q in Connect

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, Q in Connect

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, Q in Connect

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

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

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

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow 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_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Agent talk time 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, Q in Connect

UI name: Customer talk time 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, Q in Connect

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, Q in Connect

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, Q in Connect

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_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

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

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, Q in Connect

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

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

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, Q in Connect

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, Q in Connect

UI name: Callback attempts

+

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 Guide.

ABANDONMENT_RATE

Unit: Percent

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

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, Q in Connect

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

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

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average conversation duration

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

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, Q in Connect

UI name: Average agent greeting time

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average agent interruptions

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, Q in Connect

UI name: Average agent interruption time

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average agent talk time

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, Q in Connect

UI name: Average customer talk time

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

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, Q in Connect

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, Q in Connect

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

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

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

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

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

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

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

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

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

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

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

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

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, Q in Connect

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 (enqueue timestamp)

CONTACTS_REMOVED_FROM_QUEUE_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

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: This metric is not available in Amazon Connect admin website.

CONTACTS_RESOLVED_IN_X

Unit: Count

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

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, Q in Connect

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, Q in Connect

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, Q in Connect

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

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

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

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow 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: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Agent talk time 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, Q in Connect

UI name: Customer talk time 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, Q in Connect

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: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

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_CONTACTS_ABANDONED

Unit: Count

Metric filter:

  • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

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

UI name: Contact abandoned

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

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

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_ANSWERED_IN_X

Unit: Count

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

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_CONTACT_FLOW_TIME

Unit: Seconds

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

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

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

UI name: Agent on contact time

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, Q in Connect

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: 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, Q in Connect

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

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

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, Q in Connect

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, Q in Connect

UI name: Callback attempts

*/ @property (nonatomic, strong) NSArray * _Nullable metrics; @@ -11996,6 +12016,19 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

An object to define AgentsCriteria.

+ */ +@interface AWSConnectMatchCriteria : AWSModel + + +/** +

An object to define AgentIds.

+ */ +@property (nonatomic, strong) AWSConnectAgentsCriteria * _Nullable agentsCriteria; + +@end + /**

Contains information about which channels are supported, and how many contacts an agent can have on a channel simultaneously.

Required parameters: [Channel, Concurrency] @@ -14561,7 +14594,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSArray * _Nullable queueIds; /** -

The search criteria based on user-defined contact attributes that have been configured for contact search. For more information, see Search by customer contact attributes in the Amazon Connect Administrator Guide.

To use SearchableContactAttributes in a search request, the GetContactAttributes action is required to perform an API request. For more information, see https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html#amazonconnect-actions-as-permissionsActions defined by Amazon Connect.

+

The search criteria based on user-defined contact attributes that have been configured for contact search. For more information, see Search by custom contact attributes in the Amazon Connect Administrator Guide.

To use SearchableContactAttributes in a search request, the GetContactAttributes action is required to perform an API request. For more information, see https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html#amazonconnect-actions-as-permissionsActions defined by Amazon Connect.

*/ @property (nonatomic, strong) AWSConnectSearchableContactAttributes * _Nullable searchableContactAttributes; @@ -15509,7 +15542,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end /** -

A structure that defineds the field name to sort by and a sort order.

+

A structure that defines the field name to sort by and a sort order.

Required parameters: [FieldName, Order] */ @interface AWSConnectSort : AWSModel diff --git a/AWSConnect/AWSConnectModel.m b/AWSConnect/AWSConnectModel.m index c6903a3c74e..577bfda7cfc 100644 --- a/AWSConnect/AWSConnectModel.m +++ b/AWSConnect/AWSConnectModel.m @@ -555,6 +555,20 @@ + (NSValueTransformer *)typesJSONTransformer { @end +@implementation AWSConnectAgentsCriteria + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"agentIds" : @"AgentIds", + }; +} + +@end + @implementation AWSConnectAllowedCapabilities + (BOOL)supportsSecureCoding { @@ -1415,12 +1429,17 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"comparisonOperator" : @"ComparisonOperator", + @"matchCriteria" : @"MatchCriteria", @"name" : @"Name", @"proficiencyLevel" : @"ProficiencyLevel", @"value" : @"Value", }; } ++ (NSValueTransformer *)matchCriteriaJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectMatchCriteria class]]; +} + @end @implementation AWSConnectAudioFeatures @@ -15960,6 +15979,24 @@ + (NSValueTransformer *)viewsSummaryListJSONTransformer { @end +@implementation AWSConnectMatchCriteria + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"agentsCriteria" : @"AgentsCriteria", + }; +} + ++ (NSValueTransformer *)agentsCriteriaJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAgentsCriteria class]]; +} + +@end + @implementation AWSConnectMediaConcurrency + (BOOL)supportsSecureCoding { diff --git a/AWSConnect/AWSConnectResources.m b/AWSConnect/AWSConnectResources.m index 90f826c069c..e1b4ae414fc 100644 --- a/AWSConnect/AWSConnectResources.m +++ b/AWSConnect/AWSConnectResources.m @@ -69,7 +69,8 @@ - (NSString *)definitionString { \"serviceId\":\"Connect\",\ \"signatureVersion\":\"v4\",\ \"signingName\":\"connect\",\ - \"uid\":\"connect-2017-08-08\"\ + \"uid\":\"connect-2017-08-08\",\ + \"auth\":[\"aws.auth#sigv4\"]\ },\ \"operations\":{\ \"ActivateEvaluationForm\":{\ @@ -2156,7 +2157,7 @@ - (NSString *)definitionString { {\"shape\":\"IdempotencyException\"},\ {\"shape\":\"AccessDeniedException\"}\ ],\ - \"documentation\":\"

Imports a claimed phone number from an external service, such as Amazon Pinpoint, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

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

Imports a claimed phone number from an external service, such as Amazon Pinpoint, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

Call the DescribePhoneNumber API to verify the status of a previous ImportPhoneNumber operation.

If you plan to claim or import numbers and then release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired.

By default you can claim or import and then release up to 200% of your maximum number of active phone numbers. If you claim or import and then release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming or importing any more numbers until 180 days past the oldest number released has expired.

For example, if you already have 99 claimed or imported numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services Support ticket.

\"\ },\ \"ListAgentStatuses\":{\ \"name\":\"ListAgentStatuses\",\ @@ -3316,7 +3317,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalServiceException\"},\ {\"shape\":\"LimitExceededException\"}\ ],\ - \"documentation\":\"

Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

A 429 error occurs in the following situations:

  • API rate limit is exceeded. API TPS throttling returns a TooManyRequests exception.

  • The quota for concurrent active chats is exceeded. Active chat throttling returns a LimitExceededException.

If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support.

For more information about chat, see Chat in the Amazon Connect Administrator Guide.

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

Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

A 429 error occurs in the following situations:

  • API rate limit is exceeded. API TPS throttling returns a TooManyRequests exception.

  • The quota for concurrent active chats is exceeded. Active chat throttling returns a LimitExceededException.

If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support.

For more information about chat, see the following topics in the Amazon Connect Administrator Guide:

\"\ },\ \"StartContactEvaluation\":{\ \"name\":\"StartContactEvaluation\",\ @@ -3368,7 +3369,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalServiceException\"},\ {\"shape\":\"LimitExceededException\"}\ ],\ - \"documentation\":\"

Initiates real-time message streaming for a new chat contact.

For more information about message streaming, see Enable real-time chat message streaming in the Amazon Connect Administrator Guide.

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

Initiates real-time message streaming for a new chat contact.

For more information about message streaming, see Enable real-time chat message streaming in the Amazon Connect Administrator Guide.

For more information about chat, see the following topics in the Amazon Connect Administrator Guide:

\"\ },\ \"StartOutboundVoiceContact\":{\ \"name\":\"StartOutboundVoiceContact\",\ @@ -4563,6 +4564,14 @@ - (NSString *)definitionString { },\ \"documentation\":\"

A structure that defines search criteria for contacts using agent hierarchy group levels. For more information about agent hierarchies, see Set Up Agent Hierarchies in the Amazon Connect Administrator Guide.

\"\ },\ + \"AgentId\":{\ + \"type\":\"string\",\ + \"max\":256\ + },\ + \"AgentIds\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"AgentId\"}\ + },\ \"AgentInfo\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -4760,6 +4769,16 @@ - (NSString *)definitionString { \"max\":100,\ \"min\":1\ },\ + \"AgentsCriteria\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AgentIds\":{\ + \"shape\":\"AgentIds\",\ + \"documentation\":\"

An object to specify a list of agents, by Agent ID.

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

Can be used to define a list of preferred agents to target the contact within the queue. Note that agents must have the queue in their routing profile in order to be offered the contact.

\"\ + },\ \"AgentsMinOneMaxHundred\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"UserId\"},\ @@ -5447,9 +5466,13 @@ - (NSString *)definitionString { \"documentation\":\"

The value of predefined attribute.

\"\ },\ \"ProficiencyLevel\":{\ - \"shape\":\"ProficiencyLevel\",\ + \"shape\":\"NullableProficiencyLevel\",\ \"documentation\":\"

The proficiency level of the condition.

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

An object to define AgentsCriteria.

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

The operator of the condition.

\"\ @@ -11115,7 +11138,7 @@ - (NSString *)definitionString { },\ \"DoubleValue\":{\ \"shape\":\"Double\",\ - \"documentation\":\"

a Double number value type.

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

A Double number value type.

\"\ },\ \"EmptyValue\":{\ \"shape\":\"EmptyFieldValue\",\ @@ -11647,7 +11670,7 @@ - (NSString *)definitionString { },\ \"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 Guide.

ABANDONMENT_RATE

Unit: Percent

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

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, Q in Connect

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

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

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average conversation duration

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

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, Q in Connect

UI name: Average agent greeting time

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average agent interruptions

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, Q in Connect

UI name: Average agent interruption time

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average agent talk time

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, Q in Connect

UI name: Average customer talk time

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

Metric filter:

  • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

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

UI name: Contact abandoned

CONTACTS_ABANDONED_IN_X

Unit: Count

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

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

CONTACTS_ANSWERED_IN_X

Unit: Count

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

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

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

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, Q in Connect

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, Q in Connect

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

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

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

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

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

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

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

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

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

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

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

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

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, Q in Connect

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 (enqueue timestamp)

CONTACTS_RESOLVED_IN_X

Unit: Count

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

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, Q in Connect

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, Q in Connect

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, Q in Connect

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

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

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

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow 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_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Agent talk time 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, Q in Connect

UI name: Customer talk time 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, Q in Connect

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, Q in Connect

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, Q in Connect

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_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

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

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, Q in Connect

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

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

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, Q in Connect

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, Q in Connect

UI name: Callback attempts

\"\ + \"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 Guide.

ABANDONMENT_RATE

Unit: Percent

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

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, Q in Connect

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

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

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average conversation duration

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

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, Q in Connect

UI name: Average agent greeting time

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average agent interruptions

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, Q in Connect

UI name: Average agent interruption time

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Average agent talk time

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, Q in Connect

UI name: Average customer talk time

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

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, Q in Connect

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, Q in Connect

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

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

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

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

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

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

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

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

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

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

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

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

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, Q in Connect

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 (enqueue timestamp)

CONTACTS_REMOVED_FROM_QUEUE_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

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: This metric is not available in Amazon Connect admin website.

CONTACTS_RESOLVED_IN_X

Unit: Count

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

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, Q in Connect

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, Q in Connect

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, Q in Connect

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

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

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

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow 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: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

PERCENT_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

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, Q in Connect

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, Q in Connect

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, Q in Connect

UI name: Agent talk time 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, Q in Connect

UI name: Customer talk time 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, Q in Connect

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: This metric is available in Real-time Metrics UI but not on the Historical Metrics UI.

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

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_CONTACTS_ABANDONED

Unit: Count

Metric filter:

  • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

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

UI name: Contact abandoned

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

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

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_ANSWERED_IN_X

Unit: Count

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

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_CONTACT_FLOW_TIME

Unit: Seconds

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

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

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

UI name: Agent on contact time

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, Q in Connect

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: 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, Q in Connect

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

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

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, Q in Connect

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, Q in Connect

UI name: Callback attempts

\"\ },\ \"NextToken\":{\ \"shape\":\"NextToken2500\",\ @@ -14965,6 +14988,16 @@ - (NSString *)definitionString { }\ },\ \"Long\":{\"type\":\"long\"},\ + \"MatchCriteria\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AgentsCriteria\":{\ + \"shape\":\"AgentsCriteria\",\ + \"documentation\":\"

An object to define AgentIds.

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

An object to define AgentsCriteria.

\"\ + },\ \"MaxResult10\":{\ \"type\":\"integer\",\ \"max\":10,\ @@ -15348,6 +15381,11 @@ - (NSString *)definitionString { },\ \"documentation\":\"

The type of notification recipient.

\"\ },\ + \"NullableProficiencyLevel\":{\ + \"type\":\"float\",\ + \"max\":5.0,\ + \"min\":1.0\ + },\ \"NumberReference\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -18254,7 +18292,7 @@ - (NSString *)definitionString { },\ \"SearchableContactAttributes\":{\ \"shape\":\"SearchableContactAttributes\",\ - \"documentation\":\"

The search criteria based on user-defined contact attributes that have been configured for contact search. For more information, see Search by customer contact attributes in the Amazon Connect Administrator Guide.

To use SearchableContactAttributes in a search request, the GetContactAttributes action is required to perform an API request. For more information, see https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html#amazonconnect-actions-as-permissionsActions defined by Amazon Connect.

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

The search criteria based on user-defined contact attributes that have been configured for contact search. For more information, see Search by custom contact attributes in the Amazon Connect Administrator Guide.

To use SearchableContactAttributes in a search request, the GetContactAttributes action is required to perform an API request. For more information, see https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html#amazonconnect-actions-as-permissionsActions defined by Amazon Connect.

\"\ }\ },\ \"documentation\":\"

A structure of search criteria to be used to return contacts.

\"\ @@ -19155,7 +19193,7 @@ - (NSString *)definitionString { \"documentation\":\"

An ascending or descending sort.

\"\ }\ },\ - \"documentation\":\"

A structure that defineds the field name to sort by and a sort order.

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

A structure that defines the field name to sort by and a sort order.

\"\ },\ \"SortOrder\":{\ \"type\":\"string\",\ diff --git a/AWSConnect/AWSConnectService.h b/AWSConnect/AWSConnectService.h index bf3f7f7ba97..40f6ff2108c 100644 --- a/AWSConnect/AWSConnectService.h +++ b/AWSConnect/AWSConnectService.h @@ -3045,7 +3045,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)getTrafficDistribution:(AWSConnectGetTrafficDistributionRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectGetTrafficDistributionResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Imports a claimed phone number from an external service, such as Amazon Pinpoint, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

+

Imports a claimed phone number from an external service, such as Amazon Pinpoint, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

Call the DescribePhoneNumber API to verify the status of a previous ImportPhoneNumber operation.

If you plan to claim or import numbers and then release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired.

By default you can claim or import and then release up to 200% of your maximum number of active phone numbers. If you claim or import and then release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming or importing any more numbers until 180 days past the oldest number released has expired.

For example, if you already have 99 claimed or imported numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services Support ticket.

@param request A container for the necessary parameters to execute the ImportPhoneNumber service method. @@ -3057,7 +3057,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)importPhoneNumber:(AWSConnectImportPhoneNumberRequest *)request; /** -

Imports a claimed phone number from an external service, such as Amazon Pinpoint, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

+

Imports a claimed phone number from an external service, such as Amazon Pinpoint, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

Call the DescribePhoneNumber API to verify the status of a previous ImportPhoneNumber operation.

If you plan to claim or import numbers and then release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired.

By default you can claim or import and then release up to 200% of your maximum number of active phone numbers. If you claim or import and then release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming or importing any more numbers until 180 days past the oldest number released has expired.

For example, if you already have 99 claimed or imported numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services Support ticket.

@param request A container for the necessary parameters to execute the ImportPhoneNumber 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)startAttachedFileUpload:(AWSConnectStartAttachedFileUploadRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectStartAttachedFileUploadResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

A 429 error occurs in the following situations:

  • API rate limit is exceeded. API TPS throttling returns a TooManyRequests exception.

  • The quota for concurrent active chats is exceeded. Active chat throttling returns a LimitExceededException.

If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support.

For more information about chat, see Chat in the Amazon Connect Administrator Guide.

+

Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

A 429 error occurs in the following situations:

  • API rate limit is exceeded. API TPS throttling returns a TooManyRequests exception.

  • The quota for concurrent active chats is exceeded. Active chat throttling returns a LimitExceededException.

If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support.

For more information about chat, see the following topics in the Amazon Connect Administrator Guide:

@param request A container for the necessary parameters to execute the StartChatContact service method. @@ -4754,7 +4754,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)startChatContact:(AWSConnectStartChatContactRequest *)request; /** -

Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

A 429 error occurs in the following situations:

  • API rate limit is exceeded. API TPS throttling returns a TooManyRequests exception.

  • The quota for concurrent active chats is exceeded. Active chat throttling returns a LimitExceededException.

If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support.

For more information about chat, see Chat in the Amazon Connect Administrator Guide.

+

Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

A 429 error occurs in the following situations:

  • API rate limit is exceeded. API TPS throttling returns a TooManyRequests exception.

  • The quota for concurrent active chats is exceeded. Active chat throttling returns a LimitExceededException.

If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support.

For more information about chat, see the following topics in the Amazon Connect Administrator Guide:

@param request A container for the necessary parameters to execute the StartChatContact service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4817,7 +4817,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)startContactRecording:(AWSConnectStartContactRecordingRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectStartContactRecordingResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Initiates real-time message streaming for a new chat contact.

For more information about message streaming, see Enable real-time chat message streaming in the Amazon Connect Administrator Guide.

+

Initiates real-time message streaming for a new chat contact.

For more information about message streaming, see Enable real-time chat message streaming in the Amazon Connect Administrator Guide.

For more information about chat, see the following topics in the Amazon Connect Administrator Guide:

@param request A container for the necessary parameters to execute the StartContactStreaming service method. @@ -4829,7 +4829,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)startContactStreaming:(AWSConnectStartContactStreamingRequest *)request; /** -

Initiates real-time message streaming for a new chat contact.

For more information about message streaming, see Enable real-time chat message streaming in the Amazon Connect Administrator Guide.

+

Initiates real-time message streaming for a new chat contact.

For more information about message streaming, see Enable real-time chat message streaming in the Amazon Connect Administrator Guide.

For more information about chat, see the following topics in the Amazon Connect Administrator Guide:

@param request A container for the necessary parameters to execute the StartContactStreaming service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSConnect/AWSConnectService.m b/AWSConnect/AWSConnectService.m index b33c789c254..466a2c156fa 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.36.3"; +NSString *const AWSConnectSDKVersion = @"2.36.4"; @interface AWSConnectResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSConnect/Info.plist b/AWSConnect/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSConnect/Info.plist +++ b/AWSConnect/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnectParticipant.podspec b/AWSConnectParticipant.podspec index dcc98972a11..44addeffb46 100644 --- a/AWSConnectParticipant.podspec +++ b/AWSConnectParticipant.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnectParticipant' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 9035f63111a..1410b1bb380 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.36.3"; +NSString *const AWSConnectParticipantSDKVersion = @"2.36.4"; @interface AWSConnectParticipantResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSConnectParticipant/Info.plist b/AWSConnectParticipant/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSConnectParticipant/Info.plist +++ b/AWSConnectParticipant/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m b/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m index 7d91b8d8d5a..894ef21d4f6 100644 --- a/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m +++ b/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m @@ -31,6 +31,7 @@ - (void) test_AWSConnectAgentQualityMetrics API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentStatus API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentStatusReference API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentStatusSummary API_AVAILABLE(ios(11)); +- (void) test_AWSConnectAgentsCriteria API_AVAILABLE(ios(11)); - (void) test_AWSConnectAllowedCapabilities API_AVAILABLE(ios(11)); - (void) test_AWSConnectAnalyticsDataAssociationResult API_AVAILABLE(ios(11)); - (void) test_AWSConnectAnswerMachineDetectionConfig API_AVAILABLE(ios(11)); @@ -454,6 +455,7 @@ - (void) test_AWSConnectListViewVersionsRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectListViewVersionsResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectListViewsRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectListViewsResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectMatchCriteria API_AVAILABLE(ios(11)); - (void) test_AWSConnectMediaConcurrency API_AVAILABLE(ios(11)); - (void) test_AWSConnectMediaPlacement API_AVAILABLE(ios(11)); - (void) test_AWSConnectMeeting API_AVAILABLE(ios(11)); @@ -796,6 +798,10 @@ - (void) test_AWSConnectAgentStatusSummary { [self validateSecureCodingForClass:[AWSConnectAgentStatusSummary class]]; } +- (void) test_AWSConnectAgentsCriteria { + [self validateSecureCodingForClass:[AWSConnectAgentsCriteria class]]; +} + - (void) test_AWSConnectAllowedCapabilities { [self validateSecureCodingForClass:[AWSConnectAllowedCapabilities class]]; } @@ -2488,6 +2494,10 @@ - (void) test_AWSConnectListViewsResponse { [self validateSecureCodingForClass:[AWSConnectListViewsResponse class]]; } +- (void) test_AWSConnectMatchCriteria { + [self validateSecureCodingForClass:[AWSConnectMatchCriteria class]]; +} + - (void) test_AWSConnectMediaConcurrency { [self validateSecureCodingForClass:[AWSConnectMediaConcurrency class]]; } diff --git a/AWSCore.podspec b/AWSCore.podspec index 93f3d0651bb..1100230670f 100644 --- a/AWSCore.podspec +++ b/AWSCore.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSCore' - s.version = '2.36.3' + s.version = '2.36.4' 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 bc609a41a30..35fae899278 100644 --- a/AWSCore/Info.plist +++ b/AWSCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCore/Service/AWSService.m b/AWSCore/Service/AWSService.m index e3a8e67a522..6fe4c57b4cb 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.36.3"; +NSString *const AWSiOSSDKVersion = @"2.36.4"; NSString *const AWSServiceErrorDomain = @"com.amazonaws.AWSServiceErrorDomain"; static NSString *const AWSServiceConfigurationUnknown = @"Unknown"; diff --git a/AWSDynamoDB.podspec b/AWSDynamoDB.podspec index 25a22936627..73091e426fe 100644 --- a/AWSDynamoDB.podspec +++ b/AWSDynamoDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSDynamoDB' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSDynamoDB/*.{h,m}' s.resource_bundle = { 'AWSDynamoDB' => ['AWSDynamoDB/PrivacyInfo.xcprivacy']} end diff --git a/AWSDynamoDB/AWSDynamoDBResources.m b/AWSDynamoDB/AWSDynamoDBResources.m index de4340793d9..aa953b2a7a6 100644 --- a/AWSDynamoDB/AWSDynamoDBResources.m +++ b/AWSDynamoDB/AWSDynamoDBResources.m @@ -69,7 +69,8 @@ - (NSString *)definitionString { \"serviceId\":\"DynamoDB\",\ \"signatureVersion\":\"v4\",\ \"targetPrefix\":\"DynamoDB_20120810\",\ - \"uid\":\"dynamodb-2012-08-10\"\ + \"uid\":\"dynamodb-2012-08-10\",\ + \"auth\":[\"aws.auth#sigv4\"]\ },\ \"operations\":{\ \"BatchExecuteStatement\":{\ @@ -157,7 +158,7 @@ - (NSString *)definitionString { {\"shape\":\"GlobalTableAlreadyExistsException\"},\ {\"shape\":\"TableNotFoundException\"}\ ],\ - \"documentation\":\"

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

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).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

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

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

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).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -338,7 +339,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalServerError\"},\ {\"shape\":\"GlobalTableNotFoundException\"}\ ],\ - \"documentation\":\"

Returns information about the specified global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

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

Returns information about the specified global table.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -354,7 +355,7 @@ - (NSString *)definitionString { {\"shape\":\"GlobalTableNotFoundException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Describes Region-specific settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

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

Describes Region-specific settings for a global table.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -645,7 +646,7 @@ - (NSString *)definitionString { \"errors\":[\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Lists all global tables that have a replica in the specified Region.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

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

Lists all global tables that have a replica in the specified Region.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -930,7 +931,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.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). 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.

\",\ + \"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 documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). 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\":{\ }\ },\ @@ -950,7 +951,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceInUseException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Updates settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

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

Updates settings for a global table.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

\",\ \"endpointdiscovery\":{\ }\ },\ diff --git a/AWSDynamoDB/AWSDynamoDBService.h b/AWSDynamoDB/AWSDynamoDBService.h index bb8c67d5348..6761bea3480 100644 --- a/AWSDynamoDB/AWSDynamoDBService.h +++ b/AWSDynamoDB/AWSDynamoDBService.h @@ -275,7 +275,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)createBackup:(AWSDynamoDBCreateBackupInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBCreateBackupOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

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).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

+

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

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).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

@param request A container for the necessary parameters to execute the CreateGlobalTable service method. @@ -287,7 +287,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)createGlobalTable:(AWSDynamoDBCreateGlobalTableInput *)request; /** -

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

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).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

+

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

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).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

@param request A container for the necessary parameters to execute the CreateGlobalTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -550,7 +550,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)describeExport:(AWSDynamoDBDescribeExportInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBDescribeExportOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns information about the specified global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

+

Returns information about the specified global table.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

@param request A container for the necessary parameters to execute the DescribeGlobalTable service method. @@ -562,7 +562,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)describeGlobalTable:(AWSDynamoDBDescribeGlobalTableInput *)request; /** -

Returns information about the specified global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

+

Returns information about the specified global table.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

@param request A container for the necessary parameters to execute the DescribeGlobalTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -575,7 +575,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)describeGlobalTable:(AWSDynamoDBDescribeGlobalTableInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBDescribeGlobalTableOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes Region-specific settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

+

Describes Region-specific settings for a global table.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

@param request A container for the necessary parameters to execute the DescribeGlobalTableSettings service method. @@ -587,7 +587,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)describeGlobalTableSettings:(AWSDynamoDBDescribeGlobalTableSettingsInput *)request; /** -

Describes Region-specific settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

+

Describes Region-specific settings for a global table.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

@param request A container for the necessary parameters to execute the DescribeGlobalTableSettings service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1025,7 +1025,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)listExports:(AWSDynamoDBListExportsInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBListExportsOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Lists all global tables that have a replica in the specified Region.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

+

Lists all global tables that have a replica in the specified Region.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

@param request A container for the necessary parameters to execute the ListGlobalTables service method. @@ -1037,7 +1037,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)listGlobalTables:(AWSDynamoDBListGlobalTablesInput *)request; /** -

Lists all global tables that have a replica in the specified Region.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

+

Lists all global tables that have a replica in the specified Region.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

@param request A container for the necessary parameters to execute the ListGlobalTables service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1419,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.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). 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.

+

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 documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). 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. @@ -1431,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.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). 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.

+

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 documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). 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 +1444,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)updateGlobalTable:(AWSDynamoDBUpdateGlobalTableInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBUpdateGlobalTableOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

+

Updates settings for a global table.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

@param request A container for the necessary parameters to execute the UpdateGlobalTableSettings service method. @@ -1456,7 +1456,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)updateGlobalTableSettings:(AWSDynamoDBUpdateGlobalTableSettingsInput *)request; /** -

Updates settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), 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.

+

Updates settings for a global table.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

@param request A container for the necessary parameters to execute the UpdateGlobalTableSettings 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 76bae37d4aa..01cf57469c3 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.36.3"; +NSString *const AWSDynamoDBSDKVersion = @"2.36.4"; @interface AWSDynamoDBResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSDynamoDB/Info.plist b/AWSDynamoDB/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSDynamoDB/Info.plist +++ b/AWSDynamoDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSEC2.podspec b/AWSEC2.podspec index 8626424cebd..9f18afa255f 100644 --- a/AWSEC2.podspec +++ b/AWSEC2.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSEC2' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSEC2/*.{h,m}' s.resource_bundle = { 'AWSEC2' => ['AWSEC2/PrivacyInfo.xcprivacy']} end diff --git a/AWSEC2/AWSEC2Model.h b/AWSEC2/AWSEC2Model.h index 94023b71099..659cec5e3ee 100644 --- a/AWSEC2/AWSEC2Model.h +++ b/AWSEC2/AWSEC2Model.h @@ -1883,6 +1883,21 @@ typedef NS_ENUM(NSInteger, AWSEC2InstanceType) { AWSEC2InstanceTypeU7In_16tb_224xlarge, AWSEC2InstanceTypeU7In_24tb_224xlarge, AWSEC2InstanceTypeU7In_32tb_224xlarge, + AWSEC2InstanceTypeU7Ib_12tb_224xlarge, + AWSEC2InstanceTypeC7Gn_metal, + AWSEC2InstanceTypeR8G_medium, + AWSEC2InstanceTypeR8G_large, + AWSEC2InstanceTypeR8G_xlarge, + AWSEC2InstanceTypeR8G_2xlarge, + AWSEC2InstanceTypeR8G_4xlarge, + AWSEC2InstanceTypeR8G_8xlarge, + AWSEC2InstanceTypeR8G_12xlarge, + AWSEC2InstanceTypeR8G_16xlarge, + AWSEC2InstanceTypeR8G_24xlarge, + AWSEC2InstanceTypeR8G_48xlarge, + AWSEC2InstanceTypeR8G_metal_24xl, + AWSEC2InstanceTypeR8G_metal_48xl, + AWSEC2InstanceTypeMAC2_m1ultra_metal, }; typedef NS_ENUM(NSInteger, AWSEC2InstanceTypeHypervisor) { @@ -2702,6 +2717,7 @@ typedef NS_ENUM(NSInteger, AWSEC2ResourceType) { AWSEC2ResourceTypeVerifiedAccessTrustProvider, AWSEC2ResourceTypeVpnConnectionDeviceType, AWSEC2ResourceTypeVpcBlockPublicAccessExclusion, + AWSEC2ResourceTypeVpcEncryptionControl, AWSEC2ResourceTypeIpamResourceDiscovery, AWSEC2ResourceTypeIpamResourceDiscoveryAssociation, AWSEC2ResourceTypeInstanceConnectEndpoint, @@ -4155,6 +4171,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DescribeSubnetsResult; @class AWSEC2DescribeTagsRequest; @class AWSEC2DescribeTagsResult; +@class AWSEC2DescribeTrafficMirrorFilterRulesRequest; +@class AWSEC2DescribeTrafficMirrorFilterRulesResult; @class AWSEC2DescribeTrafficMirrorFiltersRequest; @class AWSEC2DescribeTrafficMirrorFiltersResult; @class AWSEC2DescribeTrafficMirrorSessionsRequest; @@ -5976,7 +5994,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Details on the Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

+

Details on the Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

*/ @interface AWSEC2AddressTransfer : AWSModel @@ -6081,7 +6099,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

Use DescribeAvailabilityZones to view the network border groups.

+

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

*/ @property (nonatomic, strong) NSString * _Nullable networkBorderGroup; @@ -6157,7 +6175,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable assetIds; /** -

Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding auto-placement and affinity in the Amazon EC2 User Guide.

Default: on

+

Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding auto-placement and affinity in the Amazon EC2 User Guide.

Default: off

*/ @property (nonatomic, assign) AWSEC2AutoPlacement autoPlacement; @@ -6238,7 +6256,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable cidr; /** -

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -6922,7 +6940,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -7442,7 +7460,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable branchInterfaceId; /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -7475,7 +7493,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -7788,7 +7806,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -8004,7 +8022,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable authorizeAllGroups; /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -9159,7 +9177,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. For more information, see For more information, see Allocation strategy in the Amazon EC2 User Guide.

+

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. For more information, see For more information, see Allocation strategy in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable allocationStrategy; @@ -9214,7 +9232,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable totalFulfilledCapacity; /** -

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. For more information, see Total target capacity in the Amazon EC2 User Guide.

+

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. For more information, see Total target capacity in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable totalTargetCapacity; @@ -9419,7 +9437,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Provides authorization for Amazon to bring a specific IP address range to a specific Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

+

Provides authorization for Amazon to bring a specific IP address range to a specific Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon EC2 User Guide.

Required parameters: [Message, Signature] */ @interface AWSEC2CidrAuthorizationContext : AWSModel @@ -10296,7 +10314,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

A security group connection tracking configuration that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+

A security group connection tracking configuration that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

*/ @interface AWSEC2ConnectionTrackingConfiguration : AWSModel @@ -10319,7 +10337,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

A security group connection tracking specification that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+

A security group connection tracking specification that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

*/ @interface AWSEC2ConnectionTrackingSpecification : AWSModel @@ -10342,7 +10360,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

A security group connection tracking specification request that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+

A security group connection tracking specification request that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

*/ @interface AWSEC2ConnectionTrackingSpecificationRequest : AWSModel @@ -10365,7 +10383,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

A security group connection tracking specification response that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+

A security group connection tracking specification response that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

*/ @interface AWSEC2ConnectionTrackingSpecificationResponse : AWSModel @@ -10437,7 +10455,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -10590,12 +10608,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

+

The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

*/ @property (nonatomic, strong) NSString * _Nullable kmsKeyId; /** -

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query requests.

The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) in the Amazon Simple Storage Service API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

+

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query requests.

The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

*/ @property (nonatomic, strong) NSString * _Nullable presignedUrl; @@ -10687,7 +10705,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the prioritized allocation strategy is supported. For more information, see Allocation strategy in the Amazon EC2 User Guide.

Valid values: prioritized

+

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the prioritized allocation strategy is supported. For more information, see Allocation strategy in the Amazon EC2 User Guide.

Valid values: prioritized

*/ @property (nonatomic, strong) NSString * _Nullable allocationStrategy; @@ -10727,7 +10745,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2FleetCapacityReservationTenancy tenancy; /** -

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

+

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable totalTargetCapacity; @@ -10904,7 +10922,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -10965,7 +10983,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2ClientLoginBannerOptions * _Nullable clientLoginBannerOptions; /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -11066,7 +11084,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -11354,7 +11372,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -11562,7 +11580,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -11607,7 +11625,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable logGroupName; /** -

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.

Default: 600

+

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.

Default: 600

*/ @property (nonatomic, strong) NSNumber * _Nullable maxAggregationInterval; @@ -11663,7 +11681,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -11994,7 +12012,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2IpamPoolAwsService awsService; /** -

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -12065,7 +12083,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -12162,7 +12180,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -12322,7 +12340,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable launchTemplateName; /** -

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageID. For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

Default: false

+

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageID. For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

Default: false

*/ @property (nonatomic, strong) NSNumber * _Nullable resolveAlias; @@ -12542,7 +12560,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable addressFamily; /** -

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

+

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Constraints: Up to 255 UTF-8 characters in length.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -12598,7 +12616,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable allocationId; /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Constraint: Maximum 64 ASCII characters.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Constraint: Maximum 64 ASCII characters.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -12727,7 +12745,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -12773,7 +12791,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -12824,7 +12842,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -12947,7 +12965,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -13145,7 +13163,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. For more information, see Ensuring idempotency.

+

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -13390,7 +13408,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -13700,7 +13718,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The Availability Zone or Local Zone for the subnet.

Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Local Zones locations.

To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

+

The Availability Zone or Local Zone for the subnet.

Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Available Local Zones.

To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

*/ @property (nonatomic, strong) NSString * _Nullable availabilityZone; @@ -13809,7 +13827,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -13837,7 +13855,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -13855,7 +13873,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -13904,6 +13922,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) AWSEC2TrafficMirrorPortRangeRequest * _Nullable sourcePortRange; +/** +

Traffic Mirroring tags specifications.

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

The type of traffic.

*/ @@ -13923,7 +13946,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -13941,7 +13964,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -13986,7 +14009,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable trafficMirrorTargetId; /** -

The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.

+

The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique ID is chosen at random.

*/ @property (nonatomic, strong) NSNumber * _Nullable virtualNetworkId; @@ -13999,7 +14022,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -14017,7 +14040,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -14060,7 +14083,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -14708,7 +14731,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2VerifiedAccessEndpointAttachmentType attachmentType; /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -14794,7 +14817,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -14850,7 +14873,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -14957,7 +14980,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -15074,7 +15097,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable availabilityZone; /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -15089,17 +15112,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

+

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

*/ @property (nonatomic, strong) NSNumber * _Nullable iops; /** -

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

+

The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

*/ @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 EBS 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; @@ -15142,7 +15165,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -15198,7 +15221,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -15299,7 +15322,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable acceptanceRequired; /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -17746,7 +17769,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -17782,7 +17805,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -17818,7 +17841,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -17854,7 +17877,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -19418,7 +19441,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

+

The IDs of DHCP option sets.

*/ @property (nonatomic, strong) NSArray * _Nullable dhcpOptionsIds; @@ -19451,7 +19474,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Information about one or more DHCP options sets.

+

Information about the DHCP options sets.

*/ @property (nonatomic, strong) NSArray * _Nullable dhcpOptions; @@ -21122,7 +21145,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64 | arm64).

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2022-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • boot-mode - The boot mode that was specified by the AMI (legacy-bios | uefi | uefi-preferred).

  • capacity-reservation-id - The ID of the Capacity Reservation into which the instance was launched.

  • capacity-reservation-specification.capacity-reservation-preference - The instance's Capacity Reservation preference (open | none).

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id - The ID of the targeted Capacity Reservation.

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn - The ARN of the targeted Capacity Reservation group.

  • client-token - The idempotency token you provided when you launched the instance.

  • current-instance-boot-mode - The boot mode that is used to launch the instance at launch or start (legacy-bios | uefi).

  • dns-name - The public DNS name of the instance.

  • ebs-optimized - A Boolean that indicates whether the instance is optimized for Amazon EBS I/O.

  • ena-support - A Boolean that indicates whether the instance is enabled for enhanced networking with ENA.

  • enclave-options.enabled - A Boolean that indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

  • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen). The value xen is used for both Xen and Nitro hypervisors.

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • iam-instance-profile.id - The instance profile associated with the instance. Specified as an ID.

  • iam-instance-profile.name - The instance profile associated with the instance. Specified as an name.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance, a Scheduled Instance, or a Capacity Block (spot | scheduled | capacity-block).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • ipv6-address - The IPv6 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

  • maintenance-options.auto-recovery - The current automatic recovery behavior of the instance (disabled | default).

  • metadata-options.http-endpoint - The status of access to the HTTP metadata endpoint on your instance (enabled | disabled)

  • metadata-options.http-protocol-ipv4 - Indicates whether the IPv4 endpoint is enabled (disabled | enabled).

  • metadata-options.http-protocol-ipv6 - Indicates whether the IPv6 endpoint is enabled (disabled | enabled).

  • metadata-options.http-put-response-hop-limit - The HTTP metadata request put response hop limit (integer, possible values 1 to 64)

  • metadata-options.http-tokens - The metadata request authorization state (optional | required)

  • metadata-options.instance-metadata-tags - The status of access to instance tags from the instance metadata (enabled | disabled)

  • metadata-options.state - The state of the metadata option changes (pending | applied).

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.association.allocation-id - The allocation ID.

  • network-interface.addresses.association.association-id - The association ID.

  • network-interface.addresses.association.carrier-ip - The carrier IP address.

  • network-interface.addresses.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.addresses.association.public-dns-name - The public DNS name.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.private-dns-name - The private DNS name.

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.association.carrier-ip - The customer-owned IP address.

  • network-interface.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.public-dns-name - The public DNS name.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.network-card-index - The index of the network card.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.deny-all-igw-traffic - A Boolean that indicates whether a network interface with an IPv6 address is unreachable from the public internet.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv4-prefixes.ipv4-prefix - The IPv4 prefixes that are assigned to the network interface.

  • network-interface.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.is-primary-ipv6 - A Boolean that indicates whether this is the primary IPv6 address.

  • network-interface.ipv6-native - A Boolean that indicates whether this is an IPv6 only network interface.

  • network-interface.ipv6-prefixes.ipv6-prefix - The IPv6 prefix assigned to the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.outpost-arn - The ARN of the Outpost.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.private-ip-address - The private IPv4 address.

  • network-interface.public-dns-name - The public DNS name.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by Amazon Web Services.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.tag-key - The key of a tag assigned to the network interface.

  • network-interface.tag-value - The value of a tag assigned to the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • owner-id - The Amazon Web Services account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • placement-partition-number - The partition in which the instance is located.

  • platform - The platform. To list only Windows instances, use windows.

  • platform-details - The platform (Linux/UNIX | Red Hat BYOL Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | Red Hat Enterprise Linux with SQL Server Standard and HA | Red Hat Enterprise Linux with SQL Server Enterprise and HA | Red Hat Enterprise Linux with SQL Server Standard | Red Hat Enterprise Linux with SQL Server Web | Red Hat Enterprise Linux with SQL Server Enterprise | SQL Server Enterprise | SQL Server Standard | SQL Server Web | SUSE Linux | Ubuntu Pro | Windows | Windows BYOL | Windows with SQL Server Enterprise | Windows with SQL Server Standard | Windows with SQL Server Web).

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-dns-name-options.enable-resource-name-dns-a-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS A records.

  • private-dns-name-options.enable-resource-name-dns-aaaa-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

  • private-dns-name-options.hostname-type - The type of hostname (ip-name | resource-name).

  • private-ip-address - The private IPv4 address of the instance.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows "User Initiated [date]" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot Instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • tpm-support - Indicates if the instance is configured for NitroTPM support (v2.0).

  • usage-operation - The usage operation value for the instance (RunInstances | RunInstances:00g0 | RunInstances:0010 | RunInstances:1010 | RunInstances:1014 | RunInstances:1110 | RunInstances:0014 | RunInstances:0210 | RunInstances:0110 | RunInstances:0100 | RunInstances:0004 | RunInstances:0200 | RunInstances:000g | RunInstances:0g00 | RunInstances:0002 | RunInstances:0800 | RunInstances:0102 | RunInstances:0006 | RunInstances:0202).

  • usage-operation-update-time - The time that the usage operation was last updated, for example, 2022-09-15T17:15:20.000Z.

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

+

The filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64 | arm64).

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2022-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • boot-mode - The boot mode that was specified by the AMI (legacy-bios | uefi | uefi-preferred).

  • capacity-reservation-id - The ID of the Capacity Reservation into which the instance was launched.

  • capacity-reservation-specification.capacity-reservation-preference - The instance's Capacity Reservation preference (open | none).

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id - The ID of the targeted Capacity Reservation.

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn - The ARN of the targeted Capacity Reservation group.

  • client-token - The idempotency token you provided when you launched the instance.

  • current-instance-boot-mode - The boot mode that is used to launch the instance at launch or start (legacy-bios | uefi).

  • dns-name - The public DNS name of the instance.

  • ebs-optimized - A Boolean that indicates whether the instance is optimized for Amazon EBS I/O.

  • ena-support - A Boolean that indicates whether the instance is enabled for enhanced networking with ENA.

  • enclave-options.enabled - A Boolean that indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

  • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen). The value xen is used for both Xen and Nitro hypervisors.

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • iam-instance-profile.id - The instance profile associated with the instance. Specified as an ID.

  • iam-instance-profile.name - The instance profile associated with the instance. Specified as an name.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance, a Scheduled Instance, or a Capacity Block (spot | scheduled | capacity-block).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • ipv6-address - The IPv6 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

  • maintenance-options.auto-recovery - The current automatic recovery behavior of the instance (disabled | default).

  • metadata-options.http-endpoint - The status of access to the HTTP metadata endpoint on your instance (enabled | disabled)

  • metadata-options.http-protocol-ipv4 - Indicates whether the IPv4 endpoint is enabled (disabled | enabled).

  • metadata-options.http-protocol-ipv6 - Indicates whether the IPv6 endpoint is enabled (disabled | enabled).

  • metadata-options.http-put-response-hop-limit - The HTTP metadata request put response hop limit (integer, possible values 1 to 64)

  • metadata-options.http-tokens - The metadata request authorization state (optional | required)

  • metadata-options.instance-metadata-tags - The status of access to instance tags from the instance metadata (enabled | disabled)

  • metadata-options.state - The state of the metadata option changes (pending | applied).

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.association.allocation-id - The allocation ID.

  • network-interface.addresses.association.association-id - The association ID.

  • network-interface.addresses.association.carrier-ip - The carrier IP address.

  • network-interface.addresses.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.addresses.association.public-dns-name - The public DNS name.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.private-dns-name - The private DNS name.

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.association.carrier-ip - The customer-owned IP address.

  • network-interface.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.public-dns-name - The public DNS name.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.network-card-index - The index of the network card.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.deny-all-igw-traffic - A Boolean that indicates whether a network interface with an IPv6 address is unreachable from the public internet.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv4-prefixes.ipv4-prefix - The IPv4 prefixes that are assigned to the network interface.

  • network-interface.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.is-primary-ipv6 - A Boolean that indicates whether this is the primary IPv6 address.

  • network-interface.ipv6-native - A Boolean that indicates whether this is an IPv6 only network interface.

  • network-interface.ipv6-prefixes.ipv6-prefix - The IPv6 prefix assigned to the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.outpost-arn - The ARN of the Outpost.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.private-ip-address - The private IPv4 address.

  • network-interface.public-dns-name - The public DNS name.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by Amazon Web Services.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.tag-key - The key of a tag assigned to the network interface.

  • network-interface.tag-value - The value of a tag assigned to the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • owner-id - The Amazon Web Services account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • placement-partition-number - The partition in which the instance is located.

  • platform - The platform. To list only Windows instances, use windows.

  • platform-details - The platform (Linux/UNIX | Red Hat BYOL Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | Red Hat Enterprise Linux with SQL Server Standard and HA | Red Hat Enterprise Linux with SQL Server Enterprise and HA | Red Hat Enterprise Linux with SQL Server Standard | Red Hat Enterprise Linux with SQL Server Web | Red Hat Enterprise Linux with SQL Server Enterprise | SQL Server Enterprise | SQL Server Standard | SQL Server Web | SUSE Linux | Ubuntu Pro | Windows | Windows BYOL | Windows with SQL Server Enterprise | Windows with SQL Server Standard | Windows with SQL Server Web).

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-dns-name-options.enable-resource-name-dns-a-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS A records.

  • private-dns-name-options.enable-resource-name-dns-aaaa-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

  • private-dns-name-options.hostname-type - The type of hostname (ip-name | resource-name).

  • private-ip-address - The private IPv4 address of the instance. This can only be used to filter by the primary IP address of the network interface attached to the instance. To filter by additional IP addresses assigned to the network interface, use the filter network-interface.addresses.private-ip-address.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows "User Initiated [date]" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot Instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • tpm-support - Indicates if the instance is configured for NitroTPM support (v2.0).

  • usage-operation - The usage operation value for the instance (RunInstances | RunInstances:00g0 | RunInstances:0010 | RunInstances:1010 | RunInstances:1014 | RunInstances:1110 | RunInstances:0014 | RunInstances:0210 | RunInstances:0110 | RunInstances:0100 | RunInstances:0004 | RunInstances:0200 | RunInstances:000g | RunInstances:0g00 | RunInstances:0002 | RunInstances:0800 | RunInstances:0102 | RunInstances:0006 | RunInstances:0202).

  • usage-operation-update-time - The time that the usage operation was last updated, for example, 2022-09-15T17:15:20.000Z.

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -21201,7 +21224,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Information about one or more internet gateways.

+

Information about the internet gateways.

*/ @property (nonatomic, strong) NSArray * _Nullable internetGateways; @@ -21652,7 +21675,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageId.

If false, and if a Systems Manager parameter is specified for ImageId, the parameter is displayed in the response for imageId.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

Default: false

+

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageId.

If false, and if a Systems Manager parameter is specified for ImageId, the parameter is displayed in the response for imageId.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

Default: false

*/ @property (nonatomic, strong) NSNumber * _Nullable resolveAlias; @@ -22315,7 +22338,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable maxResults; /** -

The IDs of the network ACLs.

Default: Describes all your network ACLs.

+

The IDs of the network ACLs.

*/ @property (nonatomic, strong) NSArray * _Nullable networkAclIds; @@ -22333,7 +22356,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Information about one or more network ACLs.

+

Information about the network ACLs.

*/ @property (nonatomic, strong) NSArray * _Nullable networkAcls; @@ -23122,7 +23145,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2Tenancy instanceTenancy; /** -

The instance type that the reservation will cover (for example, m1.small). For more information, see Instance types in the Amazon EC2 User Guide.

+

The instance type that the reservation will cover (for example, m1.small). For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.

*/ @property (nonatomic, assign) AWSEC2InstanceType instanceType; @@ -23264,7 +23287,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

The IDs of the route tables.

Default: Describes all your route tables.

+

The IDs of the route tables.

*/ @property (nonatomic, strong) NSArray * _Nullable routeTableIds; @@ -23282,7 +23305,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

Information about one or more route tables.

+

Information about the route tables.

*/ @property (nonatomic, strong) NSArray * _Nullable routeTables; @@ -23658,7 +23681,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The maximum number of snapshots to return for this request. This value can be between 5 and 1,000; if this value is larger than 1,000, only 1,000 results are returned. If this parameter is not used, then the request returns all snapshots. You cannot specify this parameter and the snapshot IDs parameter in the same request. For more information, see Pagination.

+

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxResults; @@ -23691,7 +23714,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The token to include in another request to return the next page of snapshots. This value is null when there are no more snapshots to return.

+

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.

*/ @property (nonatomic, strong) NSString * _Nullable nextToken; @@ -23910,7 +23933,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot Instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot Instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

  • launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of EBS volume: gp2 or gp3 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic.

  • launch.group-id - The ID of the security group for the instance.

  • launch.group-name - The name of the security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

  • launch.ramdisk-id - The RAM disk ID.

  • launched-availability-zone - The Availability Zone in which the request is launched.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.description - A description of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot Instance request ID.

  • spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

  • state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide for Linux Instances.

  • status-code - The short code describing the most recent evaluation of your Spot Instance request.

  • status-message - The message explaining the status of the Spot Instance request.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of Spot Instance request (one-time | persistent).

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

+

The filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot Instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot Instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

  • launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of EBS volume: gp2 or gp3 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic.

  • launch.group-id - The ID of the security group for the instance.

  • launch.group-name - The name of the security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

  • launch.ramdisk-id - The RAM disk ID.

  • launched-availability-zone - The Availability Zone in which the request is launched.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.description - A description of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot Instance request ID.

  • spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

  • state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide.

  • status-code - The short code describing the most recent evaluation of your Spot Instance request.

  • status-message - The message explaining the status of the Spot Instance request.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of Spot Instance request (one-time | persistent).

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -24162,7 +24185,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

Information about one or more subnets.

+

Information about the subnets.

*/ @property (nonatomic, strong) NSArray * _Nullable subnets; @@ -24214,6 +24237,62 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DescribeTrafficMirrorFilterRulesRequest : 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; + +/** +

Traffic mirror filters.

  • traffic-mirror-filter-rule-id: The ID of the Traffic Mirror rule.

  • traffic-mirror-filter-id: The ID of the filter that this rule is associated with.

  • rule-number: The number of the Traffic Mirror rule.

  • rule-action: The action taken on the filtered traffic. Possible actions are accept and reject.

  • traffic-direction: The traffic direction. Possible directions are ingress and egress.

  • protocol: The protocol, for example UDP, assigned to the Traffic Mirror rule.

  • source-cidr-block: The source CIDR block assigned to the Traffic Mirror rule.

  • destination-cidr-block: The destination CIDR block assigned to the Traffic Mirror rule.

  • description: The description of the Traffic Mirror rule.

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

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

The token for the next page of results.

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

Traffic filter ID.

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

Traffic filter rule IDs.

+ */ +@property (nonatomic, strong) NSArray * _Nullable trafficMirrorFilterRuleIds; + +@end + +/** + + */ +@interface AWSEC2DescribeTrafficMirrorFilterRulesResult : AWSModel + + +/** +

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

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

Traffic mirror rules.

+ */ +@property (nonatomic, strong) NSArray * _Nullable trafficMirrorFilterRules; + +@end + /** */ @@ -25261,7 +25340,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. This value can be between 5 and 1,000; if the value is larger than 1,000, only 1,000 results are returned. If this parameter is not used, then all items are returned. You cannot specify this parameter and the volume IDs parameter in the same request. For more information, see Pagination.

+

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxResults; @@ -25317,7 +25396,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable maxResults; /** -

The token returned by a previous paginated request. Pagination continues from the end of the items returned by the previous request.

+

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

*/ @property (nonatomic, strong) NSString * _Nullable nextToken; @@ -25335,7 +25414,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The token to include in another request to get the next page of items. This value is null if there are no more items to return.

+

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.

*/ @property (nonatomic, strong) NSString * _Nullable nextToken; @@ -25363,12 +25442,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The maximum number of volumes to return for this request. This value can be between 5 and 500; if you specify a value larger than 500, only 500 items are returned. If this parameter is not used, then all items are returned. You cannot specify this parameter and the volume IDs parameter in the same request. For more information, see Pagination.

+

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxResults; /** -

The token returned from a previous paginated request. Pagination continues from the end of the items returned from the previous request.

+

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

*/ @property (nonatomic, strong) NSString * _Nullable nextToken; @@ -25825,7 +25904,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

Information about the endpoints.

+

Information about the VPC endpoints.

*/ @property (nonatomic, strong) NSArray * _Nullable vpcEndpoints; @@ -25909,7 +25988,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

The IDs of the VPCs.

Default: Describes all your VPCs.

+

The IDs of the VPCs.

*/ @property (nonatomic, strong) NSArray * _Nullable vpcIds; @@ -25927,7 +26006,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

Information about one or more VPCs.

+

Information about the VPCs.

*/ @property (nonatomic, strong) NSArray * _Nullable vpcs; @@ -26141,7 +26220,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -27437,7 +27516,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable associationId; /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -27455,7 +27534,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -27985,7 +28064,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Describes the association between an instance and an Elastic Graphics accelerator.

+

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the association between an instance and an Elastic Graphics accelerator.

*/ @interface AWSEC2ElasticGpuAssociation : AWSModel @@ -28013,7 +28092,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Describes the status of an Elastic Graphics accelerator.

+

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the status of an Elastic Graphics accelerator.

*/ @interface AWSEC2ElasticGpuHealth : AWSModel @@ -28026,14 +28105,14 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

A specification for an Elastic Graphics accelerator.

+

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

A specification for an Elastic Graphics accelerator.

Required parameters: [Type] */ @interface AWSEC2ElasticGpuSpecification : AWSModel /** -

The type of Elastic Graphics accelerator. For more information about the values to specify for Type, see Elastic Graphics Basics, specifically the Elastic Graphics accelerator column, in the Amazon Elastic Compute Cloud User Guide for Windows Instances.

+

The type of Elastic Graphics accelerator.

*/ @property (nonatomic, strong) NSString * _Nullable types; @@ -28053,7 +28132,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Describes an Elastic Graphics accelerator.

+

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes an Elastic Graphics accelerator.

*/ @interface AWSEC2ElasticGpus : AWSModel @@ -29978,7 +30057,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable ebsOptimized; /** -

The number of capacity units fulfilled by the Capacity Reservation. For more information, see Total target capacity in the Amazon EC2 User Guide.

+

The number of capacity units fulfilled by the Capacity Reservation. For more information, see Total target capacity in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable fulfilledCapacity; @@ -29993,7 +30072,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2InstanceType instanceType; /** -

The priority of the instance type in the Capacity Reservation Fleet. For more information, see Instance type priority in the Amazon EC2 User Guide.

+

The priority of the instance type in the Capacity Reservation Fleet. For more information, see Instance type priority in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable priority; @@ -30003,7 +30082,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable totalInstanceCount; /** -

The weight of the instance type in the Capacity Reservation Fleet. For more information, see Instance type weight in the Amazon EC2 User Guide.

+

The weight of the instance type in the Capacity Reservation Fleet. For more information, see Instance type weight in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable weight; @@ -30439,7 +30518,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable logGroupName; /** -

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds (1 minute) or less, regardless of the specified value.

Valid Values: 60 | 600

+

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds (1 minute) or less, regardless of the specified value.

Valid Values: 60 | 600

*/ @property (nonatomic, strong) NSNumber * _Nullable maxAggregationInterval; @@ -33061,7 +33140,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

+

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

*/ @interface AWSEC2HibernationOptions : AWSModel @@ -33074,7 +33153,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

+

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

*/ @interface AWSEC2HibernationOptionsRequest : AWSModel @@ -35687,7 +35766,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2InstanceNetworkInterfaceAttachment * _Nullable attachment; /** -

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2ConnectionTrackingSpecificationResponse * _Nullable connectionTrackingConfiguration; @@ -35866,7 +35945,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; /** -

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2ConnectionTrackingSpecificationRequest * _Nullable connectionTrackingSpecification; @@ -37364,7 +37443,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable poolDepth; /** -

The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is BYOIP. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

+

The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is BYOIP. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

*/ @property (nonatomic, assign) AWSEC2IpamPoolPublicIpSource publicIpSource; @@ -37886,7 +37965,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The IPv4 prefix. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

The IPv4 prefix. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable ipv4Prefix; @@ -37899,7 +37978,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The IPv4 prefix. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

The IPv4 prefix. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable ipv4Prefix; @@ -38789,7 +38868,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

+

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

*/ @interface AWSEC2LaunchTemplateInstanceMetadataOptions : AWSModel @@ -38827,7 +38906,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

+

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

*/ @interface AWSEC2LaunchTemplateInstanceMetadataOptionsRequest : AWSModel @@ -38876,7 +38955,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; /** -

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Idle connection tracking timeout in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2ConnectionTrackingSpecification * _Nullable connectionTrackingSpecification; @@ -38994,7 +39073,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; /** -

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Idle connection tracking timeout in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2ConnectionTrackingSpecificationRequest * _Nullable connectionTrackingSpecification; @@ -39024,7 +39103,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable groups; /** -

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

Valid values: interface | efa

+

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon EC2 User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

Valid values: interface | efa

*/ @property (nonatomic, strong) NSString * _Nullable interfaceType; @@ -40500,7 +40579,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable groupName; /** -

Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

+

Indicates whether to opt in to the zone group. The only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

*/ @property (nonatomic, assign) AWSEC2ModifyAvailabilityZoneOptInStatus optInStatus; @@ -40546,7 +40625,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable removeEndDate; /** -

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

+

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable totalTargetCapacity; @@ -40760,7 +40839,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

Amazon EBS does not support asymmetric KMS keys.

+

The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

Amazon EBS does not support asymmetric KMS keys.

*/ @property (nonatomic, strong) NSString * _Nullable kmsKeyId; @@ -40918,12 +40997,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable hostIds; /** -

Indicates whether to enable or disable host maintenance for the Dedicated Host. For more information, see Host maintenance in the Amazon EC2 User Guide.

+

Indicates whether to enable or disable host maintenance for the Dedicated Host. For more information, see Host maintenance in the Amazon EC2 User Guide.

*/ @property (nonatomic, assign) AWSEC2HostMaintenance hostMaintenance; /** -

Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, see Host recovery in the Amazon EC2 User Guide.

+

Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, see Host recovery in the Amazon EC2 User Guide.

*/ @property (nonatomic, assign) AWSEC2HostRecovery hostRecovery; @@ -41089,7 +41168,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable blockDeviceMappings; /** -

Indicates whether an instance is enabled for stop protection. For more information, see Stop Protection.

+

Indicates whether an instance is enabled for stop protection. For more information, see Enable stop protection for your instance.

*/ @property (nonatomic, strong) AWSEC2AttributeBooleanValue * _Nullable disableApiStop; @@ -42444,7 +42523,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Modifies a Traffic Mirror rule.

+

Tags are not returned for ModifyTrafficMirrorFilterRule.

A Traffic Mirror rule.

*/ @property (nonatomic, strong) AWSEC2TrafficMirrorFilterRule * _Nullable trafficMirrorFilterRule; @@ -42788,7 +42867,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -42849,7 +42928,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -42905,7 +42984,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -42966,7 +43045,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -43017,7 +43096,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2VerifiedAccessLogOptions * _Nullable accessLogs; /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -43053,7 +43132,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -43150,7 +43229,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -43234,12 +43313,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

Default: The existing value is retained if you keep the same volume type. If you change the volume type to io1, io2, or gp3, the default is 3,000.

+

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

Default: The existing value is retained if you keep the same volume type. If you change the volume type to io1, io2, or gp3, the default is 3,000.

*/ @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 EBS 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; @@ -44146,7 +44225,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable natGatewayId; /** -

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

+

Reserved. If you need to sustain traffic greater than the documented limits, contact Amazon Web Services Support.

*/ @property (nonatomic, strong) AWSEC2ProvisionedBandwidth * _Nullable provisionedBandwidth; @@ -44227,7 +44306,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Any associations between the network ACL and one or more subnets

+

Any associations between the network ACL and your subnets

*/ @property (nonatomic, strong) NSArray * _Nullable associations; @@ -44783,7 +44862,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable availabilityZone; /** -

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

+

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2ConnectionTrackingConfiguration * _Nullable connectionTrackingConfiguration; @@ -45324,12 +45403,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2CapacityReservationOptions * _Nullable capacityReservationOptions; /** -

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

+

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable maxTotalPrice; /** -

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

+

The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

*/ @property (nonatomic, strong) NSNumber * _Nullable minTargetCapacity; @@ -45362,12 +45441,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2CapacityReservationOptionsRequest * _Nullable capacityReservationOptions; /** -

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

+

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable maxTotalPrice; /** -

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

+

The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

*/ @property (nonatomic, strong) NSNumber * _Nullable minTargetCapacity; @@ -46573,7 +46652,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2IpamCidrAuthorizationContext * _Nullable cidrAuthorizationContext; /** -

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

+

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -46654,33 +46733,33 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

+

Reserved. If you need to sustain traffic greater than the documented limits, contact Amazon Web Services Support.

*/ @interface AWSEC2ProvisionedBandwidth : AWSModel /** -

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

+

Reserved.

*/ @property (nonatomic, strong) NSDate * _Nullable provisionTime; /** -

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

+

Reserved.

*/ @property (nonatomic, strong) NSString * _Nullable provisioned; /** -

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

+

Reserved.

*/ @property (nonatomic, strong) NSDate * _Nullable requestTime; /** -

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

+

Reserved.

*/ @property (nonatomic, strong) NSString * _Nullable requested; /** -

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

+

Reserved.

*/ @property (nonatomic, strong) NSString * _Nullable status; @@ -47000,7 +47079,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing pricing tiers in the Amazon Elastic Compute Cloud User Guide.

+

The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing pricing tiers in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable reservedInstancesId; @@ -48170,7 +48249,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplateCapacityReservationSpecificationRequest * _Nullable capacityReservationSpecification; /** -

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

+

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2LaunchTemplateCpuOptionsRequest * _Nullable cpuOptions; @@ -48180,7 +48259,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2CreditSpecificationRequest * _Nullable creditSpecification; /** -

Indicates whether to enable the instance for stop protection. For more information, see Stop protection in the Amazon Elastic Compute Cloud User Guide.

+

Indicates whether to enable the instance for stop protection. For more information, see Enable stop protection for your instance in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable disableApiStop; @@ -48205,12 +48284,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable elasticInferenceAccelerators; /** -

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

+

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

*/ @property (nonatomic, strong) AWSEC2LaunchTemplateEnclaveOptionsRequest * _Nullable enclaveOptions; /** -

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide.

+

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2LaunchTemplateHibernationOptionsRequest * _Nullable hibernationOptions; @@ -48220,7 +48299,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplateIamInstanceProfileSpecificationRequest * _Nullable iamInstanceProfile; /** -

The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.

Valid formats:

  • ami-17characters00000

  • resolve:ssm:parameter-name

  • resolve:ssm:parameter-name:version-number

  • resolve:ssm:parameter-name:label

  • resolve:ssm:public-parameter

Currently, EC2 Fleet and Spot Fleet do not support specifying a Systems Manager parameter. If the launch template will be used by an EC2 Fleet or Spot Fleet, you must specify the AMI ID.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

+

The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.

Valid formats:

  • ami-17characters00000

  • resolve:ssm:parameter-name

  • resolve:ssm:parameter-name:version-number

  • resolve:ssm:parameter-name:label

  • resolve:ssm:public-parameter

Currently, EC2 Fleet and Spot Fleet do not support specifying a Systems Manager parameter. If the launch template will be used by an EC2 Fleet or Spot Fleet, you must specify the AMI ID.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable imageId; @@ -48240,12 +48319,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2InstanceRequirementsRequest * _Nullable instanceRequirements; /** -

The instance type. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

If you specify InstanceType, you can't specify InstanceRequirements.

+

The instance type. For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.

If you specify InstanceType, you can't specify InstanceRequirements.

*/ @property (nonatomic, assign) AWSEC2InstanceType instanceType; /** -

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

+

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable kernelId; @@ -48265,7 +48344,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplateInstanceMaintenanceOptionsRequest * _Nullable maintenanceOptions; /** -

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

+

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2LaunchTemplateInstanceMetadataOptionsRequest * _Nullable metadataOptions; @@ -48290,7 +48369,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplatePrivateDnsNameOptionsRequest * _Nullable privateDnsNameOptions; /** -

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

+

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable ramDiskId; @@ -48310,7 +48389,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable tagSpecifications; /** -

The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see Run commands on your Linux instance at launch (Linux) or Work with instance user data (Windows) in the Amazon Elastic Compute Cloud User Guide.

If you are creating the launch template for use with Batch, the user data must be provided in the MIME multi-part archive format. For more information, see Amazon EC2 user data in launch templates in the Batch User Guide.

+

The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see Run commands on your Amazon EC2 instance at launch in the Amazon EC2 User Guide.

If you are creating the launch template for use with Batch, the user data must be provided in the MIME multi-part archive format. For more information, see Amazon EC2 user data in launch templates in the Batch User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable userData; @@ -48365,7 +48444,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable blockDurationMinutes; /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon EC2 User Guide for Linux Instances.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency in Amazon EC2 API requests in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -48587,12 +48666,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2InstanceType instanceType; /** -

The priority to assign to the instance type. This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see Instance type priority in the Amazon EC2 User Guide.

+

The priority to assign to the instance type. This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see Instance type priority in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable priority; /** -

The number of capacity units provided by the specified instance type. This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

+

The number of capacity units provided by the specified instance type. This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable weight; @@ -49276,7 +49355,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplateCapacityReservationSpecificationResponse * _Nullable capacityReservationSpecification; /** -

The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User Guide.

+

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2LaunchTemplateCpuOptions * _Nullable cpuOptions; @@ -49286,7 +49365,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2CreditSpecification * _Nullable creditSpecification; /** -

Indicates whether the instance is enabled for stop protection. For more information, see Stop protection in the Amazon Elastic Compute Cloud User Guide.

+

Indicates whether the instance is enabled for stop protection. For more information, see Enable stop protection for your instance in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSNumber * _Nullable disableApiStop; @@ -49316,7 +49395,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplateEnclaveOptions * _Nullable enclaveOptions; /** -

Indicates whether an instance is configured for hibernation. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide.

+

Indicates whether an instance is configured for hibernation. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2LaunchTemplateHibernationOptions * _Nullable hibernationOptions; @@ -49326,7 +49405,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplateIamInstanceProfileSpecification * _Nullable iamInstanceProfile; /** -

The ID of the AMI or a Systems Manager parameter. The Systems Manager parameter will resolve to the ID of the AMI at instance launch.

The value depends on what you specified in the request. The possible values are:

  • If an AMI ID was specified in the request, then this is the AMI ID.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as true, then this is the AMI ID that the parameter is mapped to in the Parameter Store.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as false, then this is the parameter value.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

+

The ID of the AMI or a Systems Manager parameter. The Systems Manager parameter will resolve to the ID of the AMI at instance launch.

The value depends on what you specified in the request. The possible values are:

  • If an AMI ID was specified in the request, then this is the AMI ID.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as true, then this is the AMI ID that the parameter is mapped to in the Parameter Store.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as false, then this is the parameter value.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable imageId; @@ -49371,7 +49450,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplateInstanceMaintenanceOptions * _Nullable maintenanceOptions; /** -

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

+

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2LaunchTemplateInstanceMetadataOptions * _Nullable metadataOptions; @@ -49965,7 +50044,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The associations between the route table and one or more subnets or a gateway.

+

The associations between the route table and your subnets or gateways.

*/ @property (nonatomic, strong) NSArray * _Nullable associations; @@ -50202,7 +50281,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2EnclaveOptionsRequest * _Nullable enclaveOptions; /** -

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same instance.

+

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same instance.

*/ @property (nonatomic, strong) AWSEC2HibernationOptionsRequest * _Nullable hibernationOptions; @@ -50227,7 +50306,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2InstanceMarketOptionsRequest * _Nullable instanceMarketOptions; /** -

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

+

The instance type. For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.

*/ @property (nonatomic, assign) AWSEC2InstanceType instanceType; @@ -50267,7 +50346,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2InstanceMaintenanceOptionsRequest * _Nullable maintenanceOptions; /** -

The maximum number of instances to launch. If you specify more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above MinCount.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 FAQ.

+

The maximum number of instances to launch. If you specify a value that is more capacity than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above the specified minimum count.

Constraints: Between 1 and the quota for the specified instance type for your account for this Region. For more information, see Amazon EC2 instance type quotas.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxCount; @@ -50277,7 +50356,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2InstanceMetadataOptionsRequest * _Nullable metadataOptions; /** -

The minimum number of instances to launch. If you specify a minimum that is more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches no instances.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 General FAQ.

+

The minimum number of instances to launch. If you specify a value that is more capacity than Amazon EC2 can provide in the target Availability Zone, Amazon EC2 does not launch any instances.

Constraints: Between 1 and the quota for the specified instance type for your account for this Region. For more information, see Amazon EC2 instance type quotas.

*/ @property (nonatomic, strong) NSNumber * _Nullable minCount; @@ -50332,7 +50411,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable tagSpecifications; /** -

The user data script to make available to the instance. For more information, see Run commands on your Linux instance at launch and Run commands on your Windows instance at launch. If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.

+

The user data script to make available to the instance. For more information, see Run commands on your Amazon EC2 instance at launch in the Amazon EC2 User Guide. If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.

*/ @property (nonatomic, strong) NSString * _Nullable userData; @@ -51645,7 +51724,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -

The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the volume encryption key for the parent volume.

+

The Amazon Resource Name (ARN) of the KMS key that was used to protect the volume encryption key for the parent volume.

*/ @property (nonatomic, strong) NSString * _Nullable kmsKeyId; @@ -51695,7 +51774,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2SnapshotState state; /** -

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper Key Management Service (KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by DescribeSnapshots.

+

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper KMS permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by DescribeSnapshots.

*/ @property (nonatomic, strong) NSString * _Nullable stateMessage; @@ -52040,7 +52119,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

+

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

*/ @interface AWSEC2SpotCapacityRebalance : AWSModel @@ -52252,7 +52331,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

priceCapacityOptimized (recommended)

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

capacityOptimized

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

Spot Fleet requests instances from all of the Spot Instance pools that you specify.

lowestPrice

Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowestPrice

+

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

priceCapacityOptimized (recommended)

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

capacityOptimized

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

Spot Fleet requests instances from all of the Spot Instance pools that you specify.

lowestPrice (not recommended)

We don't recommend the lowestPrice allocation strategy because it has the highest risk of interruption for your Spot Instances.

Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowestPrice

*/ @property (nonatomic, assign) AWSEC2AllocationStrategy allocationStrategy; @@ -52317,7 +52396,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable onDemandFulfilledCapacity; /** -

The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The onDemandMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

+

The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The onDemandMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable onDemandMaxTotalPrice; @@ -52337,7 +52416,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2SpotMaintenanceStrategies * _Nullable spotMaintenanceStrategies; /** -

The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The spotMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

+

The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The spotMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable spotMaxTotalPrice; @@ -52473,7 +52552,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable spotPrice; /** -

The state of the Spot Instance request. Spot request status information helps track your Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide for Linux Instances.

+

The state of the Spot Instance request. Spot request status information helps track your Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide.

*/ @property (nonatomic, assign) AWSEC2SpotInstanceState state; @@ -52529,7 +52608,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide for Linux Instances.

+

The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable code; @@ -52552,7 +52631,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

+

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) AWSEC2SpotCapacityRebalance * _Nullable capacityRebalance; @@ -52598,7 +52677,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

+

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price (not recommended)

We don't recommend the lowest-price allocation strategy because it has the highest risk of interruption for your Spot Instances.

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

*/ @property (nonatomic, assign) AWSEC2SpotAllocationStrategy allocationStrategy; @@ -52618,12 +52697,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2FleetSpotMaintenanceStrategies * _Nullable maintenanceStrategies; /** -

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

+

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable maxTotalPrice; /** -

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

+

The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

*/ @property (nonatomic, strong) NSNumber * _Nullable minTargetCapacity; @@ -52646,7 +52725,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

+

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price (not recommended)

We don't recommend the lowest-price allocation strategy because it has the highest risk of interruption for your Spot Instances.

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

*/ @property (nonatomic, assign) AWSEC2SpotAllocationStrategy allocationStrategy; @@ -52666,12 +52745,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2FleetSpotMaintenanceStrategiesRequest * _Nullable maintenanceStrategies; /** -

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

+

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

*/ @property (nonatomic, strong) NSString * _Nullable maxTotalPrice; /** -

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

+

The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

*/ @property (nonatomic, strong) NSNumber * _Nullable minTargetCapacity; @@ -52885,7 +52964,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -52931,7 +53010,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable additionalAccounts; /** -

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

+

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

*/ @property (nonatomic, strong) NSString * _Nullable clientToken; @@ -53932,6 +54011,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) AWSEC2TrafficMirrorPortRange * _Nullable sourcePortRange; +/** +

Tags on Traffic Mirroring filter rules.

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

The traffic direction assigned to the Traffic Mirror rule.

*/ @@ -56938,7 +57022,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable iops; /** -

The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the volume encryption key for the volume.

+

The Amazon Resource Name (ARN) of the KMS key that was used to protect the volume encryption key for the volume.

*/ @property (nonatomic, strong) NSString * _Nullable kmsKeyId; diff --git a/AWSEC2/AWSEC2Model.m b/AWSEC2/AWSEC2Model.m index 66d36859015..ef01e77373a 100644 --- a/AWSEC2/AWSEC2Model.m +++ b/AWSEC2/AWSEC2Model.m @@ -9132,6 +9132,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -10745,6 +10790,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -13150,6 +13225,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"ruleNumber" : @"RuleNumber", @"sourceCidrBlock" : @"SourceCidrBlock", @"sourcePortRange" : @"SourcePortRange", + @"tagSpecifications" : @"TagSpecifications", @"trafficDirection" : @"TrafficDirection", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", }; @@ -13184,6 +13260,10 @@ + (NSValueTransformer *)sourcePortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorPortRangeRequest class]]; } ++ (NSValueTransformer *)tagSpecificationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; +} + + (NSValueTransformer *)trafficDirectionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ingress"] == NSOrderedSame) { @@ -21807,6 +21887,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -23420,6 +23545,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -28701,6 +28856,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -30314,6 +30514,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -31396,6 +31626,48 @@ + (NSValueTransformer *)tagsJSONTransformer { @end +@implementation AWSEC2DescribeTrafficMirrorFilterRulesRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"filters" : @"Filters", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", + @"trafficMirrorFilterRuleIds" : @"TrafficMirrorFilterRuleIds", + }; +} + ++ (NSValueTransformer *)filtersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; +} + +@end + +@implementation AWSEC2DescribeTrafficMirrorFilterRulesResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"nextToken" : @"NextToken", + @"trafficMirrorFilterRules" : @"TrafficMirrorFilterRules", + }; +} + ++ (NSValueTransformer *)trafficMirrorFilterRulesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TrafficMirrorFilterRule class]]; +} + +@end + @implementation AWSEC2DescribeTrafficMirrorFiltersRequest + (BOOL)supportsSecureCoding { @@ -39704,6 +39976,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -41317,6 +41634,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -44022,6 +44369,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -45635,6 +46027,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -48088,6 +48510,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -49701,6 +50168,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -56310,6 +56807,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -57923,6 +58465,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -60961,6 +61533,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -62574,6 +63191,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -67450,6 +68097,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -69063,6 +69755,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -71611,6 +72333,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -73224,6 +73991,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -77750,6 +78547,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -79363,6 +80205,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -82905,6 +83777,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -84518,6 +85435,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -85122,6 +86069,9 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } + if ([value caseInsensitiveCompare:@"vpc-encryption-control"] == NSOrderedSame) { + return @(AWSEC2ResourceTypeVpcEncryptionControl); + } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } @@ -85300,6 +86250,8 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; + case AWSEC2ResourceTypeVpcEncryptionControl: + return @"vpc-encryption-control"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: @@ -85582,6 +86534,9 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } + if ([value caseInsensitiveCompare:@"vpc-encryption-control"] == NSOrderedSame) { + return @(AWSEC2ResourceTypeVpcEncryptionControl); + } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } @@ -85760,6 +86715,8 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; + case AWSEC2ResourceTypeVpcEncryptionControl: + return @"vpc-encryption-control"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: @@ -97468,6 +98425,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -99081,6 +100083,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -101721,6 +102753,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -103334,6 +104411,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -105916,6 +107023,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -107529,6 +108681,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -110099,6 +111281,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -111712,6 +112939,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -114324,6 +115581,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -115937,6 +117239,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -118620,6 +119952,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -120233,6 +121610,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -123289,6 +124696,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -124902,6 +126354,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -128121,6 +129603,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -129734,6 +131261,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -133827,6 +135384,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -135440,6 +137042,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -136089,6 +137721,9 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } + if ([value caseInsensitiveCompare:@"vpc-encryption-control"] == NSOrderedSame) { + return @(AWSEC2ResourceTypeVpcEncryptionControl); + } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } @@ -136267,6 +137902,8 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; + case AWSEC2ResourceTypeVpcEncryptionControl: + return @"vpc-encryption-control"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: @@ -139271,6 +140908,51 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); } + if ([value caseInsensitiveCompare:@"u7ib-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7Ib_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"c7gn.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gn_metal); + } + if ([value caseInsensitiveCompare:@"r8g.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_medium); + } + if ([value caseInsensitiveCompare:@"r8g.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_large); + } + if ([value caseInsensitiveCompare:@"r8g.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_2xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_4xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_8xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_12xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_16xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_24xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_48xlarge); + } + if ([value caseInsensitiveCompare:@"r8g.metal-24xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_24xl); + } + if ([value caseInsensitiveCompare:@"r8g.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR8G_metal_48xl); + } + if ([value caseInsensitiveCompare:@"mac2-m1ultra.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m1ultra_metal); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -140884,6 +142566,36 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"u7in-24tb.224xlarge"; case AWSEC2InstanceTypeU7In_32tb_224xlarge: return @"u7in-32tb.224xlarge"; + case AWSEC2InstanceTypeU7Ib_12tb_224xlarge: + return @"u7ib-12tb.224xlarge"; + case AWSEC2InstanceTypeC7Gn_metal: + return @"c7gn.metal"; + case AWSEC2InstanceTypeR8G_medium: + return @"r8g.medium"; + case AWSEC2InstanceTypeR8G_large: + return @"r8g.large"; + case AWSEC2InstanceTypeR8G_xlarge: + return @"r8g.xlarge"; + case AWSEC2InstanceTypeR8G_2xlarge: + return @"r8g.2xlarge"; + case AWSEC2InstanceTypeR8G_4xlarge: + return @"r8g.4xlarge"; + case AWSEC2InstanceTypeR8G_8xlarge: + return @"r8g.8xlarge"; + case AWSEC2InstanceTypeR8G_12xlarge: + return @"r8g.12xlarge"; + case AWSEC2InstanceTypeR8G_16xlarge: + return @"r8g.16xlarge"; + case AWSEC2InstanceTypeR8G_24xlarge: + return @"r8g.24xlarge"; + case AWSEC2InstanceTypeR8G_48xlarge: + return @"r8g.48xlarge"; + case AWSEC2InstanceTypeR8G_metal_24xl: + return @"r8g.metal-24xl"; + case AWSEC2InstanceTypeR8G_metal_48xl: + return @"r8g.metal-48xl"; + case AWSEC2InstanceTypeMAC2_m1ultra_metal: + return @"mac2-m1ultra.metal"; default: return nil; } @@ -141905,6 +143617,9 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } + if ([value caseInsensitiveCompare:@"vpc-encryption-control"] == NSOrderedSame) { + return @(AWSEC2ResourceTypeVpcEncryptionControl); + } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } @@ -142083,6 +143798,8 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; + case AWSEC2ResourceTypeVpcEncryptionControl: + return @"vpc-encryption-control"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: @@ -142361,6 +144078,9 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } + if ([value caseInsensitiveCompare:@"vpc-encryption-control"] == NSOrderedSame) { + return @(AWSEC2ResourceTypeVpcEncryptionControl); + } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } @@ -142539,6 +144259,8 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; + case AWSEC2ResourceTypeVpcEncryptionControl: + return @"vpc-encryption-control"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: @@ -143012,6 +144734,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"ruleNumber" : @"RuleNumber", @"sourceCidrBlock" : @"SourceCidrBlock", @"sourcePortRange" : @"SourcePortRange", + @"tags" : @"Tags", @"trafficDirection" : @"TrafficDirection", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", @"trafficMirrorFilterRuleId" : @"TrafficMirrorFilterRuleId", @@ -143047,6 +144770,10 @@ + (NSValueTransformer *)sourcePortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorPortRange class]]; } ++ (NSValueTransformer *)tagsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; +} + + (NSValueTransformer *)trafficDirectionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ingress"] == NSOrderedSame) { diff --git a/AWSEC2/AWSEC2Resources.m b/AWSEC2/AWSEC2Resources.m index 5d0696f5821..4916c1e60de 100644 --- a/AWSEC2/AWSEC2Resources.m +++ b/AWSEC2/AWSEC2Resources.m @@ -62,13 +62,14 @@ - (NSString *)definitionString { \"apiVersion\":\"2016-11-15\",\ \"endpointPrefix\":\"ec2\",\ \"protocol\":\"ec2\",\ - \"protocols\":[\"query\"],\ + \"protocols\":[\"ec2\"],\ \"serviceAbbreviation\":\"Amazon EC2\",\ \"serviceFullName\":\"Amazon Elastic Compute Cloud\",\ \"serviceId\":\"EC2\",\ \"signatureVersion\":\"v4\",\ \"uid\":\"ec2-2016-11-15\",\ - \"xmlNamespace\":\"http://ec2.amazonaws.com/doc/2016-11-15\"\ + \"xmlNamespace\":\"http://ec2.amazonaws.com/doc/2016-11-15\",\ + \"auth\":[\"aws.auth#sigv4\"]\ },\ \"operations\":{\ \"AcceptAddressTransfer\":{\ @@ -79,7 +80,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AcceptAddressTransferRequest\"},\ \"output\":{\"shape\":\"AcceptAddressTransferResult\"},\ - \"documentation\":\"

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon Virtual Private Cloud User Guide.

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

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon VPC User Guide.

\"\ },\ \"AcceptReservedInstancesExchangeQuote\":{\ \"name\":\"AcceptReservedInstancesExchangeQuote\",\ @@ -159,7 +160,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AllocateAddressRequest\"},\ \"output\":{\"shape\":\"AllocateAddressResult\"},\ - \"documentation\":\"

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account.

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation.

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

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

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account.

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon EC2 User Guide.

If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation.

For more information, see Elastic IP Addresses in the Amazon EC2 User Guide.

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

\"\ },\ \"AllocateHosts\":{\ \"name\":\"AllocateHosts\",\ @@ -199,7 +200,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AssignIpv6AddressesRequest\"},\ \"output\":{\"shape\":\"AssignIpv6AddressesResult\"},\ - \"documentation\":\"

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

You must specify either the IPv6 addresses or the IPv6 address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

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

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type.

You must specify either the IPv6 addresses or the IPv6 address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

\"\ },\ \"AssignPrivateIpAddresses\":{\ \"name\":\"AssignPrivateIpAddresses\",\ @@ -209,7 +210,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AssignPrivateIpAddressesRequest\"},\ \"output\":{\"shape\":\"AssignPrivateIpAddressesResult\"},\ - \"documentation\":\"

Assigns one or more secondary private IP addresses to the specified network interface.

You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved.

Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete.

You must specify either the IP addresses or the IP address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

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

Assigns one or more secondary private IP addresses to the specified network interface.

You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon EC2 User Guide.

When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved.

Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete.

You must specify either the IP addresses or the IP address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

\"\ },\ \"AssignPrivateNatGatewayAddress\":{\ \"name\":\"AssignPrivateNatGatewayAddress\",\ @@ -219,7 +220,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AssignPrivateNatGatewayAddressRequest\"},\ \"output\":{\"shape\":\"AssignPrivateNatGatewayAddressResult\"},\ - \"documentation\":\"

Assigns one or more private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

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

Assigns private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

\"\ },\ \"AssociateAddress\":{\ \"name\":\"AssociateAddress\",\ @@ -248,7 +249,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"AssociateDhcpOptionsRequest\"},\ - \"documentation\":\"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP options sets in the Amazon VPC User Guide.

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

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP option sets in the Amazon VPC User Guide.

\"\ },\ \"AssociateEnclaveCertificateIamRole\":{\ \"name\":\"AssociateEnclaveCertificateIamRole\",\ @@ -368,7 +369,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AssociateTrunkInterfaceRequest\"},\ \"output\":{\"shape\":\"AssociateTrunkInterfaceResult\"},\ - \"documentation\":\"

Associates a branch network interface with a trunk network interface.

Before you create the association, run the create-network-interface command and set --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

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

Associates a branch network interface with a trunk network interface.

Before you create the association, use CreateNetworkInterface command and set the interface type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

\"\ },\ \"AssociateVpcCidrBlock\":{\ \"name\":\"AssociateVpcCidrBlock\",\ @@ -378,7 +379,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AssociateVpcCidrBlockRequest\"},\ \"output\":{\"shape\":\"AssociateVpcCidrBlockResult\"},\ - \"documentation\":\"

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

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

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

\"\ },\ \"AttachClassicLinkVpc\":{\ \"name\":\"AttachClassicLinkVpc\",\ @@ -555,7 +556,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CancelReservedInstancesListingRequest\"},\ \"output\":{\"shape\":\"CancelReservedInstancesListingResult\"},\ - \"documentation\":\"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

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

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

\"\ },\ \"CancelSpotFleetRequests\":{\ \"name\":\"CancelSpotFleetRequests\",\ @@ -615,7 +616,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 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.

\"\ + \"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 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\",\ @@ -635,7 +636,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateCapacityReservationFleetRequest\"},\ \"output\":{\"shape\":\"CreateCapacityReservationFleetResult\"},\ - \"documentation\":\"

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity Reservation Fleet in the Amazon EC2 User Guide.

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

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity Reservation Fleet in the Amazon EC2 User Guide.

\"\ },\ \"CreateCarrierGateway\":{\ \"name\":\"CreateCarrierGateway\",\ @@ -725,7 +726,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateDhcpOptionsRequest\"},\ \"output\":{\"shape\":\"CreateDhcpOptionsResult\"},\ - \"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-address-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.

\"\ + \"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 option 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-address-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\",\ @@ -755,7 +756,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateFlowLogsRequest\"},\ \"output\":{\"shape\":\"CreateFlowLogsResult\"},\ - \"documentation\":\"

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon Virtual Private Cloud User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

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

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon VPC User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon VPC User Guide.

\"\ },\ \"CreateFpgaImage\":{\ \"name\":\"CreateFpgaImage\",\ @@ -875,7 +876,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateLaunchTemplateRequest\"},\ \"output\":{\"shape\":\"CreateLaunchTemplateResult\"},\ - \"documentation\":\"

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

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

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon EC2 User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon EC2 User Guide.

\"\ },\ \"CreateLaunchTemplateVersion\":{\ \"name\":\"CreateLaunchTemplateVersion\",\ @@ -885,7 +886,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateLaunchTemplateVersionRequest\"},\ \"output\":{\"shape\":\"CreateLaunchTemplateVersionResult\"},\ - \"documentation\":\"

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

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

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon EC2 User Guide.

\"\ },\ \"CreateLocalGatewayRoute\":{\ \"name\":\"CreateLocalGatewayRoute\",\ @@ -994,7 +995,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateNetworkInterfaceRequest\"},\ \"output\":{\"shape\":\"CreateNetworkInterfaceResult\"},\ - \"documentation\":\"

Creates a network interface in the specified subnet.

The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.

For more information about network interfaces, see Elastic network interfaces in the Amazon Elastic Compute Cloud User Guide.

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

Creates a network interface in the specified subnet.

The number of IP addresses you can assign to a network interface varies by instance type.

For more information about network interfaces, see Elastic network interfaces in the Amazon EC2 User Guide.

\"\ },\ \"CreateNetworkInterfacePermission\":{\ \"name\":\"CreateNetworkInterfacePermission\",\ @@ -1034,7 +1035,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateReplaceRootVolumeTaskRequest\"},\ \"output\":{\"shape\":\"CreateReplaceRootVolumeTaskResult\"},\ - \"documentation\":\"

Replaces the EBS-backed root volume for a running instance with a new volume that is restored to the original root volume's launch state, that is restored to a specific snapshot taken from the original root volume, or that is restored from an AMI that has the same key characteristics as that of the instance.

For more information, see Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

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

Replaces the EBS-backed root volume for a running instance with a new volume that is restored to the original root volume's launch state, that is restored to a specific snapshot taken from the original root volume, or that is restored from an AMI that has the same key characteristics as that of the instance.

For more information, see Replace a root volume in the Amazon EC2 User Guide.

\"\ },\ \"CreateReservedInstancesListing\":{\ \"name\":\"CreateReservedInstancesListing\",\ @@ -1044,7 +1045,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateReservedInstancesListingRequest\"},\ \"output\":{\"shape\":\"CreateReservedInstancesListingResult\"},\ - \"documentation\":\"

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard 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.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

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

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard 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.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

\"\ },\ \"CreateRestoreImageTask\":{\ \"name\":\"CreateRestoreImageTask\",\ @@ -1094,7 +1095,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 EBS 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 EC2 User Guide.

For more information, see Amazon EBS and Amazon EBS encryption in the Amazon EBS User Guide.

\"\ },\ \"CreateSnapshots\":{\ \"name\":\"CreateSnapshots\",\ @@ -1114,7 +1115,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateSpotDatafeedSubscriptionRequest\"},\ \"output\":{\"shape\":\"CreateSpotDatafeedSubscriptionResult\"},\ - \"documentation\":\"

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide for Linux Instances.

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

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

\"\ },\ \"CreateStoreImageTask\":{\ \"name\":\"CreateStoreImageTask\",\ @@ -1144,7 +1145,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateSubnetCidrReservationRequest\"},\ \"output\":{\"shape\":\"CreateSubnetCidrReservationResult\"},\ - \"documentation\":\"

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon Virtual Private Cloud User Guide and Assign prefixes to network interfaces in the Amazon Elastic Compute Cloud User Guide.

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

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon VPC User Guide and Assign prefixes to network interfaces in the Amazon EC2 User Guide.

\"\ },\ \"CreateTags\":{\ \"name\":\"CreateTags\",\ @@ -1223,7 +1224,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateTransitGatewayConnectPeerRequest\"},\ \"output\":{\"shape\":\"CreateTransitGatewayConnectPeerResult\"},\ - \"documentation\":\"

Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

For more information, see Connect peers in the Transit Gateways Guide.

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

Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

For more information, see Connect peers in the Amazon Web Services Transit Gateways Guide.

\"\ },\ \"CreateTransitGatewayMulticastDomain\":{\ \"name\":\"CreateTransitGatewayMulticastDomain\",\ @@ -1353,7 +1354,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 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.

\"\ + \"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 EC2 User Guide.

For more information, see Create an Amazon EBS volume in the Amazon EBS User Guide.

\"\ },\ \"CreateVpc\":{\ \"name\":\"CreateVpc\",\ @@ -1383,7 +1384,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateVpcEndpointConnectionNotificationRequest\"},\ \"output\":{\"shape\":\"CreateVpcEndpointConnectionNotificationResult\"},\ - \"documentation\":\"

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

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

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Creating an Amazon SNS topic in the Amazon SNS Developer Guide.

You can create a connection notification for interface endpoints only.

\"\ },\ \"CreateVpcEndpointServiceConfiguration\":{\ \"name\":\"CreateVpcEndpointServiceConfiguration\",\ @@ -1403,7 +1404,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateVpcPeeringConnectionRequest\"},\ \"output\":{\"shape\":\"CreateVpcPeeringConnectionResult\"},\ - \"documentation\":\"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another Amazon Web Services account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the limitations section in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

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

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another Amazon Web Services account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the VPC peering limitations in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

\"\ },\ \"CreateVpnConnection\":{\ \"name\":\"CreateVpnConnection\",\ @@ -1639,7 +1640,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DeleteLaunchTemplateVersionsRequest\"},\ \"output\":{\"shape\":\"DeleteLaunchTemplateVersionsResult\"},\ - \"documentation\":\"

Deletes one or more versions of a launch template.

You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use DeleteLaunchTemplate, which deletes the launch template and all of its versions.

For more information, see Delete a launch template version in the EC2 User Guide.

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

Deletes one or more versions of a launch template.

You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use DeleteLaunchTemplate, which deletes the launch template and all of its versions.

For more information, see Delete a launch template version in the Amazon EC2 User Guide.

\"\ },\ \"DeleteLocalGatewayRoute\":{\ \"name\":\"DeleteLocalGatewayRoute\",\ @@ -2252,7 +2253,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeAddressTransfersRequest\"},\ \"output\":{\"shape\":\"DescribeAddressTransfersResult\"},\ - \"documentation\":\"

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

When you transfer an Elastic IP address, there is a two-step handshake between the source and transfer Amazon Web Services accounts. When the source account starts the transfer, the transfer account has seven days to accept the Elastic IP address transfer. During those seven days, the source account can view the pending transfer by using this action. After seven days, the transfer expires and ownership of the Elastic IP address returns to the source account. Accepted transfers are visible to the source account for three days after the transfers have been accepted.

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

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

When you transfer an Elastic IP address, there is a two-step handshake between the source and transfer Amazon Web Services accounts. When the source account starts the transfer, the transfer account has seven days to accept the Elastic IP address transfer. During those seven days, the source account can view the pending transfer by using this action. After seven days, the transfer expires and ownership of the Elastic IP address returns to the source account. Accepted transfers are visible to the source account for three days after the transfers have been accepted.

\"\ },\ \"DescribeAddresses\":{\ \"name\":\"DescribeAddresses\",\ @@ -2292,7 +2293,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.

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.

\"\ + \"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 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.

\"\ },\ \"DescribeAwsNetworkPerformanceMetricSubscriptions\":{\ \"name\":\"DescribeAwsNetworkPerformanceMetricSubscriptions\",\ @@ -2372,7 +2373,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeClassicLinkInstancesRequest\"},\ \"output\":{\"shape\":\"DescribeClassicLinkInstancesResult\"},\ - \"documentation\":\"

This action is deprecated.

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

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

This action is deprecated.

Describes your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

\"\ },\ \"DescribeClientVpnAuthorizationRules\":{\ \"name\":\"DescribeClientVpnAuthorizationRules\",\ @@ -2462,7 +2463,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeDhcpOptionsRequest\"},\ \"output\":{\"shape\":\"DescribeDhcpOptionsResult\"},\ - \"documentation\":\"

Describes one or more of your DHCP options sets.

For more information, see DHCP options sets in the Amazon VPC User Guide.

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

Describes your DHCP option sets. The default is to describe all your DHCP option sets. Alternatively, you can specify specific DHCP option set IDs or filter the results to include only the DHCP option sets that match specific criteria.

For more information, see DHCP option sets in the Amazon VPC User Guide.

\"\ },\ \"DescribeEgressOnlyInternetGateways\":{\ \"name\":\"DescribeEgressOnlyInternetGateways\",\ @@ -2472,7 +2473,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeEgressOnlyInternetGatewaysRequest\"},\ \"output\":{\"shape\":\"DescribeEgressOnlyInternetGatewaysResult\"},\ - \"documentation\":\"

Describes one or more of your egress-only internet gateways.

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

Describes your egress-only internet gateways. The default is to describe all your egress-only internet gateways. Alternatively, you can specify specific egress-only internet gateway IDs or filter the results to include only the egress-only internet gateways that match specific criteria.

\"\ },\ \"DescribeElasticGpus\":{\ \"name\":\"DescribeElasticGpus\",\ @@ -2482,7 +2483,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeElasticGpusRequest\"},\ \"output\":{\"shape\":\"DescribeElasticGpusResult\"},\ - \"documentation\":\"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Describes the Elastic Graphics accelerator associated with your instances. For more information about Elastic Graphics, see Amazon Elastic Graphics.

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

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the Elastic Graphics accelerator associated with your instances.

\"\ },\ \"DescribeExportImageTasks\":{\ \"name\":\"DescribeExportImageTasks\",\ @@ -2792,7 +2793,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeInternetGatewaysRequest\"},\ \"output\":{\"shape\":\"DescribeInternetGatewaysResult\"},\ - \"documentation\":\"

Describes one or more of your internet gateways.

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

Describes your internet gateways. The default is to describe all your internet gateways. Alternatively, you can specify specific internet gateway IDs or filter the results to include only the internet gateways that match specific criteria.

\"\ },\ \"DescribeIpamByoasn\":{\ \"name\":\"DescribeIpamByoasn\",\ @@ -3002,7 +3003,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeNatGatewaysRequest\"},\ \"output\":{\"shape\":\"DescribeNatGatewaysResult\"},\ - \"documentation\":\"

Describes one or more of your NAT gateways.

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

Describes your NAT gateways. The default is to describe all your NAT gateways. Alternatively, you can specify specific NAT gateway IDs or filter the results to include only the NAT gateways that match specific criteria.

\"\ },\ \"DescribeNetworkAcls\":{\ \"name\":\"DescribeNetworkAcls\",\ @@ -3012,7 +3013,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeNetworkAclsRequest\"},\ \"output\":{\"shape\":\"DescribeNetworkAclsResult\"},\ - \"documentation\":\"

Describes one or more of your network ACLs.

For more information, see Network ACLs in the Amazon VPC User Guide.

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

Describes your network ACLs. The default is to describe all your network ACLs. Alternatively, you can specify specific network ACL IDs or filter the results to include only the network ACLs that match specific criteria.

For more information, see Network ACLs in the Amazon VPC User Guide.

\"\ },\ \"DescribeNetworkInsightsAccessScopeAnalyses\":{\ \"name\":\"DescribeNetworkInsightsAccessScopeAnalyses\",\ @@ -3132,7 +3133,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.

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.

\"\ + \"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 EC2 service endpoints.

For information about enabling and disabling Regions for your account, see Specify which Amazon Web Services Regions your account can use in the Amazon Web Services Account Management Reference 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.

\"\ },\ \"DescribeReplaceRootVolumeTasks\":{\ \"name\":\"DescribeReplaceRootVolumeTasks\",\ @@ -3142,7 +3143,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeReplaceRootVolumeTasksRequest\"},\ \"output\":{\"shape\":\"DescribeReplaceRootVolumeTasksResult\"},\ - \"documentation\":\"

Describes a root volume replacement task. For more information, see Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

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

Describes a root volume replacement task. For more information, see Replace a root volume in the Amazon EC2 User Guide.

\"\ },\ \"DescribeReservedInstances\":{\ \"name\":\"DescribeReservedInstances\",\ @@ -3162,7 +3163,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.

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.

\"\ + \"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 Sell in the 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\",\ @@ -3172,7 +3173,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.

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.

\"\ + \"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 Modify 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\",\ @@ -3182,7 +3183,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.

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.

\"\ + \"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 Sell in the 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\",\ @@ -3192,7 +3193,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeRouteTablesRequest\"},\ \"output\":{\"shape\":\"DescribeRouteTablesResult\"},\ - \"documentation\":\"

Describes one or more of your route tables.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information, see Route tables in the Amazon VPC User Guide.

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

Describes your route tables. The default is to describe all your route tables. Alternatively, you can specify specific route table IDs or filter the results to include only the route tables that match specific criteria.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information, see Route tables in the Amazon VPC User Guide.

\"\ },\ \"DescribeScheduledInstanceAvailability\":{\ \"name\":\"DescribeScheduledInstanceAvailability\",\ @@ -3282,7 +3283,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeSpotDatafeedSubscriptionRequest\"},\ \"output\":{\"shape\":\"DescribeSpotDatafeedSubscriptionResult\"},\ - \"documentation\":\"

Describes the data feed for Spot Instances. For more information, see Spot Instance data feed in the Amazon EC2 User Guide for Linux Instances.

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

Describes the data feed for Spot Instances. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

\"\ },\ \"DescribeSpotFleetInstances\":{\ \"name\":\"DescribeSpotFleetInstances\",\ @@ -3332,7 +3333,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeSpotPriceHistoryRequest\"},\ \"output\":{\"shape\":\"DescribeSpotPriceHistoryResult\"},\ - \"documentation\":\"

Describes the Spot price history. For more information, see Spot Instance pricing history in the Amazon EC2 User Guide for Linux Instances.

When you specify a start and end time, the operation returns the prices of the instance types within that time range. It also returns the last price change before the start time, which is the effective price as of the start time.

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

Describes the Spot price history. For more information, see Spot Instance pricing history in the Amazon EC2 User Guide.

When you specify a start and end time, the operation returns the prices of the instance types within that time range. It also returns the last price change before the start time, which is the effective price as of the start time.

\"\ },\ \"DescribeStaleSecurityGroups\":{\ \"name\":\"DescribeStaleSecurityGroups\",\ @@ -3362,7 +3363,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeSubnetsRequest\"},\ \"output\":{\"shape\":\"DescribeSubnetsResult\"},\ - \"documentation\":\"

Describes one or more of your subnets.

For more information, see Subnets in the Amazon VPC User Guide.

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

Describes your subnets. The default is to describe all your subnets. Alternatively, you can specify specific subnet IDs or filter the results to include only the subnets that match specific criteria.

For more information, see Subnets in the Amazon VPC User Guide.

\"\ },\ \"DescribeTags\":{\ \"name\":\"DescribeTags\",\ @@ -3374,6 +3375,16 @@ - (NSString *)definitionString { \"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.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

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.

\"\ },\ + \"DescribeTrafficMirrorFilterRules\":{\ + \"name\":\"DescribeTrafficMirrorFilterRules\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DescribeTrafficMirrorFilterRulesRequest\"},\ + \"output\":{\"shape\":\"DescribeTrafficMirrorFilterRulesResult\"},\ + \"documentation\":\"

Describe traffic mirror filters that determine the traffic that is mirrored.

\"\ + },\ \"DescribeTrafficMirrorFilters\":{\ \"name\":\"DescribeTrafficMirrorFilters\",\ \"http\":{\ @@ -3602,7 +3613,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 EBS 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.

For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

\"\ },\ \"DescribeVpcAttribute\":{\ \"name\":\"DescribeVpcAttribute\",\ @@ -3692,7 +3703,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVpcEndpointsRequest\"},\ \"output\":{\"shape\":\"DescribeVpcEndpointsResult\"},\ - \"documentation\":\"

Describes your VPC endpoints.

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

Describes your VPC endpoints. The default is to describe all your VPC endpoints. Alternatively, you can specify specific VPC endpoint IDs or filter the results to include only the VPC endpoints that match specific criteria.

\"\ },\ \"DescribeVpcPeeringConnections\":{\ \"name\":\"DescribeVpcPeeringConnections\",\ @@ -3702,7 +3713,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVpcPeeringConnectionsRequest\"},\ \"output\":{\"shape\":\"DescribeVpcPeeringConnectionsResult\"},\ - \"documentation\":\"

Describes one or more of your VPC peering connections.

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

Describes your VPC peering connections. The default is to describe all your VPC peering connections. Alternatively, you can specify specific VPC peering connection IDs or filter the results to include only the VPC peering connections that match specific criteria.

\"\ },\ \"DescribeVpcs\":{\ \"name\":\"DescribeVpcs\",\ @@ -3712,7 +3723,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVpcsRequest\"},\ \"output\":{\"shape\":\"DescribeVpcsResult\"},\ - \"documentation\":\"

Describes one or more of your VPCs.

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

Describes your VPCs. The default is to describe all your VPCs. Alternatively, you can specify specific VPC IDs or filter the results to include only the VPCs that match specific criteria.

\"\ },\ \"DescribeVpnConnections\":{\ \"name\":\"DescribeVpnConnections\",\ @@ -3799,7 +3810,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DisableAddressTransferRequest\"},\ \"output\":{\"shape\":\"DisableAddressTransferResult\"},\ - \"documentation\":\"

Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

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

Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

\"\ },\ \"DisableAwsNetworkPerformanceMetricSubscription\":{\ \"name\":\"DisableAwsNetworkPerformanceMetricSubscription\",\ @@ -4106,7 +4117,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"EnableAddressTransferRequest\"},\ \"output\":{\"shape\":\"EnableAddressTransferResult\"},\ - \"documentation\":\"

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

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

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

\"\ },\ \"EnableAwsNetworkPerformanceMetricSubscription\":{\ \"name\":\"EnableAwsNetworkPerformanceMetricSubscription\",\ @@ -4314,7 +4325,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ExportTransitGatewayRoutesRequest\"},\ \"output\":{\"shape\":\"ExportTransitGatewayRoutesResult\"},\ - \"documentation\":\"

Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range.

The routes are saved to the specified bucket in a JSON file. For more information, see Export Route Tables to Amazon S3 in Transit Gateways.

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

Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range.

The routes are saved to the specified bucket in a JSON file. For more information, see Export route tables to Amazon S3 in the Amazon Web Services Transit Gateways Guide.

\"\ },\ \"GetAssociatedEnclaveCertificateIamRoles\":{\ \"name\":\"GetAssociatedEnclaveCertificateIamRoles\",\ @@ -4544,7 +4555,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"GetIpamPoolAllocationsRequest\"},\ \"output\":{\"shape\":\"GetIpamPoolAllocationsResult\"},\ - \"documentation\":\"

Get a list of all the CIDR allocations in an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

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

Get a list of all the CIDR allocations in an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

\"\ },\ \"GetIpamPoolCidrs\":{\ \"name\":\"GetIpamPoolCidrs\",\ @@ -4624,7 +4635,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"GetPasswordDataRequest\"},\ \"output\":{\"shape\":\"GetPasswordDataResult\"},\ - \"documentation\":\"

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon EC2 User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

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

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon EC2 User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

\"\ },\ \"GetReservedInstancesExchangeQuote\":{\ \"name\":\"GetReservedInstancesExchangeQuote\",\ @@ -4674,7 +4685,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"GetSpotPlacementScoresRequest\"},\ \"output\":{\"shape\":\"GetSpotPlacementScoresResult\"},\ - \"documentation\":\"

Calculates the Spot placement score for a Region or Availability Zone based on the specified target capacity and compute requirements.

You can specify your compute requirements either by using InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal instance types to fulfill your Spot request, or you can specify the instance types by using InstanceTypes.

For more information, see Spot placement score in the Amazon EC2 User Guide.

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

Calculates the Spot placement score for a Region or Availability Zone based on the specified target capacity and compute requirements.

You can specify your compute requirements either by using InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal instance types to fulfill your Spot request, or you can specify the instance types by using InstanceTypes.

For more information, see Spot placement score in the Amazon EC2 User Guide.

\"\ },\ \"GetSubnetCidrReservations\":{\ \"name\":\"GetSubnetCidrReservations\",\ @@ -4914,7 +4925,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifyAvailabilityZoneGroupRequest\"},\ \"output\":{\"shape\":\"ModifyAvailabilityZoneGroupResult\"},\ - \"documentation\":\"

Changes the opt-in status of the Local Zone and Wavelength Zone group for your account.

Use DescribeAvailabilityZones to view the value for GroupName.

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

Changes the opt-in status of the specified zone group for your account.

\"\ },\ \"ModifyCapacityReservation\":{\ \"name\":\"ModifyCapacityReservation\",\ @@ -5219,7 +5230,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifyReservedInstancesRequest\"},\ \"output\":{\"shape\":\"ModifyReservedInstancesResult\"},\ - \"documentation\":\"

Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

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

Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modify Reserved Instances in the Amazon EC2 User Guide.

\"\ },\ \"ModifySecurityGroupRules\":{\ \"name\":\"ModifySecurityGroupRules\",\ @@ -5407,7 +5418,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 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.

\"\ + \"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.

For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

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\",\ @@ -5575,7 +5586,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ProvisionByoipCidrRequest\"},\ \"output\":{\"shape\":\"ProvisionByoipCidrResult\"},\ - \"documentation\":\"

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

Amazon Web Services verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring your own IP addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

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

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

Amazon Web Services verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring your own IP addresses (BYOIP) in the Amazon EC2 User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

\"\ },\ \"ProvisionIpamByoasn\":{\ \"name\":\"ProvisionIpamByoasn\",\ @@ -5635,7 +5646,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"PurchaseReservedInstancesOfferingRequest\"},\ \"output\":{\"shape\":\"PurchaseReservedInstancesOfferingResult\"},\ - \"documentation\":\"

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon EC2 User Guide.

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

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

\"\ },\ \"PurchaseScheduledInstances\":{\ \"name\":\"PurchaseScheduledInstances\",\ @@ -5684,7 +5695,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"RegisterTransitGatewayMulticastGroupMembersRequest\"},\ \"output\":{\"shape\":\"RegisterTransitGatewayMulticastGroupMembersResult\"},\ - \"documentation\":\"

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For information about supported instances, see Multicast Consideration in Amazon VPC Transit Gateways.

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added to the transit gateway multicast group.

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

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For more information, see Multicast on transit gateways in the Amazon Web Services Transit Gateways Guide.

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added to the transit gateway multicast group.

\"\ },\ \"RegisterTransitGatewayMulticastGroupSources\":{\ \"name\":\"RegisterTransitGatewayMulticastGroupSources\",\ @@ -5694,7 +5705,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"RegisterTransitGatewayMulticastGroupSourcesRequest\"},\ \"output\":{\"shape\":\"RegisterTransitGatewayMulticastGroupSourcesResult\"},\ - \"documentation\":\"

Registers sources (network interfaces) with the specified transit gateway multicast group.

A multicast source is a network interface attached to a supported instance that sends multicast traffic. For information about supported instances, see Multicast Considerations in Amazon VPC Transit Gateways.

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group.

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

Registers sources (network interfaces) with the specified transit gateway multicast group.

A multicast source is a network interface attached to a supported instance that sends multicast traffic. For more information about supported instances, see Multicast on transit gateways in the Amazon Web Services Transit Gateways Guide.

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group.

\"\ },\ \"RejectTransitGatewayMulticastDomainAssociations\":{\ \"name\":\"RejectTransitGatewayMulticastDomainAssociations\",\ @@ -5773,7 +5784,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ReleaseIpamPoolAllocationRequest\"},\ \"output\":{\"shape\":\"ReleaseIpamPoolAllocationResult\"},\ - \"documentation\":\"

Release an allocation within an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.

All EC2 API actions follow an eventual consistency model.

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

Release an allocation within an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.

All EC2 API actions follow an eventual consistency model.

\"\ },\ \"ReplaceIamInstanceProfileAssociation\":{\ \"name\":\"ReplaceIamInstanceProfileAssociation\",\ @@ -5870,7 +5881,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"RequestSpotInstancesRequest\"},\ \"output\":{\"shape\":\"RequestSpotInstancesResult\"},\ - \"documentation\":\"

Creates a Spot Instance request.

For more information, see Spot Instance requests in the Amazon EC2 User Guide for Linux Instances.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide for Linux Instances.

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

Creates a Spot Instance request.

For more information, see Work with Spot Instance in the Amazon EC2 User Guide.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide.

\"\ },\ \"ResetAddressAttribute\":{\ \"name\":\"ResetAddressAttribute\",\ @@ -5918,7 +5929,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"ResetInstanceAttributeRequest\"},\ - \"documentation\":\"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon VPC User Guide.

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

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT instances in the Amazon VPC User Guide.

\"\ },\ \"ResetNetworkInterfaceAttribute\":{\ \"name\":\"ResetNetworkInterfaceAttribute\",\ @@ -6026,7 +6037,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"RunInstancesRequest\"},\ \"output\":{\"shape\":\"Reservation\"},\ - \"documentation\":\"

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.

For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.

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

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance types.

  • If you don't specify a security group ID, we use the default security group for the VPC. For more information, see Security groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

RunInstances is subject to both request rate limiting and resource rate limiting. For more information, see Request throttling.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.

For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.

\"\ },\ \"RunScheduledInstances\":{\ \"name\":\"RunScheduledInstances\",\ @@ -6036,7 +6047,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"RunScheduledInstancesRequest\"},\ \"output\":{\"shape\":\"RunScheduledInstancesResult\"},\ - \"documentation\":\"

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon EC2 User Guide.

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

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes.

\"\ },\ \"SearchLocalGatewayRoutes\":{\ \"name\":\"SearchLocalGatewayRoutes\",\ @@ -6075,7 +6086,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"SendDiagnosticInterruptRequest\"},\ - \"documentation\":\"

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a diagnostic interrupt (for advanced users) (Linux instances) or Send a diagnostic interrupt (for advanced users) (Windows instances).

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

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a diagnostic interrupt (for advanced users) in the Amazon EC2 User Guide.

\"\ },\ \"StartInstances\":{\ \"name\":\"StartInstances\",\ @@ -6085,7 +6096,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"StartInstancesRequest\"},\ \"output\":{\"shape\":\"StartInstancesResult\"},\ - \"documentation\":\"

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

If you attempt to start a T3 instance with host tenancy and the unlimited CPU credit option, the request fails. The unlimited CPU credit option is not supported on Dedicated Hosts. Before you start the instance, either change its CPU credit option to standard, or change its tenancy to default or dedicated.

For more information, see Stop and start your instance in the Amazon EC2 User Guide.

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

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

If you attempt to start a T3 instance with host tenancy and the unlimited CPU credit option, the request fails. The unlimited CPU credit option is not supported on Dedicated Hosts. Before you start the instance, either change its CPU credit option to standard, or change its tenancy to default or dedicated.

For more information, see Stop and start Amazon EC2 instances in the Amazon EC2 User Guide.

\"\ },\ \"StartNetworkInsightsAccessScopeAnalysis\":{\ \"name\":\"StartNetworkInsightsAccessScopeAnalysis\",\ @@ -6125,7 +6136,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"StopInstancesRequest\"},\ \"output\":{\"shape\":\"StopInstancesResult\"},\ - \"documentation\":\"

Stops an Amazon EBS-backed instance. For more information, see Stop and start your instance in the Amazon EC2 User Guide.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the Amazon EC2 User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance lifecycle in the Amazon EC2 User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshoot stopping your instance in the Amazon EC2 User Guide.

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

Stops an Amazon EBS-backed instance. For more information, see Stop and start Amazon EC2 instances in the Amazon EC2 User Guide.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the Amazon EC2 User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance lifecycle in the Amazon EC2 User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshoot stopping your instance in the Amazon EC2 User Guide.

\"\ },\ \"TerminateClientVpnConnections\":{\ \"name\":\"TerminateClientVpnConnections\",\ @@ -7015,7 +7026,7 @@ - (NSString *)definitionString { \"locationName\":\"addressTransferStatus\"\ }\ },\ - \"documentation\":\"

Details on the Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

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

Details on the Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

\"\ },\ \"AddressTransferList\":{\ \"type\":\"list\",\ @@ -7088,7 +7099,7 @@ - (NSString *)definitionString { },\ \"NetworkBorderGroup\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

Use DescribeAvailabilityZones to view the network border groups.

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

A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

\"\ },\ \"CustomerOwnedIpv4Pool\":{\ \"shape\":\"String\",\ @@ -7157,7 +7168,7 @@ - (NSString *)definitionString { \"members\":{\ \"AutoPlacement\":{\ \"shape\":\"AutoPlacement\",\ - \"documentation\":\"

Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding auto-placement and affinity in the Amazon EC2 User Guide.

Default: on

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

Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding auto-placement and affinity in the Amazon EC2 User Guide.

Default: off

\",\ \"locationName\":\"autoPlacement\"\ },\ \"AvailabilityZone\":{\ @@ -7241,7 +7252,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"Description\":{\ @@ -8052,7 +8063,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -8513,7 +8524,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -8532,7 +8543,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"locationName\":\"clientToken\"\ }\ }\ @@ -8869,7 +8880,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -9084,7 +9095,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -10388,7 +10399,7 @@ - (NSString *)definitionString { },\ \"TotalTargetCapacity\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. For more information, see Total target capacity in the Amazon EC2 User Guide.

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

The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. For more information, see Total target capacity in the Amazon EC2 User Guide.

\",\ \"locationName\":\"totalTargetCapacity\"\ },\ \"TotalFulfilledCapacity\":{\ @@ -10418,7 +10429,7 @@ - (NSString *)definitionString { },\ \"AllocationStrategy\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. For more information, see For more information, see Allocation strategy in the Amazon EC2 User Guide.

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

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. For more information, see For more information, see Allocation strategy in the Amazon EC2 User Guide.

\",\ \"locationName\":\"allocationStrategy\"\ },\ \"InstanceTypeSpecifications\":{\ @@ -10763,7 +10774,7 @@ - (NSString *)definitionString { \"documentation\":\"

The signed authorization message for the prefix and account.

\"\ }\ },\ - \"documentation\":\"

Provides authorization for Amazon to bring a specific IP address range to a specific Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon Elastic Compute Cloud User Guide.

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

Provides authorization for Amazon to bring a specific IP address range to a specific Amazon Web Services account using bring your own IP addresses (BYOIP). For more information, see Configuring your BYOIP address range in the Amazon EC2 User Guide.

\"\ },\ \"CidrBlock\":{\ \"type\":\"structure\",\ @@ -11755,7 +11766,7 @@ - (NSString *)definitionString { \"locationName\":\"udpTimeout\"\ }\ },\ - \"documentation\":\"

A security group connection tracking configuration that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A security group connection tracking configuration that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

\"\ },\ \"ConnectionTrackingSpecification\":{\ \"type\":\"structure\",\ @@ -11776,7 +11787,7 @@ - (NSString *)definitionString { \"locationName\":\"udpStreamTimeout\"\ }\ },\ - \"documentation\":\"

A security group connection tracking specification that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A security group connection tracking specification that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

\"\ },\ \"ConnectionTrackingSpecificationRequest\":{\ \"type\":\"structure\",\ @@ -11794,7 +11805,7 @@ - (NSString *)definitionString { \"documentation\":\"

Timeout (in seconds) for idle UDP flows that have seen traffic only in a single direction or a single request-response transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.

\"\ }\ },\ - \"documentation\":\"

A security group connection tracking specification request that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A security group connection tracking specification request that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

\"\ },\ \"ConnectionTrackingSpecificationResponse\":{\ \"type\":\"structure\",\ @@ -11815,7 +11826,7 @@ - (NSString *)definitionString { \"locationName\":\"udpTimeout\"\ }\ },\ - \"documentation\":\"

A security group connection tracking specification response that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A security group connection tracking specification response that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

\"\ },\ \"ConnectivityType\":{\ \"type\":\"string\",\ @@ -11921,7 +11932,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\"\ }\ }\ },\ @@ -12032,12 +12043,12 @@ - (NSString *)definitionString { },\ \"KmsKeyId\":{\ \"shape\":\"KmsKeyId\",\ - \"documentation\":\"

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

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

The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

\",\ \"locationName\":\"kmsKeyId\"\ },\ \"PresignedUrl\":{\ \"shape\":\"CopySnapshotRequestPSU\",\ - \"documentation\":\"

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query requests.

The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) in the Amazon Simple Storage Service API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

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

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query requests.

The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using Amazon Web Services Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

\",\ \"locationName\":\"presignedUrl\"\ },\ \"SourceRegion\":{\ @@ -12156,7 +12167,7 @@ - (NSString *)definitionString { \"members\":{\ \"AllocationStrategy\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the prioritized allocation strategy is supported. For more information, see Allocation strategy in the Amazon EC2 User Guide.

Valid values: prioritized

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

The strategy used by the Capacity Reservation Fleet to determine which of the specified instance types to use. Currently, only the prioritized allocation strategy is supported. For more information, see Allocation strategy in the Amazon EC2 User Guide.

Valid values: prioritized

\"\ },\ \"ClientToken\":{\ \"shape\":\"String\",\ @@ -12174,7 +12185,7 @@ - (NSString *)definitionString { },\ \"TotalTargetCapacity\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

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

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

\"\ },\ \"EndDate\":{\ \"shape\":\"MillisecondDateTime\",\ @@ -12358,7 +12369,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -12425,7 +12436,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"TagSpecifications\":{\ @@ -12506,7 +12517,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -12725,7 +12736,7 @@ - (NSString *)definitionString { \"members\":{\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -12927,7 +12938,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\"\ },\ \"DeliverLogsPermissionArn\":{\ \"shape\":\"String\",\ @@ -12973,7 +12984,7 @@ - (NSString *)definitionString { },\ \"MaxAggregationInterval\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.

Default: 600

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

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. The possible values are 60 seconds (1 minute) or 600 seconds (10 minutes). This parameter must be 60 seconds for transit gateway resource types.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.

Default: 600

\"\ },\ \"DestinationOptions\":{\ \"shape\":\"DestinationOptionsRequest\",\ @@ -13027,7 +13038,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

\"\ },\ \"TagSpecifications\":{\ \"shape\":\"TagSpecificationList\",\ @@ -13323,7 +13334,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"AwsService\":{\ @@ -13373,7 +13384,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"Tier\":{\ @@ -13453,7 +13464,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -13579,7 +13590,7 @@ - (NSString *)definitionString { },\ \"ResolveAlias\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageID. For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

Default: false

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

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageID. For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

Default: false

\"\ }\ }\ },\ @@ -13779,7 +13790,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Up to 255 UTF-8 characters in length.

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

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Constraints: Up to 255 UTF-8 characters in length.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -13804,7 +13815,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Constraint: Maximum 64 ASCII characters.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Constraint: Maximum 64 ASCII characters.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -13942,7 +13953,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -13978,7 +13989,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"idempotencyToken\":true\ },\ \"TagSpecifications\":{\ @@ -14050,7 +14061,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"idempotencyToken\":true\ },\ \"FilterAtSource\":{\ @@ -14192,7 +14203,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"EnablePrimaryIpv6\":{\ @@ -14301,7 +14312,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. For more information, see Ensuring idempotency.

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

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -14527,7 +14538,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -14788,7 +14799,7 @@ - (NSString *)definitionString { },\ \"AvailabilityZone\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The Availability Zone or Local Zone for the subnet.

Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Local Zones locations.

To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

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

The Availability Zone or Local Zone for the subnet.

Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Available Local Zones.

To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

\"\ },\ \"AvailabilityZoneId\":{\ \"shape\":\"String\",\ @@ -14889,7 +14900,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -14904,7 +14915,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"locationName\":\"clientToken\"\ }\ }\ @@ -14966,8 +14977,13 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"idempotencyToken\":true\ + },\ + \"TagSpecifications\":{\ + \"shape\":\"TagSpecificationList\",\ + \"documentation\":\"

Traffic Mirroring tags specifications.

\",\ + \"locationName\":\"TagSpecification\"\ }\ }\ },\ @@ -14981,7 +14997,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"locationName\":\"clientToken\"\ }\ }\ @@ -15017,7 +15033,7 @@ - (NSString *)definitionString { },\ \"VirtualNetworkId\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.

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

The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique ID is chosen at random.

\"\ },\ \"Description\":{\ \"shape\":\"String\",\ @@ -15034,7 +15050,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -15049,7 +15065,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"locationName\":\"clientToken\"\ }\ }\ @@ -15080,7 +15096,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"idempotencyToken\":true\ },\ \"GatewayLoadBalancerEndpointId\":{\ @@ -15099,7 +15115,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"locationName\":\"clientToken\"\ }\ }\ @@ -15683,7 +15699,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -15736,7 +15752,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -15773,7 +15789,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -15886,7 +15902,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -15961,11 +15977,11 @@ - (NSString *)definitionString { },\ \"Iops\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

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

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes.

\"\ },\ \"KmsKeyId\":{\ \"shape\":\"KmsKeyId\",\ - \"documentation\":\"

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

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

The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

\"\ },\ \"OutpostArn\":{\ \"shape\":\"String\",\ @@ -15995,7 +16011,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 EBS 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\",\ @@ -16003,7 +16019,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -16037,7 +16053,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\"\ }\ }\ },\ @@ -16108,7 +16124,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\"\ },\ \"PrivateDnsEnabled\":{\ \"shape\":\"Boolean\",\ @@ -16173,7 +16189,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\"\ },\ \"TagSpecifications\":{\ \"shape\":\"TagSpecificationList\",\ @@ -18325,7 +18341,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -18354,7 +18370,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -18387,7 +18403,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -18416,7 +18432,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -19769,7 +19785,7 @@ - (NSString *)definitionString { \"members\":{\ \"DhcpOptionsIds\":{\ \"shape\":\"DhcpOptionsIdStringList\",\ - \"documentation\":\"

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

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

The IDs of DHCP option sets.

\",\ \"locationName\":\"DhcpOptionsId\"\ },\ \"Filters\":{\ @@ -19797,7 +19813,7 @@ - (NSString *)definitionString { \"members\":{\ \"DhcpOptions\":{\ \"shape\":\"DhcpOptionsList\",\ - \"documentation\":\"

Information about one or more DHCP options sets.

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

Information about the DHCP options sets.

\",\ \"locationName\":\"dhcpOptionsSet\"\ },\ \"NextToken\":{\ @@ -21290,7 +21306,7 @@ - (NSString *)definitionString { \"members\":{\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

The filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64 | arm64).

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2022-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • boot-mode - The boot mode that was specified by the AMI (legacy-bios | uefi | uefi-preferred).

  • capacity-reservation-id - The ID of the Capacity Reservation into which the instance was launched.

  • capacity-reservation-specification.capacity-reservation-preference - The instance's Capacity Reservation preference (open | none).

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id - The ID of the targeted Capacity Reservation.

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn - The ARN of the targeted Capacity Reservation group.

  • client-token - The idempotency token you provided when you launched the instance.

  • current-instance-boot-mode - The boot mode that is used to launch the instance at launch or start (legacy-bios | uefi).

  • dns-name - The public DNS name of the instance.

  • ebs-optimized - A Boolean that indicates whether the instance is optimized for Amazon EBS I/O.

  • ena-support - A Boolean that indicates whether the instance is enabled for enhanced networking with ENA.

  • enclave-options.enabled - A Boolean that indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

  • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen). The value xen is used for both Xen and Nitro hypervisors.

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • iam-instance-profile.id - The instance profile associated with the instance. Specified as an ID.

  • iam-instance-profile.name - The instance profile associated with the instance. Specified as an name.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance, a Scheduled Instance, or a Capacity Block (spot | scheduled | capacity-block).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • ipv6-address - The IPv6 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

  • maintenance-options.auto-recovery - The current automatic recovery behavior of the instance (disabled | default).

  • metadata-options.http-endpoint - The status of access to the HTTP metadata endpoint on your instance (enabled | disabled)

  • metadata-options.http-protocol-ipv4 - Indicates whether the IPv4 endpoint is enabled (disabled | enabled).

  • metadata-options.http-protocol-ipv6 - Indicates whether the IPv6 endpoint is enabled (disabled | enabled).

  • metadata-options.http-put-response-hop-limit - The HTTP metadata request put response hop limit (integer, possible values 1 to 64)

  • metadata-options.http-tokens - The metadata request authorization state (optional | required)

  • metadata-options.instance-metadata-tags - The status of access to instance tags from the instance metadata (enabled | disabled)

  • metadata-options.state - The state of the metadata option changes (pending | applied).

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.association.allocation-id - The allocation ID.

  • network-interface.addresses.association.association-id - The association ID.

  • network-interface.addresses.association.carrier-ip - The carrier IP address.

  • network-interface.addresses.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.addresses.association.public-dns-name - The public DNS name.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.private-dns-name - The private DNS name.

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.association.carrier-ip - The customer-owned IP address.

  • network-interface.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.public-dns-name - The public DNS name.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.network-card-index - The index of the network card.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.deny-all-igw-traffic - A Boolean that indicates whether a network interface with an IPv6 address is unreachable from the public internet.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv4-prefixes.ipv4-prefix - The IPv4 prefixes that are assigned to the network interface.

  • network-interface.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.is-primary-ipv6 - A Boolean that indicates whether this is the primary IPv6 address.

  • network-interface.ipv6-native - A Boolean that indicates whether this is an IPv6 only network interface.

  • network-interface.ipv6-prefixes.ipv6-prefix - The IPv6 prefix assigned to the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.outpost-arn - The ARN of the Outpost.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.private-ip-address - The private IPv4 address.

  • network-interface.public-dns-name - The public DNS name.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by Amazon Web Services.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.tag-key - The key of a tag assigned to the network interface.

  • network-interface.tag-value - The value of a tag assigned to the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • owner-id - The Amazon Web Services account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • placement-partition-number - The partition in which the instance is located.

  • platform - The platform. To list only Windows instances, use windows.

  • platform-details - The platform (Linux/UNIX | Red Hat BYOL Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | Red Hat Enterprise Linux with SQL Server Standard and HA | Red Hat Enterprise Linux with SQL Server Enterprise and HA | Red Hat Enterprise Linux with SQL Server Standard | Red Hat Enterprise Linux with SQL Server Web | Red Hat Enterprise Linux with SQL Server Enterprise | SQL Server Enterprise | SQL Server Standard | SQL Server Web | SUSE Linux | Ubuntu Pro | Windows | Windows BYOL | Windows with SQL Server Enterprise | Windows with SQL Server Standard | Windows with SQL Server Web).

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-dns-name-options.enable-resource-name-dns-a-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS A records.

  • private-dns-name-options.enable-resource-name-dns-aaaa-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

  • private-dns-name-options.hostname-type - The type of hostname (ip-name | resource-name).

  • private-ip-address - The private IPv4 address of the instance.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows \\\"User Initiated [date]\\\" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot Instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • tpm-support - Indicates if the instance is configured for NitroTPM support (v2.0).

  • usage-operation - The usage operation value for the instance (RunInstances | RunInstances:00g0 | RunInstances:0010 | RunInstances:1010 | RunInstances:1014 | RunInstances:1110 | RunInstances:0014 | RunInstances:0210 | RunInstances:0110 | RunInstances:0100 | RunInstances:0004 | RunInstances:0200 | RunInstances:000g | RunInstances:0g00 | RunInstances:0002 | RunInstances:0800 | RunInstances:0102 | RunInstances:0006 | RunInstances:0202).

  • usage-operation-update-time - The time that the usage operation was last updated, for example, 2022-09-15T17:15:20.000Z.

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

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

The filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64 | arm64).

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2022-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • boot-mode - The boot mode that was specified by the AMI (legacy-bios | uefi | uefi-preferred).

  • capacity-reservation-id - The ID of the Capacity Reservation into which the instance was launched.

  • capacity-reservation-specification.capacity-reservation-preference - The instance's Capacity Reservation preference (open | none).

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id - The ID of the targeted Capacity Reservation.

  • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn - The ARN of the targeted Capacity Reservation group.

  • client-token - The idempotency token you provided when you launched the instance.

  • current-instance-boot-mode - The boot mode that is used to launch the instance at launch or start (legacy-bios | uefi).

  • dns-name - The public DNS name of the instance.

  • ebs-optimized - A Boolean that indicates whether the instance is optimized for Amazon EBS I/O.

  • ena-support - A Boolean that indicates whether the instance is enabled for enhanced networking with ENA.

  • enclave-options.enabled - A Boolean that indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

  • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen). The value xen is used for both Xen and Nitro hypervisors.

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • iam-instance-profile.id - The instance profile associated with the instance. Specified as an ID.

  • iam-instance-profile.name - The instance profile associated with the instance. Specified as an name.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance, a Scheduled Instance, or a Capacity Block (spot | scheduled | capacity-block).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • ipv6-address - The IPv6 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

  • maintenance-options.auto-recovery - The current automatic recovery behavior of the instance (disabled | default).

  • metadata-options.http-endpoint - The status of access to the HTTP metadata endpoint on your instance (enabled | disabled)

  • metadata-options.http-protocol-ipv4 - Indicates whether the IPv4 endpoint is enabled (disabled | enabled).

  • metadata-options.http-protocol-ipv6 - Indicates whether the IPv6 endpoint is enabled (disabled | enabled).

  • metadata-options.http-put-response-hop-limit - The HTTP metadata request put response hop limit (integer, possible values 1 to 64)

  • metadata-options.http-tokens - The metadata request authorization state (optional | required)

  • metadata-options.instance-metadata-tags - The status of access to instance tags from the instance metadata (enabled | disabled)

  • metadata-options.state - The state of the metadata option changes (pending | applied).

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.association.allocation-id - The allocation ID.

  • network-interface.addresses.association.association-id - The association ID.

  • network-interface.addresses.association.carrier-ip - The carrier IP address.

  • network-interface.addresses.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.addresses.association.public-dns-name - The public DNS name.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.private-dns-name - The private DNS name.

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.association.carrier-ip - The customer-owned IP address.

  • network-interface.association.customer-owned-ip - The customer-owned IP address.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.public-dns-name - The public DNS name.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.network-card-index - The index of the network card.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.deny-all-igw-traffic - A Boolean that indicates whether a network interface with an IPv6 address is unreachable from the public internet.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv4-prefixes.ipv4-prefix - The IPv4 prefixes that are assigned to the network interface.

  • network-interface.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.ipv6-addresses.is-primary-ipv6 - A Boolean that indicates whether this is the primary IPv6 address.

  • network-interface.ipv6-native - A Boolean that indicates whether this is an IPv6 only network interface.

  • network-interface.ipv6-prefixes.ipv6-prefix - The IPv6 prefix assigned to the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.outpost-arn - The ARN of the Outpost.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.private-ip-address - The private IPv4 address.

  • network-interface.public-dns-name - The public DNS name.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by Amazon Web Services.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.tag-key - The key of a tag assigned to the network interface.

  • network-interface.tag-value - The value of a tag assigned to the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • owner-id - The Amazon Web Services account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • placement-partition-number - The partition in which the instance is located.

  • platform - The platform. To list only Windows instances, use windows.

  • platform-details - The platform (Linux/UNIX | Red Hat BYOL Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | Red Hat Enterprise Linux with SQL Server Standard and HA | Red Hat Enterprise Linux with SQL Server Enterprise and HA | Red Hat Enterprise Linux with SQL Server Standard | Red Hat Enterprise Linux with SQL Server Web | Red Hat Enterprise Linux with SQL Server Enterprise | SQL Server Enterprise | SQL Server Standard | SQL Server Web | SUSE Linux | Ubuntu Pro | Windows | Windows BYOL | Windows with SQL Server Enterprise | Windows with SQL Server Standard | Windows with SQL Server Web).

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-dns-name-options.enable-resource-name-dns-a-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS A records.

  • private-dns-name-options.enable-resource-name-dns-aaaa-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

  • private-dns-name-options.hostname-type - The type of hostname (ip-name | resource-name).

  • private-ip-address - The private IPv4 address of the instance. This can only be used to filter by the primary IP address of the network interface attached to the instance. To filter by additional IP addresses assigned to the network interface, use the filter network-interface.addresses.private-ip-address.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows \\\"User Initiated [date]\\\" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot Instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • tpm-support - Indicates if the instance is configured for NitroTPM support (v2.0).

  • usage-operation - The usage operation value for the instance (RunInstances | RunInstances:00g0 | RunInstances:0010 | RunInstances:1010 | RunInstances:1014 | RunInstances:1110 | RunInstances:0014 | RunInstances:0210 | RunInstances:0110 | RunInstances:0100 | RunInstances:0004 | RunInstances:0200 | RunInstances:000g | RunInstances:0g00 | RunInstances:0002 | RunInstances:0800 | RunInstances:0102 | RunInstances:0006 | RunInstances:0202).

  • usage-operation-update-time - The time that the usage operation was last updated, for example, 2022-09-15T17:15:20.000Z.

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

\",\ \"locationName\":\"Filter\"\ },\ \"InstanceIds\":{\ @@ -21368,7 +21384,7 @@ - (NSString *)definitionString { \"members\":{\ \"InternetGateways\":{\ \"shape\":\"InternetGatewayList\",\ - \"documentation\":\"

Information about one or more internet gateways.

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

Information about the internet gateways.

\",\ \"locationName\":\"internetGatewaySet\"\ },\ \"NextToken\":{\ @@ -21749,7 +21765,7 @@ - (NSString *)definitionString { },\ \"ResolveAlias\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageId.

If false, and if a Systems Manager parameter is specified for ImageId, the parameter is displayed in the response for imageId.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

Default: false

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

If true, and if a Systems Manager parameter is specified for ImageId, the AMI ID is displayed in the response for imageId.

If false, and if a Systems Manager parameter is specified for ImageId, the parameter is displayed in the response for imageId.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

Default: false

\"\ }\ }\ },\ @@ -22320,7 +22336,7 @@ - (NSString *)definitionString { },\ \"NetworkAclIds\":{\ \"shape\":\"NetworkAclIdStringList\",\ - \"documentation\":\"

The IDs of the network ACLs.

Default: Describes all your network ACLs.

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

The IDs of the network ACLs.

\",\ \"locationName\":\"NetworkAclId\"\ },\ \"NextToken\":{\ @@ -22338,7 +22354,7 @@ - (NSString *)definitionString { \"members\":{\ \"NetworkAcls\":{\ \"shape\":\"NetworkAclList\",\ - \"documentation\":\"

Information about one or more network ACLs.

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

Information about the network ACLs.

\",\ \"locationName\":\"networkAclSet\"\ },\ \"NextToken\":{\ @@ -23017,7 +23033,7 @@ - (NSString *)definitionString { },\ \"InstanceType\":{\ \"shape\":\"InstanceType\",\ - \"documentation\":\"

The instance type that the reservation will cover (for example, m1.small). For more information, see Instance types in the Amazon EC2 User Guide.

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

The instance type that the reservation will cover (for example, m1.small). For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.

\"\ },\ \"MaxDuration\":{\ \"shape\":\"Long\",\ @@ -23149,7 +23165,7 @@ - (NSString *)definitionString { },\ \"RouteTableIds\":{\ \"shape\":\"RouteTableIdStringList\",\ - \"documentation\":\"

The IDs of the route tables.

Default: Describes all your route tables.

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

The IDs of the route tables.

\",\ \"locationName\":\"RouteTableId\"\ },\ \"NextToken\":{\ @@ -23167,7 +23183,7 @@ - (NSString *)definitionString { \"members\":{\ \"RouteTables\":{\ \"shape\":\"RouteTableList\",\ - \"documentation\":\"

Information about one or more route tables.

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

Information about the route tables.

\",\ \"locationName\":\"routeTableSet\"\ },\ \"NextToken\":{\ @@ -23504,7 +23520,7 @@ - (NSString *)definitionString { },\ \"MaxResults\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum number of snapshots to return for this request. This value can be between 5 and 1,000; if this value is larger than 1,000, only 1,000 results are returned. If this parameter is not used, then the request returns all snapshots. You cannot specify this parameter and the snapshot IDs parameter in the same request. For more information, see Pagination.

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

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

\"\ },\ \"NextToken\":{\ \"shape\":\"String\",\ @@ -23542,7 +23558,7 @@ - (NSString *)definitionString { },\ \"NextToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The token to include in another request to return the next page of snapshots. This value is null when there are no more snapshots to return.

\",\ + \"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.

\",\ \"locationName\":\"nextToken\"\ }\ }\ @@ -23745,7 +23761,7 @@ - (NSString *)definitionString { \"members\":{\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

The filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot Instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot Instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

  • launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of EBS volume: gp2 or gp3 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic.

  • launch.group-id - The ID of the security group for the instance.

  • launch.group-name - The name of the security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

  • launch.ramdisk-id - The RAM disk ID.

  • launched-availability-zone - The Availability Zone in which the request is launched.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.description - A description of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot Instance request ID.

  • spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

  • state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide for Linux Instances.

  • status-code - The short code describing the most recent evaluation of your Spot Instance request.

  • status-message - The message explaining the status of the Spot Instance request.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of Spot Instance request (one-time | persistent).

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

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

The filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot Instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot Instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

  • launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of EBS volume: gp2 or gp3 for General Purpose SSD, io1 or io2 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic.

  • launch.group-id - The ID of the security group for the instance.

  • launch.group-name - The name of the security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

  • launch.ramdisk-id - The RAM disk ID.

  • launched-availability-zone - The Availability Zone in which the request is launched.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.description - A description of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot Instance request ID.

  • spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

  • state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide.

  • status-code - The short code describing the most recent evaluation of your Spot Instance request.

  • status-message - The message explaining the status of the Spot Instance request.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of Spot Instance request (one-time | persistent).

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

\",\ \"locationName\":\"Filter\"\ },\ \"DryRun\":{\ @@ -23984,7 +24000,7 @@ - (NSString *)definitionString { \"members\":{\ \"Subnets\":{\ \"shape\":\"SubnetList\",\ - \"documentation\":\"

Information about one or more subnets.

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

Information about the subnets.

\",\ \"locationName\":\"subnetSet\"\ },\ \"NextToken\":{\ @@ -24034,6 +24050,52 @@ - (NSString *)definitionString { }\ }\ },\ + \"DescribeTrafficMirrorFilterRulesRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TrafficMirrorFilterRuleIds\":{\ + \"shape\":\"TrafficMirrorFilterRuleIdList\",\ + \"documentation\":\"

Traffic filter rule IDs.

\",\ + \"locationName\":\"TrafficMirrorFilterRuleId\"\ + },\ + \"TrafficMirrorFilterId\":{\ + \"shape\":\"TrafficMirrorFilterId\",\ + \"documentation\":\"

Traffic filter ID.

\"\ + },\ + \"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.

\"\ + },\ + \"Filters\":{\ + \"shape\":\"FilterList\",\ + \"documentation\":\"

Traffic mirror filters.

  • traffic-mirror-filter-rule-id: The ID of the Traffic Mirror rule.

  • traffic-mirror-filter-id: The ID of the filter that this rule is associated with.

  • rule-number: The number of the Traffic Mirror rule.

  • rule-action: The action taken on the filtered traffic. Possible actions are accept and reject.

  • traffic-direction: The traffic direction. Possible directions are ingress and egress.

  • protocol: The protocol, for example UDP, assigned to the Traffic Mirror rule.

  • source-cidr-block: The source CIDR block assigned to the Traffic Mirror rule.

  • destination-cidr-block: The destination CIDR block assigned to the Traffic Mirror rule.

  • description: The description of the Traffic Mirror rule.

\",\ + \"locationName\":\"Filter\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"TrafficMirroringMaxResults\",\ + \"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\":{\ + \"shape\":\"NextToken\",\ + \"documentation\":\"

The token for the next page of results.

\"\ + }\ + }\ + },\ + \"DescribeTrafficMirrorFilterRulesResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TrafficMirrorFilterRules\":{\ + \"shape\":\"TrafficMirrorFilterRuleSet\",\ + \"documentation\":\"

Traffic mirror rules.

\",\ + \"locationName\":\"trafficMirrorFilterRuleSet\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

\",\ + \"locationName\":\"nextToken\"\ + }\ + }\ + },\ \"DescribeTrafficMirrorFiltersRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -24916,7 +24978,7 @@ - (NSString *)definitionString { },\ \"MaxResults\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. This value can be between 5 and 1,000; if the value is larger than 1,000, only 1,000 results are returned. If this parameter is not used, then all items are returned. You cannot specify this parameter and the volume IDs parameter in the same request. For more information, see Pagination.

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

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

\"\ },\ \"NextToken\":{\ \"shape\":\"String\",\ @@ -24968,7 +25030,7 @@ - (NSString *)definitionString { },\ \"NextToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The token returned by a previous paginated request. Pagination continues from the end of the items returned by the previous request.

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

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

\"\ },\ \"MaxResults\":{\ \"shape\":\"Integer\",\ @@ -24986,7 +25048,7 @@ - (NSString *)definitionString { },\ \"NextToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The token to include in another request to get the next page of items. This value is null if 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 null when there are no more items to return.

\",\ \"locationName\":\"nextToken\"\ }\ }\ @@ -25011,12 +25073,12 @@ - (NSString *)definitionString { },\ \"MaxResults\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum number of volumes to return for this request. This value can be between 5 and 500; if you specify a value larger than 500, only 500 items are returned. If this parameter is not used, then all items are returned. You cannot specify this parameter and the volume IDs parameter in the same request. For more information, see Pagination.

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

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

\",\ \"locationName\":\"maxResults\"\ },\ \"NextToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The token returned from a previous paginated request. Pagination continues from the end of the items returned from the previous request.

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

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

\",\ \"locationName\":\"nextToken\"\ }\ }\ @@ -25398,7 +25460,7 @@ - (NSString *)definitionString { \"members\":{\ \"VpcEndpoints\":{\ \"shape\":\"VpcEndpointSet\",\ - \"documentation\":\"

Information about the endpoints.

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

Information about the VPC endpoints.

\",\ \"locationName\":\"vpcEndpointSet\"\ },\ \"NextToken\":{\ @@ -25471,7 +25533,7 @@ - (NSString *)definitionString { },\ \"VpcIds\":{\ \"shape\":\"VpcIdStringList\",\ - \"documentation\":\"

The IDs of the VPCs.

Default: Describes all your VPCs.

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

The IDs of the VPCs.

\",\ \"locationName\":\"VpcId\"\ },\ \"DryRun\":{\ @@ -25494,7 +25556,7 @@ - (NSString *)definitionString { \"members\":{\ \"Vpcs\":{\ \"shape\":\"VpcList\",\ - \"documentation\":\"

Information about one or more VPCs.

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

Information about the VPCs.

\",\ \"locationName\":\"vpcSet\"\ },\ \"NextToken\":{\ @@ -25711,7 +25773,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -26856,7 +26918,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -26875,7 +26937,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"locationName\":\"clientToken\"\ }\ }\ @@ -27540,7 +27602,7 @@ - (NSString *)definitionString { \"locationName\":\"elasticGpuAssociationTime\"\ }\ },\ - \"documentation\":\"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Describes the association between an instance and an Elastic Graphics accelerator.

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

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the association between an instance and an Elastic Graphics accelerator.

\"\ },\ \"ElasticGpuAssociationList\":{\ \"type\":\"list\",\ @@ -27558,7 +27620,7 @@ - (NSString *)definitionString { \"locationName\":\"status\"\ }\ },\ - \"documentation\":\"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Describes the status of an Elastic Graphics accelerator.

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

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the status of an Elastic Graphics accelerator.

\"\ },\ \"ElasticGpuId\":{\"type\":\"string\"},\ \"ElasticGpuIdSet\":{\ @@ -27581,10 +27643,10 @@ - (NSString *)definitionString { \"members\":{\ \"Type\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The type of Elastic Graphics accelerator. For more information about the values to specify for Type, see Elastic Graphics Basics, specifically the Elastic Graphics accelerator column, in the Amazon Elastic Compute Cloud User Guide for Windows Instances.

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

The type of Elastic Graphics accelerator.

\"\ }\ },\ - \"documentation\":\"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

A specification for an Elastic Graphics accelerator.

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

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

A specification for an Elastic Graphics accelerator.

\"\ },\ \"ElasticGpuSpecificationList\":{\ \"type\":\"list\",\ @@ -27668,7 +27730,7 @@ - (NSString *)definitionString { \"locationName\":\"tagSet\"\ }\ },\ - \"documentation\":\"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Describes an Elastic Graphics accelerator.

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

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes an Elastic Graphics accelerator.

\"\ },\ \"ElasticInferenceAccelerator\":{\ \"type\":\"structure\",\ @@ -29583,7 +29645,7 @@ - (NSString *)definitionString { },\ \"FulfilledCapacity\":{\ \"shape\":\"Double\",\ - \"documentation\":\"

The number of capacity units fulfilled by the Capacity Reservation. For more information, see Total target capacity in the Amazon EC2 User Guide.

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

The number of capacity units fulfilled by the Capacity Reservation. For more information, see Total target capacity in the Amazon EC2 User Guide.

\",\ \"locationName\":\"fulfilledCapacity\"\ },\ \"EbsOptimized\":{\ @@ -29598,12 +29660,12 @@ - (NSString *)definitionString { },\ \"Weight\":{\ \"shape\":\"DoubleWithConstraints\",\ - \"documentation\":\"

The weight of the instance type in the Capacity Reservation Fleet. For more information, see Instance type weight in the Amazon EC2 User Guide.

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

The weight of the instance type in the Capacity Reservation Fleet. For more information, see Instance type weight in the Amazon EC2 User Guide.

\",\ \"locationName\":\"weight\"\ },\ \"Priority\":{\ \"shape\":\"IntegerWithConstraints\",\ - \"documentation\":\"

The priority of the instance type in the Capacity Reservation Fleet. For more information, see Instance type priority in the Amazon EC2 User Guide.

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

The priority of the instance type in the Capacity Reservation Fleet. For more information, see Instance type priority in the Amazon EC2 User Guide.

\",\ \"locationName\":\"priority\"\ }\ },\ @@ -30119,7 +30181,7 @@ - (NSString *)definitionString { },\ \"MaxAggregationInterval\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds (1 minute) or less, regardless of the specified value.

Valid Values: 60 | 600

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

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds (1 minute) or less, regardless of the specified value.

Valid Values: 60 | 600

\",\ \"locationName\":\"maxAggregationInterval\"\ },\ \"DestinationOptions\":{\ @@ -32509,7 +32571,7 @@ - (NSString *)definitionString { \"locationName\":\"configured\"\ }\ },\ - \"documentation\":\"

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

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

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

\"\ },\ \"HibernationOptionsRequest\":{\ \"type\":\"structure\",\ @@ -32519,7 +32581,7 @@ - (NSString *)definitionString { \"documentation\":\"

Set to true to enable your instance for hibernation.

For Spot Instances, if you set Configured to true, either omit the InstanceInterruptionBehavior parameter (for SpotMarketOptions ), or set it to hibernate. When Configured is true:

  • If you omit InstanceInterruptionBehavior, it defaults to hibernate.

  • If you set InstanceInterruptionBehavior to a value other than hibernate, you'll get an error.

Default: false

\"\ }\ },\ - \"documentation\":\"

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

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

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

\"\ },\ \"HistoryRecord\":{\ \"type\":\"structure\",\ @@ -35585,7 +35647,7 @@ - (NSString *)definitionString { },\ \"ConnectionTrackingConfiguration\":{\ \"shape\":\"ConnectionTrackingSpecificationResponse\",\ - \"documentation\":\"

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

\",\ \"locationName\":\"connectionTrackingConfiguration\"\ }\ },\ @@ -35775,7 +35837,7 @@ - (NSString *)definitionString { },\ \"ConnectionTrackingSpecification\":{\ \"shape\":\"ConnectionTrackingSpecificationRequest\",\ - \"documentation\":\"

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

\"\ }\ },\ \"documentation\":\"

Describes a network interface.

\"\ @@ -37197,7 +37259,22 @@ - (NSString *)definitionString { \"u7i-12tb.224xlarge\",\ \"u7in-16tb.224xlarge\",\ \"u7in-24tb.224xlarge\",\ - \"u7in-32tb.224xlarge\"\ + \"u7in-32tb.224xlarge\",\ + \"u7ib-12tb.224xlarge\",\ + \"c7gn.metal\",\ + \"r8g.medium\",\ + \"r8g.large\",\ + \"r8g.xlarge\",\ + \"r8g.2xlarge\",\ + \"r8g.4xlarge\",\ + \"r8g.8xlarge\",\ + \"r8g.12xlarge\",\ + \"r8g.16xlarge\",\ + \"r8g.24xlarge\",\ + \"r8g.48xlarge\",\ + \"r8g.metal-24xl\",\ + \"r8g.metal-48xl\",\ + \"mac2-m1ultra.metal\"\ ]\ },\ \"InstanceTypeHypervisor\":{\ @@ -38255,7 +38332,7 @@ - (NSString *)definitionString { },\ \"PublicIpSource\":{\ \"shape\":\"IpamPoolPublicIpSource\",\ - \"documentation\":\"

The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is BYOIP. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

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

The IP address source for pools in the public scope. Only used for provisioning IP address CIDRs to pools in the public scope. Default is BYOIP. For more information, see Create IPv6 pools in the Amazon VPC IPAM User Guide. By default, you can add only one Amazon-provided IPv6 CIDR block to a top-level IPv6 pool. For information on increasing the default limit, see Quotas for your IPAM in the Amazon VPC IPAM User Guide.

\",\ \"locationName\":\"publicIpSource\"\ },\ \"SourceResource\":{\ @@ -39016,7 +39093,7 @@ - (NSString *)definitionString { \"members\":{\ \"Ipv4Prefix\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IPv4 prefix. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

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

The IPv4 prefix. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

\",\ \"locationName\":\"ipv4Prefix\"\ }\ },\ @@ -39027,7 +39104,7 @@ - (NSString *)definitionString { \"members\":{\ \"Ipv4Prefix\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IPv4 prefix. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

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

The IPv4 prefix. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

\"\ }\ },\ \"documentation\":\"

Describes the IPv4 prefix option for a network interface.

\"\ @@ -40059,7 +40136,7 @@ - (NSString *)definitionString { \"locationName\":\"instanceMetadataTags\"\ }\ },\ - \"documentation\":\"

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

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

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

\"\ },\ \"LaunchTemplateInstanceMetadataOptionsRequest\":{\ \"type\":\"structure\",\ @@ -40085,7 +40162,7 @@ - (NSString *)definitionString { \"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\":\"

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

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

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

\"\ },\ \"LaunchTemplateInstanceMetadataOptionsState\":{\ \"type\":\"string\",\ @@ -40218,7 +40295,7 @@ - (NSString *)definitionString { },\ \"ConnectionTrackingSpecification\":{\ \"shape\":\"ConnectionTrackingSpecification\",\ - \"documentation\":\"

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Idle connection tracking timeout in the Amazon EC2 User Guide.

\",\ \"locationName\":\"connectionTrackingSpecification\"\ }\ },\ @@ -40261,7 +40338,7 @@ - (NSString *)definitionString { },\ \"InterfaceType\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

Valid values: interface | efa

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

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon EC2 User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

Valid values: interface | efa

\"\ },\ \"Ipv6AddressCount\":{\ \"shape\":\"Integer\",\ @@ -40323,7 +40400,7 @@ - (NSString *)definitionString { },\ \"ConnectionTrackingSpecification\":{\ \"shape\":\"ConnectionTrackingSpecificationRequest\",\ - \"documentation\":\"

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Idle connection tracking timeout in the Amazon EC2 User Guide.

\"\ }\ },\ \"documentation\":\"

The parameters for a network interface.

\"\ @@ -41977,7 +42054,7 @@ - (NSString *)definitionString { },\ \"OptInStatus\":{\ \"shape\":\"ModifyAvailabilityZoneOptInStatus\",\ - \"documentation\":\"

Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

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

Indicates whether to opt in to the zone group. The only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -42012,7 +42089,7 @@ - (NSString *)definitionString { },\ \"TotalTargetCapacity\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

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

The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, together with the instance type weights that you assign to each instance type used by the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

\"\ },\ \"EndDate\":{\ \"shape\":\"MillisecondDateTime\",\ @@ -42192,7 +42269,7 @@ - (NSString *)definitionString { \"members\":{\ \"KmsKeyId\":{\ \"shape\":\"KmsKeyId\",\ - \"documentation\":\"

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

Amazon EBS does not support asymmetric KMS keys.

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

The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

  • Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

Amazon EBS does not support asymmetric KMS keys.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -42326,7 +42403,7 @@ - (NSString *)definitionString { },\ \"HostRecovery\":{\ \"shape\":\"HostRecovery\",\ - \"documentation\":\"

Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, see Host recovery in the Amazon EC2 User Guide.

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

Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, see Host recovery in the Amazon EC2 User Guide.

\"\ },\ \"InstanceType\":{\ \"shape\":\"String\",\ @@ -42338,7 +42415,7 @@ - (NSString *)definitionString { },\ \"HostMaintenance\":{\ \"shape\":\"HostMaintenance\",\ - \"documentation\":\"

Indicates whether to enable or disable host maintenance for the Dedicated Host. For more information, see Host maintenance in the Amazon EC2 User Guide.

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

Indicates whether to enable or disable host maintenance for the Dedicated Host. For more information, see Host maintenance in the Amazon EC2 User Guide.

\"\ }\ }\ },\ @@ -42549,7 +42626,7 @@ - (NSString *)definitionString { },\ \"DisableApiStop\":{\ \"shape\":\"AttributeBooleanValue\",\ - \"documentation\":\"

Indicates whether an instance is enabled for stop protection. For more information, see Stop Protection.

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

Indicates whether an instance is enabled for stop protection. For more information, see Enable stop protection for your instance.

\"\ }\ }\ },\ @@ -43616,7 +43693,7 @@ - (NSString *)definitionString { \"members\":{\ \"TrafficMirrorFilterRule\":{\ \"shape\":\"TrafficMirrorFilterRule\",\ - \"documentation\":\"

Modifies a Traffic Mirror rule.

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

Tags are not returned for ModifyTrafficMirrorFilterRule.

A Traffic Mirror rule.

\",\ \"locationName\":\"trafficMirrorFilterRule\"\ }\ }\ @@ -43904,7 +43981,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -43963,7 +44040,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -44007,7 +44084,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -44058,7 +44135,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"DryRun\":{\ @@ -44098,7 +44175,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -44131,7 +44208,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -44216,7 +44293,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ },\ \"SseSpecification\":{\ @@ -44276,7 +44353,7 @@ - (NSString *)definitionString { },\ \"Iops\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

Default: The existing value is retained if you keep the same volume type. If you change the volume type to io1, io2, or gp3, the default is 3,000.

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

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

The following are the supported values for each volume type:

  • gp3: 3,000 - 16,000 IOPS

  • io1: 100 - 64,000 IOPS

  • io2: 100 - 256,000 IOPS

For io2 volumes, you can achieve up to 256,000 IOPS on instances built on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

Default: The existing value is retained if you keep the same volume type. If you change the volume type to io1, io2, or gp3, the default is 3,000.

\"\ },\ \"Throughput\":{\ \"shape\":\"Integer\",\ @@ -44284,7 +44361,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 EBS 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.

\"\ }\ }\ },\ @@ -45060,7 +45137,7 @@ - (NSString *)definitionString { },\ \"ProvisionedBandwidth\":{\ \"shape\":\"ProvisionedBandwidth\",\ - \"documentation\":\"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

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

Reserved. If you need to sustain traffic greater than the documented limits, contact Amazon Web Services Support.

\",\ \"locationName\":\"provisionedBandwidth\"\ },\ \"State\":{\ @@ -45186,7 +45263,7 @@ - (NSString *)definitionString { \"members\":{\ \"Associations\":{\ \"shape\":\"NetworkAclAssociationList\",\ - \"documentation\":\"

Any associations between the network ACL and one or more subnets

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

Any associations between the network ACL and your subnets

\",\ \"locationName\":\"associationSet\"\ },\ \"Entries\":{\ @@ -45820,7 +45897,7 @@ - (NSString *)definitionString { },\ \"ConnectionTrackingConfiguration\":{\ \"shape\":\"ConnectionTrackingConfiguration\",\ - \"documentation\":\"

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon Elastic Compute Cloud User Guide.

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

A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see Connection tracking timeouts in the Amazon EC2 User Guide.

\",\ \"locationName\":\"connectionTrackingConfiguration\"\ },\ \"Description\":{\ @@ -46532,12 +46609,12 @@ - (NSString *)definitionString { },\ \"MinTargetCapacity\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

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

The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

\",\ \"locationName\":\"minTargetCapacity\"\ },\ \"MaxTotalPrice\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

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

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

\",\ \"locationName\":\"maxTotalPrice\"\ }\ },\ @@ -46564,11 +46641,11 @@ - (NSString *)definitionString { },\ \"MinTargetCapacity\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

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

The minimum target capacity for On-Demand Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

\"\ },\ \"MaxTotalPrice\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

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

The maximum amount per hour for On-Demand Instances that you're willing to pay.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

\"\ }\ },\ \"documentation\":\"

Describes the configuration of On-Demand Instances in an EC2 Fleet.

\"\ @@ -48099,7 +48176,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

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

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -48160,31 +48237,31 @@ - (NSString *)definitionString { \"members\":{\ \"ProvisionTime\":{\ \"shape\":\"DateTime\",\ - \"documentation\":\"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

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

Reserved.

\",\ \"locationName\":\"provisionTime\"\ },\ \"Provisioned\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

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

Reserved.

\",\ \"locationName\":\"provisioned\"\ },\ \"RequestTime\":{\ \"shape\":\"DateTime\",\ - \"documentation\":\"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

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

Reserved.

\",\ \"locationName\":\"requestTime\"\ },\ \"Requested\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

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

Reserved.

\",\ \"locationName\":\"requested\"\ },\ \"Status\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

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

Reserved.

\",\ \"locationName\":\"status\"\ }\ },\ - \"documentation\":\"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

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

Reserved. If you need to sustain traffic greater than the documented limits, contact Amazon Web Services Support.

\"\ },\ \"PtrUpdateStatus\":{\ \"type\":\"structure\",\ @@ -48512,7 +48589,7 @@ - (NSString *)definitionString { \"members\":{\ \"ReservedInstancesId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing pricing tiers in the Amazon Elastic Compute Cloud User Guide.

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

The IDs of the purchased Reserved Instances. If your purchase crosses into a discounted pricing tier, the final Reserved Instances IDs might change. For more information, see Crossing pricing tiers in the Amazon EC2 User Guide.

\",\ \"locationName\":\"reservedInstancesId\"\ }\ },\ @@ -49693,7 +49770,7 @@ - (NSString *)definitionString { \"members\":{\ \"KernelId\":{\ \"shape\":\"KernelId\",\ - \"documentation\":\"

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

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

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide.

\"\ },\ \"EbsOptimized\":{\ \"shape\":\"Boolean\",\ @@ -49715,11 +49792,11 @@ - (NSString *)definitionString { },\ \"ImageId\":{\ \"shape\":\"ImageId\",\ - \"documentation\":\"

The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.

Valid formats:

  • ami-17characters00000

  • resolve:ssm:parameter-name

  • resolve:ssm:parameter-name:version-number

  • resolve:ssm:parameter-name:label

  • resolve:ssm:public-parameter

Currently, EC2 Fleet and Spot Fleet do not support specifying a Systems Manager parameter. If the launch template will be used by an EC2 Fleet or Spot Fleet, you must specify the AMI ID.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

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

The ID of the AMI. Alternatively, you can specify a Systems Manager parameter, which will resolve to an AMI ID on launch.

Valid formats:

  • ami-17characters00000

  • resolve:ssm:parameter-name

  • resolve:ssm:parameter-name:version-number

  • resolve:ssm:parameter-name:label

  • resolve:ssm:public-parameter

Currently, EC2 Fleet and Spot Fleet do not support specifying a Systems Manager parameter. If the launch template will be used by an EC2 Fleet or Spot Fleet, you must specify the AMI ID.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

\"\ },\ \"InstanceType\":{\ \"shape\":\"InstanceType\",\ - \"documentation\":\"

The instance type. For more information, see Instance types in the Amazon Elastic Compute Cloud User Guide.

If you specify InstanceType, you can't specify InstanceRequirements.

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

The instance type. For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.

If you specify InstanceType, you can't specify InstanceRequirements.

\"\ },\ \"KeyName\":{\ \"shape\":\"KeyPairName\",\ @@ -49735,7 +49812,7 @@ - (NSString *)definitionString { },\ \"RamDiskId\":{\ \"shape\":\"RamdiskId\",\ - \"documentation\":\"

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon Elastic Compute Cloud User Guide.

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

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User provided kernels in the Amazon EC2 User Guide.

\"\ },\ \"DisableApiTermination\":{\ \"shape\":\"Boolean\",\ @@ -49747,7 +49824,7 @@ - (NSString *)definitionString { },\ \"UserData\":{\ \"shape\":\"SensitiveUserData\",\ - \"documentation\":\"

The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see Run commands on your Linux instance at launch (Linux) or Work with instance user data (Windows) in the Amazon Elastic Compute Cloud User Guide.

If you are creating the launch template for use with Batch, the user data must be provided in the MIME multi-part archive format. For more information, see Amazon EC2 user data in launch templates in the Batch User Guide.

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

The user data to make available to the instance. You must provide base64-encoded text. User data is limited to 16 KB. For more information, see Run commands on your Amazon EC2 instance at launch in the Amazon EC2 User Guide.

If you are creating the launch template for use with Batch, the user data must be provided in the MIME multi-part archive format. For more information, see Amazon EC2 user data in launch templates in the Batch User Guide.

\"\ },\ \"TagSpecifications\":{\ \"shape\":\"LaunchTemplateTagSpecificationRequestList\",\ @@ -49784,7 +49861,7 @@ - (NSString *)definitionString { },\ \"CpuOptions\":{\ \"shape\":\"LaunchTemplateCpuOptionsRequest\",\ - \"documentation\":\"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

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

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

\"\ },\ \"CapacityReservationSpecification\":{\ \"shape\":\"LaunchTemplateCapacityReservationSpecificationRequest\",\ @@ -49797,15 +49874,15 @@ - (NSString *)definitionString { },\ \"HibernationOptions\":{\ \"shape\":\"LaunchTemplateHibernationOptionsRequest\",\ - \"documentation\":\"

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide.

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

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

\"\ },\ \"MetadataOptions\":{\ \"shape\":\"LaunchTemplateInstanceMetadataOptionsRequest\",\ - \"documentation\":\"

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

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

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

\"\ },\ \"EnclaveOptions\":{\ \"shape\":\"LaunchTemplateEnclaveOptionsRequest\",\ - \"documentation\":\"

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

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

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, see What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

\"\ },\ \"InstanceRequirements\":{\ \"shape\":\"InstanceRequirementsRequest\",\ @@ -49821,7 +49898,7 @@ - (NSString *)definitionString { },\ \"DisableApiStop\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether to enable the instance for stop protection. For more information, see Stop protection in the Amazon Elastic Compute Cloud User Guide.

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

Indicates whether to enable the instance for stop protection. For more information, see Enable stop protection for your instance in the Amazon EC2 User Guide.

\"\ }\ },\ \"documentation\":\"

The information to include in the launch template.

You must specify at least one parameter for the launch template data.

\"\ @@ -49869,7 +49946,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon EC2 User Guide for Linux Instances.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency in Amazon EC2 API requests in the Amazon EC2 User Guide.

\",\ \"locationName\":\"clientToken\"\ },\ \"DryRun\":{\ @@ -50078,7 +50155,7 @@ - (NSString *)definitionString { },\ \"Weight\":{\ \"shape\":\"DoubleWithConstraints\",\ - \"documentation\":\"

The number of capacity units provided by the specified instance type. This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

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

The number of capacity units provided by the specified instance type. This value, together with the total target capacity that you specify for the Fleet determine the number of instances for which the Fleet reserves capacity. Both values are based on units that make sense for your workload. For more information, see Total target capacity in the Amazon EC2 User Guide.

\"\ },\ \"AvailabilityZone\":{\ \"shape\":\"String\",\ @@ -50094,7 +50171,7 @@ - (NSString *)definitionString { },\ \"Priority\":{\ \"shape\":\"IntegerWithConstraints\",\ - \"documentation\":\"

The priority to assign to the instance type. This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see Instance type priority in the Amazon EC2 User Guide.

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

The priority to assign to the instance type. This value is used to determine which of the instance types specified for the Fleet should be prioritized for use. A lower value indicates a high priority. For more information, see Instance type priority in the Amazon EC2 User Guide.

\"\ }\ },\ \"documentation\":\"

Information about an instance type to use in a Capacity Reservation Fleet.

\"\ @@ -50921,6 +50998,7 @@ - (NSString *)definitionString { \"verified-access-trust-provider\",\ \"vpn-connection-device-type\",\ \"vpc-block-public-access-exclusion\",\ + \"vpc-encryption-control\",\ \"ipam-resource-discovery\",\ \"ipam-resource-discovery-association\",\ \"instance-connect-endpoint\"\ @@ -50986,7 +51064,7 @@ - (NSString *)definitionString { },\ \"ImageId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The ID of the AMI or a Systems Manager parameter. The Systems Manager parameter will resolve to the ID of the AMI at instance launch.

The value depends on what you specified in the request. The possible values are:

  • If an AMI ID was specified in the request, then this is the AMI ID.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as true, then this is the AMI ID that the parameter is mapped to in the Parameter Store.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as false, then this is the parameter value.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon Elastic Compute Cloud User Guide.

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

The ID of the AMI or a Systems Manager parameter. The Systems Manager parameter will resolve to the ID of the AMI at instance launch.

The value depends on what you specified in the request. The possible values are:

  • If an AMI ID was specified in the request, then this is the AMI ID.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as true, then this is the AMI ID that the parameter is mapped to in the Parameter Store.

  • If a Systems Manager parameter was specified in the request, and ResolveAlias was configured as false, then this is the parameter value.

For more information, see Use a Systems Manager parameter instead of an AMI ID in the Amazon EC2 User Guide.

\",\ \"locationName\":\"imageId\"\ },\ \"InstanceType\":{\ @@ -51066,7 +51144,7 @@ - (NSString *)definitionString { },\ \"CpuOptions\":{\ \"shape\":\"LaunchTemplateCpuOptions\",\ - \"documentation\":\"

The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User Guide.

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

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon EC2 User Guide.

\",\ \"locationName\":\"cpuOptions\"\ },\ \"CapacityReservationSpecification\":{\ @@ -51081,12 +51159,12 @@ - (NSString *)definitionString { },\ \"HibernationOptions\":{\ \"shape\":\"LaunchTemplateHibernationOptions\",\ - \"documentation\":\"

Indicates whether an instance is configured for hibernation. For more information, see Hibernate your instance in the Amazon Elastic Compute Cloud User Guide.

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

Indicates whether an instance is configured for hibernation. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

\",\ \"locationName\":\"hibernationOptions\"\ },\ \"MetadataOptions\":{\ \"shape\":\"LaunchTemplateInstanceMetadataOptions\",\ - \"documentation\":\"

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon Elastic Compute Cloud User Guide.

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

The metadata options for the instance. For more information, see Instance metadata and user data in the Amazon EC2 User Guide.

\",\ \"locationName\":\"metadataOptions\"\ },\ \"EnclaveOptions\":{\ @@ -51111,7 +51189,7 @@ - (NSString *)definitionString { },\ \"DisableApiStop\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether the instance is enabled for stop protection. For more information, see Stop protection in the Amazon Elastic Compute Cloud User Guide.

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

Indicates whether the instance is enabled for stop protection. For more information, see Enable stop protection for your instance in the Amazon EC2 User Guide.

\",\ \"locationName\":\"disableApiStop\"\ }\ },\ @@ -51650,7 +51728,7 @@ - (NSString *)definitionString { \"members\":{\ \"Associations\":{\ \"shape\":\"RouteTableAssociationList\",\ - \"documentation\":\"

The associations between the route table and one or more subnets or a gateway.

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

The associations between the route table and your subnets or gateways.

\",\ \"locationName\":\"associationSet\"\ },\ \"PropagatingVgws\":{\ @@ -51877,7 +51955,7 @@ - (NSString *)definitionString { },\ \"InstanceType\":{\ \"shape\":\"InstanceType\",\ - \"documentation\":\"

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

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

The instance type. For more information, see Amazon EC2 instance types in the Amazon EC2 User Guide.

\"\ },\ \"Ipv6AddressCount\":{\ \"shape\":\"Integer\",\ @@ -51898,11 +51976,11 @@ - (NSString *)definitionString { },\ \"MaxCount\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum number of instances to launch. If you specify more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above MinCount.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 FAQ.

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

The maximum number of instances to launch. If you specify a value that is more capacity than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above the specified minimum count.

Constraints: Between 1 and the quota for the specified instance type for your account for this Region. For more information, see Amazon EC2 instance type quotas.

\"\ },\ \"MinCount\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The minimum number of instances to launch. If you specify a minimum that is more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches no instances.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 General FAQ.

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

The minimum number of instances to launch. If you specify a value that is more capacity than Amazon EC2 can provide in the target Availability Zone, Amazon EC2 does not launch any instances.

Constraints: Between 1 and the quota for the specified instance type for your account for this Region. For more information, see Amazon EC2 instance type quotas.

\"\ },\ \"Monitoring\":{\ \"shape\":\"RunInstancesMonitoringEnabled\",\ @@ -51932,7 +52010,7 @@ - (NSString *)definitionString { },\ \"UserData\":{\ \"shape\":\"RunInstancesUserData\",\ - \"documentation\":\"

The user data script to make available to the instance. For more information, see Run commands on your Linux instance at launch and Run commands on your Windows instance at launch. If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.

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

The user data script to make available to the instance. For more information, see Run commands on your Amazon EC2 instance at launch in the Amazon EC2 User Guide. If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.

\"\ },\ \"AdditionalInfo\":{\ \"shape\":\"String\",\ @@ -52016,7 +52094,7 @@ - (NSString *)definitionString { },\ \"HibernationOptions\":{\ \"shape\":\"HibernationOptionsRequest\",\ - \"documentation\":\"

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same instance.

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

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same instance.

\"\ },\ \"LicenseSpecifications\":{\ \"shape\":\"LicenseSpecificationListRequest\",\ @@ -53450,7 +53528,7 @@ - (NSString *)definitionString { },\ \"KmsKeyId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the volume encryption key for the parent volume.

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

The Amazon Resource Name (ARN) of the KMS key that was used to protect the volume encryption key for the parent volume.

\",\ \"locationName\":\"kmsKeyId\"\ },\ \"OwnerId\":{\ @@ -53480,7 +53558,7 @@ - (NSString *)definitionString { },\ \"StateMessage\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper Key Management Service (KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by DescribeSnapshots.

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

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper KMS permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by DescribeSnapshots.

\",\ \"locationName\":\"statusMessage\"\ },\ \"VolumeId\":{\ @@ -53913,7 +53991,7 @@ - (NSString *)definitionString { \"locationName\":\"terminationDelay\"\ }\ },\ - \"documentation\":\"

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

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

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

\"\ },\ \"SpotDatafeedSubscription\":{\ \"type\":\"structure\",\ @@ -54103,7 +54181,7 @@ - (NSString *)definitionString { \"members\":{\ \"AllocationStrategy\":{\ \"shape\":\"AllocationStrategy\",\ - \"documentation\":\"

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

priceCapacityOptimized (recommended)

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

capacityOptimized

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

Spot Fleet requests instances from all of the Spot Instance pools that you specify.

lowestPrice

Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowestPrice

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

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

priceCapacityOptimized (recommended)

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.

capacityOptimized

Spot Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

Spot Fleet requests instances from all of the Spot Instance pools that you specify.

lowestPrice (not recommended)

We don't recommend the lowestPrice allocation strategy because it has the highest risk of interruption for your Spot Instances.

Spot Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowestPrice

\",\ \"locationName\":\"allocationStrategy\"\ },\ \"OnDemandAllocationStrategy\":{\ @@ -54168,12 +54246,12 @@ - (NSString *)definitionString { },\ \"OnDemandMaxTotalPrice\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The onDemandMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

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

The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The onDemandMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

\",\ \"locationName\":\"onDemandMaxTotalPrice\"\ },\ \"SpotMaxTotalPrice\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The spotMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

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

The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The spotMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

\",\ \"locationName\":\"spotMaxTotalPrice\"\ },\ \"TerminateInstancesWithExpiration\":{\ @@ -54345,7 +54423,7 @@ - (NSString *)definitionString { },\ \"State\":{\ \"shape\":\"SpotInstanceState\",\ - \"documentation\":\"

The state of the Spot Instance request. Spot request status information helps track your Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide for Linux Instances.

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

The state of the Spot Instance request. Spot request status information helps track your Spot Instance requests. For more information, see Spot request status in the Amazon EC2 User Guide.

\",\ \"locationName\":\"state\"\ },\ \"Status\":{\ @@ -54428,7 +54506,7 @@ - (NSString *)definitionString { \"members\":{\ \"Code\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide for Linux Instances.

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

The status code. For a list of status codes, see Spot request status codes in the Amazon EC2 User Guide.

\",\ \"locationName\":\"code\"\ },\ \"Message\":{\ @@ -54456,7 +54534,7 @@ - (NSString *)definitionString { \"members\":{\ \"CapacityRebalance\":{\ \"shape\":\"SpotCapacityRebalance\",\ - \"documentation\":\"

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

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

The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an elevated risk of being interrupted. For more information, see Capacity rebalancing in the Amazon EC2 User Guide.

\",\ \"locationName\":\"capacityRebalance\"\ }\ },\ @@ -54493,7 +54571,7 @@ - (NSString *)definitionString { \"members\":{\ \"AllocationStrategy\":{\ \"shape\":\"SpotAllocationStrategy\",\ - \"documentation\":\"

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

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

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price (not recommended)

We don't recommend the lowest-price allocation strategy because it has the highest risk of interruption for your Spot Instances.

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

\",\ \"locationName\":\"allocationStrategy\"\ },\ \"MaintenanceStrategies\":{\ @@ -54523,12 +54601,12 @@ - (NSString *)definitionString { },\ \"MinTargetCapacity\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

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

The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

\",\ \"locationName\":\"minTargetCapacity\"\ },\ \"MaxTotalPrice\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

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

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

\",\ \"locationName\":\"maxTotalPrice\"\ }\ },\ @@ -54539,7 +54617,7 @@ - (NSString *)definitionString { \"members\":{\ \"AllocationStrategy\":{\ \"shape\":\"SpotAllocationStrategy\",\ - \"documentation\":\"

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

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

The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet launch configuration. For more information, see Allocation strategies for Spot Instances in the Amazon EC2 User Guide.

price-capacity-optimized (recommended)

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. EC2 Fleet then requests Spot Instances from the lowest priced of these pools.

capacity-optimized

EC2 Fleet identifies the pools with the highest capacity availability for the number of instances that are launching. This means that we will request Spot Instances from the pools that we believe have the lowest chance of interruption in the near term. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your EC2 Fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

diversified

EC2 Fleet requests instances from all of the Spot Instance pools that you specify.

lowest-price (not recommended)

We don't recommend the lowest-price allocation strategy because it has the highest risk of interruption for your Spot Instances.

EC2 Fleet requests instances from the lowest priced Spot Instance pool that has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances come from the next lowest priced pool that has available capacity. If a pool runs out of capacity before fulfilling your desired capacity, EC2 Fleet will continue to fulfill your request by drawing from the next lowest priced pool. To ensure that your desired capacity is met, you might receive Spot Instances from several pools. Because this strategy only considers instance price and not capacity availability, it might lead to high interruption rates.

Default: lowest-price

\"\ },\ \"MaintenanceStrategies\":{\ \"shape\":\"FleetSpotMaintenanceStrategiesRequest\",\ @@ -54563,11 +54641,11 @@ - (NSString *)definitionString { },\ \"MinTargetCapacity\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

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

The minimum target capacity for Spot Instances in the fleet. If this minimum capacity isn't reached, no instances are launched.

Constraints: Maximum value of 1000. Supported only for fleets of type instant.

At least one of the following must be specified: SingleAvailabilityZone | SingleInstanceType

\"\ },\ \"MaxTotalPrice\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

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

The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the Amazon EC2 User Guide.

\"\ }\ },\ \"documentation\":\"

Describes the configuration of Spot Instances in an EC2 Fleet request.

\"\ @@ -54815,7 +54893,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -54862,7 +54940,7 @@ - (NSString *)definitionString { },\ \"ClientToken\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

\",\ \"idempotencyToken\":true\ }\ }\ @@ -56084,6 +56162,11 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"

The description of the Traffic Mirror rule.

\",\ \"locationName\":\"description\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagList\",\ + \"documentation\":\"

Tags on Traffic Mirroring filter rules.

\",\ + \"locationName\":\"tagSet\"\ }\ },\ \"documentation\":\"

Describes the Traffic Mirror rule.

\"\ @@ -56101,6 +56184,13 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"TrafficMirrorFilterRuleField\"}\ },\ + \"TrafficMirrorFilterRuleIdList\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"TrafficMirrorFilterRuleIdWithResolver\",\ + \"locationName\":\"item\"\ + }\ + },\ \"TrafficMirrorFilterRuleIdWithResolver\":{\"type\":\"string\"},\ \"TrafficMirrorFilterRuleList\":{\ \"type\":\"list\",\ @@ -56109,6 +56199,13 @@ - (NSString *)definitionString { \"locationName\":\"item\"\ }\ },\ + \"TrafficMirrorFilterRuleSet\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"TrafficMirrorFilterRule\",\ + \"locationName\":\"item\"\ + }\ + },\ \"TrafficMirrorFilterSet\":{\ \"type\":\"list\",\ \"member\":{\ @@ -59617,7 +59714,7 @@ - (NSString *)definitionString { },\ \"KmsKeyId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the volume encryption key for the volume.

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

The Amazon Resource Name (ARN) of the KMS key that was used to protect the volume encryption key for the volume.

\",\ \"locationName\":\"kmsKeyId\"\ },\ \"OutpostArn\":{\ diff --git a/AWSEC2/AWSEC2Service.h b/AWSEC2/AWSEC2Service.h index 3ead062f3d8..af20321ab97 100644 --- a/AWSEC2/AWSEC2Service.h +++ b/AWSEC2/AWSEC2Service.h @@ -175,7 +175,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; + (void)removeEC2ForKey:(NSString *)key; /** -

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon Virtual Private Cloud User Guide.

+

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AcceptAddressTransfer service method. @@ -187,7 +187,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)acceptAddressTransfer:(AWSEC2AcceptAddressTransferRequest *)request; /** -

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon Virtual Private Cloud User Guide.

+

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AcceptAddressTransfer service method. @param completionHandler The completion handler to call when the load request is complete. @@ -375,7 +375,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)advertiseByoipCidr:(AWSEC2AdvertiseByoipCidrRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AdvertiseByoipCidrResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account.

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation.

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

+

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account.

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon EC2 User Guide.

If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation.

For more information, see Elastic IP Addresses in the Amazon EC2 User Guide.

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

@param request A container for the necessary parameters to execute the AllocateAddress service method. @@ -387,7 +387,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)allocateAddress:(AWSEC2AllocateAddressRequest *)request; /** -

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account.

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation.

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

+

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account.

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon EC2 User Guide.

If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation.

For more information, see Elastic IP Addresses in the Amazon EC2 User Guide.

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

@param request A container for the necessary parameters to execute the AllocateAddress service method. @param completionHandler The completion handler to call when the load request is complete. @@ -475,7 +475,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)applySecurityGroupsToClientVpnTargetNetwork:(AWSEC2ApplySecurityGroupsToClientVpnTargetNetworkRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ApplySecurityGroupsToClientVpnTargetNetworkResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

You must specify either the IPv6 addresses or the IPv6 address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type.

You must specify either the IPv6 addresses or the IPv6 address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the AssignIpv6Addresses service method. @@ -487,7 +487,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)assignIpv6Addresses:(AWSEC2AssignIpv6AddressesRequest *)request; /** -

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

You must specify either the IPv6 addresses or the IPv6 address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type.

You must specify either the IPv6 addresses or the IPv6 address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPV6 Prefix Delegation prefixes, or the IPv6 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the AssignIpv6Addresses service method. @param completionHandler The completion handler to call when the load request is complete. @@ -500,7 +500,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)assignIpv6Addresses:(AWSEC2AssignIpv6AddressesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AssignIpv6AddressesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Assigns one or more secondary private IP addresses to the specified network interface.

You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved.

Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete.

You must specify either the IP addresses or the IP address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

Assigns one or more secondary private IP addresses to the specified network interface.

You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon EC2 User Guide.

When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved.

Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete.

You must specify either the IP addresses or the IP address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the AssignPrivateIpAddresses service method. @@ -512,7 +512,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)assignPrivateIpAddresses:(AWSEC2AssignPrivateIpAddressesRequest *)request; /** -

Assigns one or more secondary private IP addresses to the specified network interface.

You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved.

Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete.

You must specify either the IP addresses or the IP address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For information, see Assigning prefixes to Amazon EC2 network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

Assigns one or more secondary private IP addresses to the specified network interface.

You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon EC2 User Guide.

When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved.

Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete.

You must specify either the IP addresses or the IP address count in the request.

You can optionally use Prefix Delegation on the network interface. You must specify either the IPv4 Prefix Delegation prefixes, or the IPv4 Prefix Delegation count. For information, see Assigning prefixes to network interfaces in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the AssignPrivateIpAddresses service method. @param completionHandler The completion handler to call when the load request is complete. @@ -525,7 +525,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)assignPrivateIpAddresses:(AWSEC2AssignPrivateIpAddressesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AssignPrivateIpAddressesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Assigns one or more private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

+

Assigns private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AssignPrivateNatGatewayAddress service method. @@ -537,7 +537,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)assignPrivateNatGatewayAddress:(AWSEC2AssignPrivateNatGatewayAddressRequest *)request; /** -

Assigns one or more private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

+

Assigns private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AssignPrivateNatGatewayAddress service method. @param completionHandler The completion handler to call when the load request is complete. @@ -600,7 +600,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)associateClientVpnTargetNetwork:(AWSEC2AssociateClientVpnTargetNetworkRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AssociateClientVpnTargetNetworkResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP options sets in the Amazon VPC User Guide.

+

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP option sets in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AssociateDhcpOptions service method. @@ -611,7 +611,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)associateDhcpOptions:(AWSEC2AssociateDhcpOptionsRequest *)request; /** -

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP options sets in the Amazon VPC User Guide.

+

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP option sets in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AssociateDhcpOptions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -897,7 +897,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)associateTransitGatewayRouteTable:(AWSEC2AssociateTransitGatewayRouteTableRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AssociateTransitGatewayRouteTableResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Associates a branch network interface with a trunk network interface.

Before you create the association, run the create-network-interface command and set --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

+

Associates a branch network interface with a trunk network interface.

Before you create the association, use CreateNetworkInterface command and set the interface type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

@param request A container for the necessary parameters to execute the AssociateTrunkInterface service method. @@ -909,7 +909,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)associateTrunkInterface:(AWSEC2AssociateTrunkInterfaceRequest *)request; /** -

Associates a branch network interface with a trunk network interface.

Before you create the association, run the create-network-interface command and set --interface-type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

+

Associates a branch network interface with a trunk network interface.

Before you create the association, use CreateNetworkInterface command and set the interface type to trunk. You must also create a network interface for each branch network interface that you want to associate with the trunk network interface.

@param request A container for the necessary parameters to execute the AssociateTrunkInterface service method. @param completionHandler The completion handler to call when the load request is complete. @@ -922,7 +922,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)associateTrunkInterface:(AWSEC2AssociateTrunkInterfaceRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AssociateTrunkInterfaceResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

+

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AssociateVpcCidrBlock service method. @@ -934,7 +934,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)associateVpcCidrBlock:(AWSEC2AssociateVpcCidrBlockRequest *)request; /** -

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

+

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see IP addressing for your VPCs and subnets in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AssociateVpcCidrBlock service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1363,7 +1363,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)cancelImportTask:(AWSEC2CancelImportTaskRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CancelImportTaskResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CancelReservedInstancesListing service method. @@ -1375,7 +1375,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)cancelReservedInstancesListing:(AWSEC2CancelReservedInstancesListingRequest *)request; /** -

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CancelReservedInstancesListing 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 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.

+

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 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 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.

+

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 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. @@ -1563,7 +1563,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createCapacityReservation:(AWSEC2CreateCapacityReservationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateCapacityReservationResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity Reservation Fleet in the Amazon EC2 User Guide.

+

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity Reservation Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateCapacityReservationFleet service method. @@ -1575,7 +1575,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createCapacityReservationFleet:(AWSEC2CreateCapacityReservationFleetRequest *)request; /** -

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity Reservation Fleet in the Amazon EC2 User Guide.

+

Creates a Capacity Reservation Fleet. For more information, see Create a Capacity Reservation Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateCapacityReservationFleet 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 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-address-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.

+

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 option 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-address-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 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-address-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.

+

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 option 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-address-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. @@ -1863,7 +1863,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createFleet:(AWSEC2CreateFleetRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateFleetResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon Virtual Private Cloud User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

+

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon VPC User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the CreateFlowLogs service method. @@ -1875,7 +1875,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createFlowLogs:(AWSEC2CreateFlowLogsRequest *)request; /** -

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon Virtual Private Cloud User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

+

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon VPC User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the CreateFlowLogs service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2163,7 +2163,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createKeyPair:(AWSEC2CreateKeyPairRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2KeyPair * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

+

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon EC2 User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplate service method. @@ -2175,7 +2175,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createLaunchTemplate:(AWSEC2CreateLaunchTemplateRequest *)request; /** -

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

+

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon EC2 User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplate service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2188,7 +2188,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createLaunchTemplate:(AWSEC2CreateLaunchTemplateRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateLaunchTemplateResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

+

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplateVersion service method. @@ -2200,7 +2200,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createLaunchTemplateVersion:(AWSEC2CreateLaunchTemplateVersionRequest *)request; /** -

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

+

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplateVersion service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2460,7 +2460,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createNetworkInsightsPath:(AWSEC2CreateNetworkInsightsPathRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateNetworkInsightsPathResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a network interface in the specified subnet.

The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.

For more information about network interfaces, see Elastic network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

Creates a network interface in the specified subnet.

The number of IP addresses you can assign to a network interface varies by instance type.

For more information about network interfaces, see Elastic network interfaces in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateNetworkInterface service method. @@ -2472,7 +2472,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createNetworkInterface:(AWSEC2CreateNetworkInterfaceRequest *)request; /** -

Creates a network interface in the specified subnet.

The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.

For more information about network interfaces, see Elastic network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

Creates a network interface in the specified subnet.

The number of IP addresses you can assign to a network interface varies by instance type.

For more information about network interfaces, see Elastic network interfaces in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateNetworkInterface service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2560,7 +2560,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createPublicIpv4Pool:(AWSEC2CreatePublicIpv4PoolRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreatePublicIpv4PoolResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Replaces the EBS-backed root volume for a running instance with a new volume that is restored to the original root volume's launch state, that is restored to a specific snapshot taken from the original root volume, or that is restored from an AMI that has the same key characteristics as that of the instance.

For more information, see Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

+

Replaces the EBS-backed root volume for a running instance with a new volume that is restored to the original root volume's launch state, that is restored to a specific snapshot taken from the original root volume, or that is restored from an AMI that has the same key characteristics as that of the instance.

For more information, see Replace a root volume in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateReplaceRootVolumeTask service method. @@ -2572,7 +2572,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createReplaceRootVolumeTask:(AWSEC2CreateReplaceRootVolumeTaskRequest *)request; /** -

Replaces the EBS-backed root volume for a running instance with a new volume that is restored to the original root volume's launch state, that is restored to a specific snapshot taken from the original root volume, or that is restored from an AMI that has the same key characteristics as that of the instance.

For more information, see Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

+

Replaces the EBS-backed root volume for a running instance with a new volume that is restored to the original root volume's launch state, that is restored to a specific snapshot taken from the original root volume, or that is restored from an AMI that has the same key characteristics as that of the instance.

For more information, see Replace a root volume in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateReplaceRootVolumeTask service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2585,7 +2585,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createReplaceRootVolumeTask:(AWSEC2CreateReplaceRootVolumeTaskRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateReplaceRootVolumeTaskResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard 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.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard 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.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateReservedInstancesListing service method. @@ -2597,7 +2597,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createReservedInstancesListing:(AWSEC2CreateReservedInstancesListingRequest *)request; /** -

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard 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.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard 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.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateReservedInstancesListing 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 EBS 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 EC2 User Guide.

For more information, see Amazon EBS 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 EBS 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 EC2 User Guide.

For more information, see Amazon EBS 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. @@ -2760,7 +2760,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createSnapshots:(AWSEC2CreateSnapshotsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateSnapshotsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide for Linux Instances.

+

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateSpotDatafeedSubscription service method. @@ -2772,7 +2772,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createSpotDatafeedSubscription:(AWSEC2CreateSpotDatafeedSubscriptionRequest *)request; /** -

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide for Linux Instances.

+

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per Amazon Web Services account. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateSpotDatafeedSubscription service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2835,7 +2835,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createSubnet:(AWSEC2CreateSubnetRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateSubnetResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon Virtual Private Cloud User Guide and Assign prefixes to network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon VPC User Guide and Assign prefixes to network interfaces in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateSubnetCidrReservation service method. @@ -2847,7 +2847,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createSubnetCidrReservation:(AWSEC2CreateSubnetCidrReservationRequest *)request; /** -

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon Virtual Private Cloud User Guide and Assign prefixes to network interfaces in the Amazon Elastic Compute Cloud User Guide.

+

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon VPC User Guide and Assign prefixes to network interfaces in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the CreateSubnetCidrReservation service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3032,7 +3032,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createTransitGatewayConnect:(AWSEC2CreateTransitGatewayConnectRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateTransitGatewayConnectResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

For more information, see Connect peers in the Transit Gateways Guide.

+

Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

For more information, see Connect peers in the Amazon Web Services Transit Gateways Guide.

@param request A container for the necessary parameters to execute the CreateTransitGatewayConnectPeer service method. @@ -3044,7 +3044,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createTransitGatewayConnectPeer:(AWSEC2CreateTransitGatewayConnectPeerRequest *)request; /** -

Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

For more information, see Connect peers in the Transit Gateways Guide.

+

Creates a Connect peer for a specified transit gateway Connect attachment between a transit gateway and an appliance.

The peer address and transit gateway address must be the same IP address family (IPv4 or IPv6).

For more information, see Connect peers in the Amazon Web Services Transit Gateways Guide.

@param request A container for the necessary parameters to execute the CreateTransitGatewayConnectPeer 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 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.

+

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 EC2 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 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.

+

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 EC2 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. @@ -3432,7 +3432,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createVpcEndpoint:(AWSEC2CreateVpcEndpointRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateVpcEndpointResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

+

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Creating an Amazon SNS topic in the Amazon SNS Developer Guide.

You can create a connection notification for interface endpoints only.

@param request A container for the necessary parameters to execute the CreateVpcEndpointConnectionNotification service method. @@ -3444,7 +3444,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createVpcEndpointConnectionNotification:(AWSEC2CreateVpcEndpointConnectionNotificationRequest *)request; /** -

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

+

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Creating an Amazon SNS topic in the Amazon SNS Developer Guide.

You can create a connection notification for interface endpoints only.

@param request A container for the necessary parameters to execute the CreateVpcEndpointConnectionNotification service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3482,7 +3482,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createVpcEndpointServiceConfiguration:(AWSEC2CreateVpcEndpointServiceConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateVpcEndpointServiceConfigurationResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another Amazon Web Services account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the limitations section in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

+

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another Amazon Web Services account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the VPC peering limitations in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

@param request A container for the necessary parameters to execute the CreateVpcPeeringConnection service method. @@ -3494,7 +3494,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createVpcPeeringConnection:(AWSEC2CreateVpcPeeringConnectionRequest *)request; /** -

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another Amazon Web Services account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the limitations section in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

+

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another Amazon Web Services account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the VPC peering limitations in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

@param request A container for the necessary parameters to execute the CreateVpcPeeringConnection service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4070,7 +4070,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteLaunchTemplate:(AWSEC2DeleteLaunchTemplateRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteLaunchTemplateResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes one or more versions of a launch template.

You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use DeleteLaunchTemplate, which deletes the launch template and all of its versions.

For more information, see Delete a launch template version in the EC2 User Guide.

+

Deletes one or more versions of a launch template.

You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use DeleteLaunchTemplate, which deletes the launch template and all of its versions.

For more information, see Delete a launch template version in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DeleteLaunchTemplateVersions service method. @@ -4082,7 +4082,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteLaunchTemplateVersions:(AWSEC2DeleteLaunchTemplateVersionsRequest *)request; /** -

Deletes one or more versions of a launch template.

You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use DeleteLaunchTemplate, which deletes the launch template and all of its versions.

For more information, see Delete a launch template version in the EC2 User Guide.

+

Deletes one or more versions of a launch template.

You can't delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

You can delete up to 200 launch template versions in a single request. To delete more than 200 versions in a single request, use DeleteLaunchTemplate, which deletes the launch template and all of its versions.

For more information, see Delete a launch template version in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DeleteLaunchTemplateVersions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5594,7 +5594,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeAccountAttributes:(AWSEC2DescribeAccountAttributesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeAccountAttributesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

When you transfer an Elastic IP address, there is a two-step handshake between the source and transfer Amazon Web Services accounts. When the source account starts the transfer, the transfer account has seven days to accept the Elastic IP address transfer. During those seven days, the source account can view the pending transfer by using this action. After seven days, the transfer expires and ownership of the Elastic IP address returns to the source account. Accepted transfers are visible to the source account for three days after the transfers have been accepted.

+

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

When you transfer an Elastic IP address, there is a two-step handshake between the source and transfer Amazon Web Services accounts. When the source account starts the transfer, the transfer account has seven days to accept the Elastic IP address transfer. During those seven days, the source account can view the pending transfer by using this action. After seven days, the transfer expires and ownership of the Elastic IP address returns to the source account. Accepted transfers are visible to the source account for three days after the transfers have been accepted.

@param request A container for the necessary parameters to execute the DescribeAddressTransfers service method. @@ -5606,7 +5606,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeAddressTransfers:(AWSEC2DescribeAddressTransfersRequest *)request; /** -

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

When you transfer an Elastic IP address, there is a two-step handshake between the source and transfer Amazon Web Services accounts. When the source account starts the transfer, the transfer account has seven days to accept the Elastic IP address transfer. During those seven days, the source account can view the pending transfer by using this action. After seven days, the transfer expires and ownership of the Elastic IP address returns to the source account. Accepted transfers are visible to the source account for three days after the transfers have been accepted.

+

Describes an Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

When you transfer an Elastic IP address, there is a two-step handshake between the source and transfer Amazon Web Services accounts. When the source account starts the transfer, the transfer account has seven days to accept the Elastic IP address transfer. During those seven days, the source account can view the pending transfer by using this action. After seven days, the transfer expires and ownership of the Elastic IP address returns to the source account. Accepted transfers are visible to the source account for three days after the transfers have been accepted.

@param request A container for the necessary parameters to execute the DescribeAddressTransfers 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.

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.

+

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 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 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.

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.

+

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 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 DescribeAvailabilityZones service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5894,7 +5894,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeCarrierGateways:(AWSEC2DescribeCarrierGatewaysRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeCarrierGatewaysResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

This action is deprecated.

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

+

This action is deprecated.

Describes your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

@param request A container for the necessary parameters to execute the DescribeClassicLinkInstances service method. @@ -5906,7 +5906,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeClassicLinkInstances:(AWSEC2DescribeClassicLinkInstancesRequest *)request; /** -

This action is deprecated.

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

+

This action is deprecated.

Describes your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

@param request A container for the necessary parameters to execute the DescribeClassicLinkInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6119,7 +6119,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeCustomerGateways:(AWSEC2DescribeCustomerGatewaysRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeCustomerGatewaysResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your DHCP options sets.

For more information, see DHCP options sets in the Amazon VPC User Guide.

+

Describes your DHCP option sets. The default is to describe all your DHCP option sets. Alternatively, you can specify specific DHCP option set IDs or filter the results to include only the DHCP option sets that match specific criteria.

For more information, see DHCP option sets in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DescribeDhcpOptions service method. @@ -6131,7 +6131,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeDhcpOptions:(AWSEC2DescribeDhcpOptionsRequest *)request; /** -

Describes one or more of your DHCP options sets.

For more information, see DHCP options sets in the Amazon VPC User Guide.

+

Describes your DHCP option sets. The default is to describe all your DHCP option sets. Alternatively, you can specify specific DHCP option set IDs or filter the results to include only the DHCP option sets that match specific criteria.

For more information, see DHCP option sets in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DescribeDhcpOptions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6144,7 +6144,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeDhcpOptions:(AWSEC2DescribeDhcpOptionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeDhcpOptionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your egress-only internet gateways.

+

Describes your egress-only internet gateways. The default is to describe all your egress-only internet gateways. Alternatively, you can specify specific egress-only internet gateway IDs or filter the results to include only the egress-only internet gateways that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeEgressOnlyInternetGateways service method. @@ -6156,7 +6156,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeEgressOnlyInternetGateways:(AWSEC2DescribeEgressOnlyInternetGatewaysRequest *)request; /** -

Describes one or more of your egress-only internet gateways.

+

Describes your egress-only internet gateways. The default is to describe all your egress-only internet gateways. Alternatively, you can specify specific egress-only internet gateway IDs or filter the results to include only the egress-only internet gateways that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeEgressOnlyInternetGateways service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6169,7 +6169,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeEgressOnlyInternetGateways:(AWSEC2DescribeEgressOnlyInternetGatewaysRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeEgressOnlyInternetGatewaysResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Describes the Elastic Graphics accelerator associated with your instances. For more information about Elastic Graphics, see Amazon Elastic Graphics.

+

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the Elastic Graphics accelerator associated with your instances.

@param request A container for the necessary parameters to execute the DescribeElasticGpus service method. @@ -6181,7 +6181,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeElasticGpus:(AWSEC2DescribeElasticGpusRequest *)request; /** -

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

Describes the Elastic Graphics accelerator associated with your instances. For more information about Elastic Graphics, see Amazon Elastic Graphics.

+

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the Elastic Graphics accelerator associated with your instances.

@param request A container for the necessary parameters to execute the DescribeElasticGpus service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6944,7 +6944,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeInstances:(AWSEC2DescribeInstancesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstancesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your internet gateways.

+

Describes your internet gateways. The default is to describe all your internet gateways. Alternatively, you can specify specific internet gateway IDs or filter the results to include only the internet gateways that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeInternetGateways service method. @@ -6956,7 +6956,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeInternetGateways:(AWSEC2DescribeInternetGatewaysRequest *)request; /** -

Describes one or more of your internet gateways.

+

Describes your internet gateways. The default is to describe all your internet gateways. Alternatively, you can specify specific internet gateway IDs or filter the results to include only the internet gateways that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeInternetGateways service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7469,7 +7469,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeMovingAddresses:(AWSEC2DescribeMovingAddressesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeMovingAddressesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your NAT gateways.

+

Describes your NAT gateways. The default is to describe all your NAT gateways. Alternatively, you can specify specific NAT gateway IDs or filter the results to include only the NAT gateways that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeNatGateways service method. @@ -7481,7 +7481,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeNatGateways:(AWSEC2DescribeNatGatewaysRequest *)request; /** -

Describes one or more of your NAT gateways.

+

Describes your NAT gateways. The default is to describe all your NAT gateways. Alternatively, you can specify specific NAT gateway IDs or filter the results to include only the NAT gateways that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeNatGateways service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7494,7 +7494,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeNatGateways:(AWSEC2DescribeNatGatewaysRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeNatGatewaysResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your network ACLs.

For more information, see Network ACLs in the Amazon VPC User Guide.

+

Describes your network ACLs. The default is to describe all your network ACLs. Alternatively, you can specify specific network ACL IDs or filter the results to include only the network ACLs that match specific criteria.

For more information, see Network ACLs in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DescribeNetworkAcls service method. @@ -7506,7 +7506,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeNetworkAcls:(AWSEC2DescribeNetworkAclsRequest *)request; /** -

Describes one or more of your network ACLs.

For more information, see Network ACLs in the Amazon VPC User Guide.

+

Describes your network ACLs. The default is to describe all your network ACLs. Alternatively, you can specify specific network ACL IDs or filter the results to include only the network ACLs that match specific criteria.

For more information, see Network ACLs in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DescribeNetworkAcls service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7794,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.

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.

+

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Amazon EC2 service endpoints.

For information about enabling and disabling Regions for your account, see Specify which Amazon Web Services Regions your account can use in the Amazon Web Services Account Management Reference 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 DescribeRegions service method. @@ -7806,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.

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.

+

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Amazon EC2 service endpoints.

For information about enabling and disabling Regions for your account, see Specify which Amazon Web Services Regions your account can use in the Amazon Web Services Account Management Reference 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 DescribeRegions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7819,7 +7819,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeRegions:(AWSEC2DescribeRegionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeRegionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes a root volume replacement task. For more information, see Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

+

Describes a root volume replacement task. For more information, see Replace a root volume in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DescribeReplaceRootVolumeTasks service method. @@ -7831,7 +7831,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeReplaceRootVolumeTasks:(AWSEC2DescribeReplaceRootVolumeTasksRequest *)request; /** -

Describes a root volume replacement task. For more information, see Replace a root volume in the Amazon Elastic Compute Cloud User Guide.

+

Describes a root volume replacement task. For more information, see Replace a root volume in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DescribeReplaceRootVolumeTasks service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7869,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.

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.

+

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 Sell in the 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. @@ -7881,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.

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.

+

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 Sell in the 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. @@ -7894,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.

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.

+

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 Modify 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. @@ -7906,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.

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.

+

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 Modify 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. @@ -7919,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.

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.

+

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 Sell in the 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. @@ -7931,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.

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.

+

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 Sell in the 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. @@ -7944,7 +7944,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeReservedInstancesOfferings:(AWSEC2DescribeReservedInstancesOfferingsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeReservedInstancesOfferingsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your route tables.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information, see Route tables in the Amazon VPC User Guide.

+

Describes your route tables. The default is to describe all your route tables. Alternatively, you can specify specific route table IDs or filter the results to include only the route tables that match specific criteria.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information, see Route tables in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DescribeRouteTables service method. @@ -7956,7 +7956,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeRouteTables:(AWSEC2DescribeRouteTablesRequest *)request; /** -

Describes one or more of your route tables.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information, see Route tables in the Amazon VPC User Guide.

+

Describes your route tables. The default is to describe all your route tables. Alternatively, you can specify specific route table IDs or filter the results to include only the route tables that match specific criteria.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information, see Route tables in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DescribeRouteTables service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8169,7 +8169,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSnapshots:(AWSEC2DescribeSnapshotsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSnapshotsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the data feed for Spot Instances. For more information, see Spot Instance data feed in the Amazon EC2 User Guide for Linux Instances.

+

Describes the data feed for Spot Instances. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DescribeSpotDatafeedSubscription service method. @@ -8181,7 +8181,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeSpotDatafeedSubscription:(AWSEC2DescribeSpotDatafeedSubscriptionRequest *)request; /** -

Describes the data feed for Spot Instances. For more information, see Spot Instance data feed in the Amazon EC2 User Guide for Linux Instances.

+

Describes the data feed for Spot Instances. For more information, see Spot Instance data feed in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DescribeSpotDatafeedSubscription service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8294,7 +8294,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSpotInstanceRequests:(AWSEC2DescribeSpotInstanceRequestsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSpotInstanceRequestsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the Spot price history. For more information, see Spot Instance pricing history in the Amazon EC2 User Guide for Linux Instances.

When you specify a start and end time, the operation returns the prices of the instance types within that time range. It also returns the last price change before the start time, which is the effective price as of the start time.

+

Describes the Spot price history. For more information, see Spot Instance pricing history in the Amazon EC2 User Guide.

When you specify a start and end time, the operation returns the prices of the instance types within that time range. It also returns the last price change before the start time, which is the effective price as of the start time.

@param request A container for the necessary parameters to execute the DescribeSpotPriceHistory service method. @@ -8306,7 +8306,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeSpotPriceHistory:(AWSEC2DescribeSpotPriceHistoryRequest *)request; /** -

Describes the Spot price history. For more information, see Spot Instance pricing history in the Amazon EC2 User Guide for Linux Instances.

When you specify a start and end time, the operation returns the prices of the instance types within that time range. It also returns the last price change before the start time, which is the effective price as of the start time.

+

Describes the Spot price history. For more information, see Spot Instance pricing history in the Amazon EC2 User Guide.

When you specify a start and end time, the operation returns the prices of the instance types within that time range. It also returns the last price change before the start time, which is the effective price as of the start time.

@param request A container for the necessary parameters to execute the DescribeSpotPriceHistory service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8369,7 +8369,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeStoreImageTasks:(AWSEC2DescribeStoreImageTasksRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeStoreImageTasksResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your subnets.

For more information, see Subnets in the Amazon VPC User Guide.

+

Describes your subnets. The default is to describe all your subnets. Alternatively, you can specify specific subnet IDs or filter the results to include only the subnets that match specific criteria.

For more information, see Subnets in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DescribeSubnets service method. @@ -8381,7 +8381,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeSubnets:(AWSEC2DescribeSubnetsRequest *)request; /** -

Describes one or more of your subnets.

For more information, see Subnets in the Amazon VPC User Guide.

+

Describes your subnets. The default is to describe all your subnets. Alternatively, you can specify specific subnet IDs or filter the results to include only the subnets that match specific criteria.

For more information, see Subnets in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DescribeSubnets service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8418,6 +8418,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)describeTags:(AWSEC2DescribeTagsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeTagsResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Describe traffic mirror filters that determine the traffic that is mirrored.

+ + @param request A container for the necessary parameters to execute the DescribeTrafficMirrorFilterRules service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DescribeTrafficMirrorFilterRulesResult`. + + @see AWSEC2DescribeTrafficMirrorFilterRulesRequest + @see AWSEC2DescribeTrafficMirrorFilterRulesResult + */ +- (AWSTask *)describeTrafficMirrorFilterRules:(AWSEC2DescribeTrafficMirrorFilterRulesRequest *)request; + +/** +

Describe traffic mirror filters that determine the traffic that is mirrored.

+ + @param request A container for the necessary parameters to execute the DescribeTrafficMirrorFilterRules 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 AWSEC2DescribeTrafficMirrorFilterRulesRequest + @see AWSEC2DescribeTrafficMirrorFilterRulesResult + */ +- (void)describeTrafficMirrorFilterRules:(AWSEC2DescribeTrafficMirrorFilterRulesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeTrafficMirrorFilterRulesResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Describes one or more Traffic Mirror filters.

@@ -8969,7 +8994,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 EBS 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.

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. @@ -8981,7 +9006,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 EBS 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.

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. @@ -9194,7 +9219,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVpcEndpointServices:(AWSEC2DescribeVpcEndpointServicesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVpcEndpointServicesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes your VPC endpoints.

+

Describes your VPC endpoints. The default is to describe all your VPC endpoints. Alternatively, you can specify specific VPC endpoint IDs or filter the results to include only the VPC endpoints that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeVpcEndpoints service method. @@ -9206,7 +9231,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeVpcEndpoints:(AWSEC2DescribeVpcEndpointsRequest *)request; /** -

Describes your VPC endpoints.

+

Describes your VPC endpoints. The default is to describe all your VPC endpoints. Alternatively, you can specify specific VPC endpoint IDs or filter the results to include only the VPC endpoints that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeVpcEndpoints service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9219,7 +9244,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVpcEndpoints:(AWSEC2DescribeVpcEndpointsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVpcEndpointsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your VPC peering connections.

+

Describes your VPC peering connections. The default is to describe all your VPC peering connections. Alternatively, you can specify specific VPC peering connection IDs or filter the results to include only the VPC peering connections that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeVpcPeeringConnections service method. @@ -9231,7 +9256,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeVpcPeeringConnections:(AWSEC2DescribeVpcPeeringConnectionsRequest *)request; /** -

Describes one or more of your VPC peering connections.

+

Describes your VPC peering connections. The default is to describe all your VPC peering connections. Alternatively, you can specify specific VPC peering connection IDs or filter the results to include only the VPC peering connections that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeVpcPeeringConnections service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9244,7 +9269,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVpcPeeringConnections:(AWSEC2DescribeVpcPeeringConnectionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVpcPeeringConnectionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your VPCs.

+

Describes your VPCs. The default is to describe all your VPCs. Alternatively, you can specify specific VPC IDs or filter the results to include only the VPCs that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeVpcs service method. @@ -9256,7 +9281,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeVpcs:(AWSEC2DescribeVpcsRequest *)request; /** -

Describes one or more of your VPCs.

+

Describes your VPCs. The default is to describe all your VPCs. Alternatively, you can specify specific VPC IDs or filter the results to include only the VPCs that match specific criteria.

@param request A container for the necessary parameters to execute the DescribeVpcs service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9460,7 +9485,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)detachVpnGateway:(AWSEC2DetachVpnGatewayRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

+

Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DisableAddressTransfer service method. @@ -9472,7 +9497,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)disableAddressTransfer:(AWSEC2DisableAddressTransferRequest *)request; /** -

Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

+

Disables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the DisableAddressTransfer 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)disassociateVpcCidrBlock:(AWSEC2DisassociateVpcCidrBlockRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisassociateVpcCidrBlockResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

+

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the EnableAddressTransfer service method. @@ -10238,7 +10263,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)enableAddressTransfer:(AWSEC2EnableAddressTransferRequest *)request; /** -

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon Virtual Private Cloud User Guide.

+

Enables Elastic IP address transfer. For more information, see Transfer Elastic IP addresses in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the EnableAddressTransfer service method. @param completionHandler The completion handler to call when the load request is complete. @@ -10745,7 +10770,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)exportImage:(AWSEC2ExportImageRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ExportImageResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range.

The routes are saved to the specified bucket in a JSON file. For more information, see Export Route Tables to Amazon S3 in Transit Gateways.

+

Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range.

The routes are saved to the specified bucket in a JSON file. For more information, see Export route tables to Amazon S3 in the Amazon Web Services Transit Gateways Guide.

@param request A container for the necessary parameters to execute the ExportTransitGatewayRoutes service method. @@ -10757,7 +10782,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)exportTransitGatewayRoutes:(AWSEC2ExportTransitGatewayRoutesRequest *)request; /** -

Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range.

The routes are saved to the specified bucket in a JSON file. For more information, see Export Route Tables to Amazon S3 in Transit Gateways.

+

Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range.

The routes are saved to the specified bucket in a JSON file. For more information, see Export route tables to Amazon S3 in the Amazon Web Services Transit Gateways Guide.

@param request A container for the necessary parameters to execute the ExportTransitGatewayRoutes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -11320,7 +11345,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)getIpamDiscoveredResourceCidrs:(AWSEC2GetIpamDiscoveredResourceCidrsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetIpamDiscoveredResourceCidrsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Get a list of all the CIDR allocations in an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

+

Get a list of all the CIDR allocations in an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

@param request A container for the necessary parameters to execute the GetIpamPoolAllocations service method. @@ -11332,7 +11357,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)getIpamPoolAllocations:(AWSEC2GetIpamPoolAllocationsRequest *)request; /** -

Get a list of all the CIDR allocations in an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

+

Get a list of all the CIDR allocations in an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations.

If you use this action after AllocateIpamPoolCidr or ReleaseIpamPoolAllocation, note that all EC2 API actions follow an eventual consistency model.

@param request A container for the necessary parameters to execute the GetIpamPoolAllocations service method. @param completionHandler The completion handler to call when the load request is complete. @@ -11520,7 +11545,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)getNetworkInsightsAccessScopeContent:(AWSEC2GetNetworkInsightsAccessScopeContentRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetNetworkInsightsAccessScopeContentResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon EC2 User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

+

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon EC2 User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

@param request A container for the necessary parameters to execute the GetPasswordData service method. @@ -11532,7 +11557,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)getPasswordData:(AWSEC2GetPasswordDataRequest *)request; /** -

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon EC2 User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

+

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon EC2 User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

@param request A container for the necessary parameters to execute the GetPasswordData service method. @param completionHandler The completion handler to call when the load request is complete. @@ -11645,7 +11670,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)getSnapshotBlockPublicAccessState:(AWSEC2GetSnapshotBlockPublicAccessStateRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetSnapshotBlockPublicAccessStateResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Calculates the Spot placement score for a Region or Availability Zone based on the specified target capacity and compute requirements.

You can specify your compute requirements either by using InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal instance types to fulfill your Spot request, or you can specify the instance types by using InstanceTypes.

For more information, see Spot placement score in the Amazon EC2 User Guide.

+

Calculates the Spot placement score for a Region or Availability Zone based on the specified target capacity and compute requirements.

You can specify your compute requirements either by using InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal instance types to fulfill your Spot request, or you can specify the instance types by using InstanceTypes.

For more information, see Spot placement score in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the GetSpotPlacementScores service method. @@ -11657,7 +11682,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)getSpotPlacementScores:(AWSEC2GetSpotPlacementScoresRequest *)request; /** -

Calculates the Spot placement score for a Region or Availability Zone based on the specified target capacity and compute requirements.

You can specify your compute requirements either by using InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal instance types to fulfill your Spot request, or you can specify the instance types by using InstanceTypes.

For more information, see Spot placement score in the Amazon EC2 User Guide.

+

Calculates the Spot placement score for a Region or Availability Zone based on the specified target capacity and compute requirements.

You can specify your compute requirements either by using InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal instance types to fulfill your Spot request, or you can specify the instance types by using InstanceTypes.

For more information, see Spot placement score in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the GetSpotPlacementScores service method. @param completionHandler The completion handler to call when the load request is complete. @@ -12245,7 +12270,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifyAddressAttribute:(AWSEC2ModifyAddressAttributeRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyAddressAttributeResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Changes the opt-in status of the Local Zone and Wavelength Zone group for your account.

Use DescribeAvailabilityZones to view the value for GroupName.

+

Changes the opt-in status of the specified zone group for your account.

@param request A container for the necessary parameters to execute the ModifyAvailabilityZoneGroup service method. @@ -12257,7 +12282,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifyAvailabilityZoneGroup:(AWSEC2ModifyAvailabilityZoneGroupRequest *)request; /** -

Changes the opt-in status of the Local Zone and Wavelength Zone group for your account.

Use DescribeAvailabilityZones to view the value for GroupName.

+

Changes the opt-in status of the specified zone group for your account.

@param request A container for the necessary parameters to execute the ModifyAvailabilityZoneGroup service method. @param completionHandler The completion handler to call when the load request is complete. @@ -13005,7 +13030,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifyPrivateDnsNameOptions:(AWSEC2ModifyPrivateDnsNameOptionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyPrivateDnsNameOptionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

+

Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modify Reserved Instances in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the ModifyReservedInstances service method. @@ -13017,7 +13042,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifyReservedInstances:(AWSEC2ModifyReservedInstancesRequest *)request; /** -

Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon EC2 User Guide.

+

Modifies the configuration of your Reserved Instances, such as the Availability Zone, instance count, or instance type. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modify Reserved Instances in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the ModifyReservedInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -13474,7 +13499,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 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.

+

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.

For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

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. @@ -13486,7 +13511,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 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.

+

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.

For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

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. @@ -13893,7 +13918,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)moveByoipCidrToIpam:(AWSEC2MoveByoipCidrToIpamRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2MoveByoipCidrToIpamResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

Amazon Web Services verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring your own IP addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

+

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

Amazon Web Services verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring your own IP addresses (BYOIP) in the Amazon EC2 User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

@param request A container for the necessary parameters to execute the ProvisionByoipCidr service method. @@ -13905,7 +13930,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)provisionByoipCidr:(AWSEC2ProvisionByoipCidrRequest *)request; /** -

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

Amazon Web Services verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring your own IP addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

+

Provisions an IPv4 or IPv6 address range for use with your Amazon Web Services resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

Amazon Web Services verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring your own IP addresses (BYOIP) in the Amazon EC2 User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

@param request A container for the necessary parameters to execute the ProvisionByoipCidr service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14043,7 +14068,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)purchaseHostReservation:(AWSEC2PurchaseHostReservationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2PurchaseHostReservationResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the PurchaseReservedInstancesOffering service method. @@ -14055,7 +14080,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)purchaseReservedInstancesOffering:(AWSEC2PurchaseReservedInstancesOfferingRequest *)request; /** -

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon EC2 User Guide.

+

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Sell in the Reserved Instance Marketplace in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the PurchaseReservedInstancesOffering service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14165,7 +14190,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)registerInstanceEventNotificationAttributes:(AWSEC2RegisterInstanceEventNotificationAttributesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2RegisterInstanceEventNotificationAttributesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For information about supported instances, see Multicast Consideration in Amazon VPC Transit Gateways.

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added to the transit gateway multicast group.

+

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For more information, see Multicast on transit gateways in the Amazon Web Services Transit Gateways Guide.

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added to the transit gateway multicast group.

@param request A container for the necessary parameters to execute the RegisterTransitGatewayMulticastGroupMembers service method. @@ -14177,7 +14202,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)registerTransitGatewayMulticastGroupMembers:(AWSEC2RegisterTransitGatewayMulticastGroupMembersRequest *)request; /** -

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For information about supported instances, see Multicast Consideration in Amazon VPC Transit Gateways.

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added to the transit gateway multicast group.

+

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For more information, see Multicast on transit gateways in the Amazon Web Services Transit Gateways Guide.

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added to the transit gateway multicast group.

@param request A container for the necessary parameters to execute the RegisterTransitGatewayMulticastGroupMembers service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14190,7 +14215,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)registerTransitGatewayMulticastGroupMembers:(AWSEC2RegisterTransitGatewayMulticastGroupMembersRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2RegisterTransitGatewayMulticastGroupMembersResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Registers sources (network interfaces) with the specified transit gateway multicast group.

A multicast source is a network interface attached to a supported instance that sends multicast traffic. For information about supported instances, see Multicast Considerations in Amazon VPC Transit Gateways.

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group.

+

Registers sources (network interfaces) with the specified transit gateway multicast group.

A multicast source is a network interface attached to a supported instance that sends multicast traffic. For more information about supported instances, see Multicast on transit gateways in the Amazon Web Services Transit Gateways Guide.

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group.

@param request A container for the necessary parameters to execute the RegisterTransitGatewayMulticastGroupSources service method. @@ -14202,7 +14227,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)registerTransitGatewayMulticastGroupSources:(AWSEC2RegisterTransitGatewayMulticastGroupSourcesRequest *)request; /** -

Registers sources (network interfaces) with the specified transit gateway multicast group.

A multicast source is a network interface attached to a supported instance that sends multicast traffic. For information about supported instances, see Multicast Considerations in Amazon VPC Transit Gateways.

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group.

+

Registers sources (network interfaces) with the specified transit gateway multicast group.

A multicast source is a network interface attached to a supported instance that sends multicast traffic. For more information about supported instances, see Multicast on transit gateways in the Amazon Web Services Transit Gateways Guide.

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group.

@param request A container for the necessary parameters to execute the RegisterTransitGatewayMulticastGroupSources service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14387,7 +14412,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)releaseHosts:(AWSEC2ReleaseHostsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ReleaseHostsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Release an allocation within an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.

All EC2 API actions follow an eventual consistency model.

+

Release an allocation within an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.

All EC2 API actions follow an eventual consistency model.

@param request A container for the necessary parameters to execute the ReleaseIpamPoolAllocation service method. @@ -14399,7 +14424,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)releaseIpamPoolAllocation:(AWSEC2ReleaseIpamPoolAllocationRequest *)request; /** -

Release an allocation within an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.

All EC2 API actions follow an eventual consistency model.

+

Release an allocation within an IPAM pool. The Region you use should be the IPAM pool locale. The locale is the Amazon Web Services Region where this IPAM pool is available for allocations. You can only use this action to release manual allocations. To remove an allocation for a resource without deleting the resource, set its monitored state to false using ModifyIpamResourceCidr. For more information, see Release an allocation in the Amazon VPC IPAM User Guide.

All EC2 API actions follow an eventual consistency model.

@param request A container for the necessary parameters to execute the ReleaseIpamPoolAllocation service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14628,7 +14653,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)requestSpotFleet:(AWSEC2RequestSpotFleetRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2RequestSpotFleetResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a Spot Instance request.

For more information, see Spot Instance requests in the Amazon EC2 User Guide for Linux Instances.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide for Linux Instances.

+

Creates a Spot Instance request.

For more information, see Work with Spot Instance in the Amazon EC2 User Guide.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the RequestSpotInstances service method. @@ -14640,7 +14665,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)requestSpotInstances:(AWSEC2RequestSpotInstancesRequest *)request; /** -

Creates a Spot Instance request.

For more information, see Spot Instance requests in the Amazon EC2 User Guide for Linux Instances.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide for Linux Instances.

+

Creates a Spot Instance request.

For more information, see Work with Spot Instance in the Amazon EC2 User Guide.

We strongly discourage using the RequestSpotInstances API because it is a legacy API with no planned investment. For options for requesting Spot Instances, see Which is the best Spot request method to use? in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the RequestSpotInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14750,7 +14775,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)resetImageAttribute:(AWSEC2ResetImageAttributeRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon VPC User Guide.

+

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT instances in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the ResetInstanceAttribute service method. @@ -14761,7 +14786,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)resetInstanceAttribute:(AWSEC2ResetInstanceAttributeRequest *)request; /** -

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon VPC User Guide.

+

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT instances in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the ResetInstanceAttribute service method. @param completionHandler The completion handler to call when the load request is complete. @@ -15016,7 +15041,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)revokeSecurityGroupIngress:(AWSEC2RevokeSecurityGroupIngressRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2RevokeSecurityGroupIngressResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.

For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.

+

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance types.

  • If you don't specify a security group ID, we use the default security group for the VPC. For more information, see Security groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

RunInstances is subject to both request rate limiting and resource rate limiting. For more information, see Request throttling.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.

For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.

@param request A container for the necessary parameters to execute the RunInstances service method. @@ -15028,7 +15053,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)runInstances:(AWSEC2RunInstancesRequest *)request; /** -

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.

For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.

+

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance types.

  • If you don't specify a security group ID, we use the default security group for the VPC. For more information, see Security groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

RunInstances is subject to both request rate limiting and resource rate limiting. For more information, see Request throttling.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging your Amazon EC2 resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key pairs.

For troubleshooting, see What to do if an instance immediately terminates, and Troubleshooting connecting to your instance.

@param request A container for the necessary parameters to execute the RunInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -15041,7 +15066,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)runInstances:(AWSEC2RunInstancesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2Reservation * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon EC2 User Guide.

+

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes.

@param request A container for the necessary parameters to execute the RunScheduledInstances service method. @@ -15053,7 +15078,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)runScheduledInstances:(AWSEC2RunScheduledInstancesRequest *)request; /** -

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon EC2 User Guide.

+

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes.

@param request A container for the necessary parameters to execute the RunScheduledInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -15141,7 +15166,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)searchTransitGatewayRoutes:(AWSEC2SearchTransitGatewayRoutesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2SearchTransitGatewayRoutesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a diagnostic interrupt (for advanced users) (Linux instances) or Send a diagnostic interrupt (for advanced users) (Windows instances).

+

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a diagnostic interrupt (for advanced users) in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the SendDiagnosticInterrupt service method. @@ -15152,7 +15177,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)sendDiagnosticInterrupt:(AWSEC2SendDiagnosticInterruptRequest *)request; /** -

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a diagnostic interrupt (for advanced users) (Linux instances) or Send a diagnostic interrupt (for advanced users) (Windows instances).

+

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a diagnostic interrupt (for advanced users) in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the SendDiagnosticInterrupt service method. @param completionHandler The completion handler to call when the load request is complete. @@ -15163,7 +15188,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)sendDiagnosticInterrupt:(AWSEC2SendDiagnosticInterruptRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

If you attempt to start a T3 instance with host tenancy and the unlimited CPU credit option, the request fails. The unlimited CPU credit option is not supported on Dedicated Hosts. Before you start the instance, either change its CPU credit option to standard, or change its tenancy to default or dedicated.

For more information, see Stop and start your instance in the Amazon EC2 User Guide.

+

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

If you attempt to start a T3 instance with host tenancy and the unlimited CPU credit option, the request fails. The unlimited CPU credit option is not supported on Dedicated Hosts. Before you start the instance, either change its CPU credit option to standard, or change its tenancy to default or dedicated.

For more information, see Stop and start Amazon EC2 instances in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the StartInstances service method. @@ -15175,7 +15200,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)startInstances:(AWSEC2StartInstancesRequest *)request; /** -

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

If you attempt to start a T3 instance with host tenancy and the unlimited CPU credit option, the request fails. The unlimited CPU credit option is not supported on Dedicated Hosts. Before you start the instance, either change its CPU credit option to standard, or change its tenancy to default or dedicated.

For more information, see Stop and start your instance in the Amazon EC2 User Guide.

+

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

If you attempt to start a T3 instance with host tenancy and the unlimited CPU credit option, the request fails. The unlimited CPU credit option is not supported on Dedicated Hosts. Before you start the instance, either change its CPU credit option to standard, or change its tenancy to default or dedicated.

For more information, see Stop and start Amazon EC2 instances in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the StartInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -15263,7 +15288,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)startVpcEndpointServicePrivateDnsVerification:(AWSEC2StartVpcEndpointServicePrivateDnsVerificationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2StartVpcEndpointServicePrivateDnsVerificationResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Stops an Amazon EBS-backed instance. For more information, see Stop and start your instance in the Amazon EC2 User Guide.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the Amazon EC2 User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance lifecycle in the Amazon EC2 User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshoot stopping your instance in the Amazon EC2 User Guide.

+

Stops an Amazon EBS-backed instance. For more information, see Stop and start Amazon EC2 instances in the Amazon EC2 User Guide.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the Amazon EC2 User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance lifecycle in the Amazon EC2 User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshoot stopping your instance in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the StopInstances service method. @@ -15275,7 +15300,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)stopInstances:(AWSEC2StopInstancesRequest *)request; /** -

Stops an Amazon EBS-backed instance. For more information, see Stop and start your instance in the Amazon EC2 User Guide.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate your instance in the Amazon EC2 User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the Amazon EC2 User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance lifecycle in the Amazon EC2 User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshoot stopping your instance in the Amazon EC2 User Guide.

+

Stops an Amazon EBS-backed instance. For more information, see Stop and start Amazon EC2 instances in the Amazon EC2 User Guide.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate your Amazon EC2 instance in the Amazon EC2 User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating interrupted Spot Instances in the Amazon EC2 User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance lifecycle in the Amazon EC2 User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshoot stopping your instance in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the StopInstances 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 2ab6afd933f..b110b37f790 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.36.3"; +NSString *const AWSEC2SDKVersion = @"2.36.4"; @interface AWSEC2ResponseSerializer : AWSXMLResponseSerializer @@ -7903,6 +7903,29 @@ - (void)describeTags:(AWSEC2DescribeTagsRequest *)request }]; } +- (AWSTask *)describeTrafficMirrorFilterRules:(AWSEC2DescribeTrafficMirrorFilterRulesRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DescribeTrafficMirrorFilterRules" + outputClass:[AWSEC2DescribeTrafficMirrorFilterRulesResult class]]; +} + +- (void)describeTrafficMirrorFilterRules:(AWSEC2DescribeTrafficMirrorFilterRulesRequest *)request + completionHandler:(void (^)(AWSEC2DescribeTrafficMirrorFilterRulesResult *response, NSError *error))completionHandler { + [[self describeTrafficMirrorFilterRules:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DescribeTrafficMirrorFilterRulesResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)describeTrafficMirrorFilters:(AWSEC2DescribeTrafficMirrorFiltersRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSEC2/Info.plist b/AWSEC2/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSEC2/Info.plist +++ b/AWSEC2/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m index 1d16aa849fd..3bcd3740366 100644 --- a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m +++ b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m @@ -786,6 +786,8 @@ - (void) test_AWSEC2DescribeSubnetsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeSubnetsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeTagsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeTagsResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeTrafficMirrorFilterRulesRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeTrafficMirrorFilterRulesResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeTrafficMirrorFiltersRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeTrafficMirrorFiltersResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeTrafficMirrorSessionsRequest API_AVAILABLE(ios(11)); @@ -5016,6 +5018,14 @@ - (void) test_AWSEC2DescribeTagsResult { [self validateSecureCodingForClass:[AWSEC2DescribeTagsResult class]]; } +- (void) test_AWSEC2DescribeTrafficMirrorFilterRulesRequest { + [self validateSecureCodingForClass:[AWSEC2DescribeTrafficMirrorFilterRulesRequest class]]; +} + +- (void) test_AWSEC2DescribeTrafficMirrorFilterRulesResult { + [self validateSecureCodingForClass:[AWSEC2DescribeTrafficMirrorFilterRulesResult class]]; +} + - (void) test_AWSEC2DescribeTrafficMirrorFiltersRequest { [self validateSecureCodingForClass:[AWSEC2DescribeTrafficMirrorFiltersRequest class]]; } diff --git a/AWSEC2UnitTests/AWSGeneralEC2Tests.m b/AWSEC2UnitTests/AWSGeneralEC2Tests.m index bdc74016961..1bf9cc03329 100644 --- a/AWSEC2UnitTests/AWSGeneralEC2Tests.m +++ b/AWSEC2UnitTests/AWSGeneralEC2Tests.m @@ -16014,6 +16014,54 @@ - (void)testDescribeTagsCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testDescribeTrafficMirrorFilterRules { + NSString *key = @"testDescribeTrafficMirrorFilterRules"; + 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] describeTrafficMirrorFilterRules:[AWSEC2DescribeTrafficMirrorFilterRulesRequest 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)testDescribeTrafficMirrorFilterRulesCompletionHandler { + NSString *key = @"testDescribeTrafficMirrorFilterRules"; + 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] describeTrafficMirrorFilterRules:[AWSEC2DescribeTrafficMirrorFilterRulesRequest new] completionHandler:^(AWSEC2DescribeTrafficMirrorFilterRulesResult* _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)testDescribeTrafficMirrorFilters { NSString *key = @"testDescribeTrafficMirrorFilters"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; diff --git a/AWSElasticLoadBalancing.podspec b/AWSElasticLoadBalancing.podspec index 40eda6ce987..3e502224f52 100644 --- a/AWSElasticLoadBalancing.podspec +++ b/AWSElasticLoadBalancing.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSElasticLoadBalancing' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 872387d094e..c92eb992cf0 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.36.3"; +NSString *const AWSElasticLoadBalancingSDKVersion = @"2.36.4"; @interface AWSElasticLoadBalancingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSElasticLoadBalancing/Info.plist b/AWSElasticLoadBalancing/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSElasticLoadBalancing/Info.plist +++ b/AWSElasticLoadBalancing/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSFacebookSignIn.podspec b/AWSFacebookSignIn.podspec index 4e9b23ddb89..e2431fd5c1f 100644 --- a/AWSFacebookSignIn.podspec +++ b/AWSFacebookSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSFacebookSignIn' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' - s.dependency 'AWSCore', '2.36.3' + s.dependency 'AWSAuthCore', '2.36.4' + s.dependency 'AWSCore', '2.36.4' s.dependency 'FBSDKLoginKit', '9.0' s.dependency 'FBSDKCoreKit', '9.0' diff --git a/AWSGoogleSignIn.podspec b/AWSGoogleSignIn.podspec index dc45da779ae..9b921424959 100644 --- a/AWSGoogleSignIn.podspec +++ b/AWSGoogleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSGoogleSignIn' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' - s.dependency 'AWSCore', '2.36.3' + s.dependency 'AWSAuthCore', '2.36.4' + s.dependency 'AWSCore', '2.36.4' 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 e46ae5cf121..c8575254d7a 100644 --- a/AWSIoT.podspec +++ b/AWSIoT.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSIoT' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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/AWSIoTDataManager.h b/AWSIoT/AWSIoTDataManager.h index e9794a78ed9..e5e470ad10e 100644 --- a/AWSIoT/AWSIoTDataManager.h +++ b/AWSIoT/AWSIoTDataManager.h @@ -808,6 +808,33 @@ shadowOperationTimeoutSeconds: double, device shadow operation timeout (default options:(NSDictionary * _Nullable)options eventCallback:(void(^)(NSString *name, AWSIoTShadowOperationType operation, AWSIoTShadowOperationStatusType status, NSString *clientToken, NSData *payload))callback; +/** + Register for updates on a device shadow + + @param name The device shadow to register for updates on. + + @param options A dictionary with device shadow registration options. The options are: + +enableDebugging: BOOL, set to YES to enable additional console debugging (default NO) +enableVersioning: BOOL, set to NO to disable versioning (default YES) +enableForeignStateUpdateNotifications: BOOL, set to YES to enable foreign state updates (default NO) +enableStaleDiscards: BOOL, set to NO to disable discarding stale updates (default YES) +enableIgnoreDeltas: BOOL, set to YES to disable delta updates (default NO) +QoS: AWSIoTMQTTQoS (default AWSIoTMQTTQoSMessageDeliveryAttemptedAtMostOnce) +shadowOperationTimeoutSeconds: double, device shadow operation timeout (default 10.0) + + @param callback The function to call when updates are received for the device shadow. + + @param completionCallback The function to call when the operation is completed. + + @return Boolean value indicating success or failure. + + */ +- (BOOL) registerWithShadow:(NSString *)name + options:(NSDictionary * _Nullable)options + eventCallback:(void(^)(NSString *name, AWSIoTShadowOperationType operation, AWSIoTShadowOperationStatusType status, NSString *clientToken, NSData *payload))callback + completionCallback:(void(^)(void))completionCallback; + /** Unregister from updates on a device shadow @@ -818,6 +845,19 @@ shadowOperationTimeoutSeconds: double, device shadow operation timeout (default */ - (BOOL) unregisterFromShadow:(NSString *)name; +/** + Unregister from updates on a device shadow + + @param name The device shadow to unregister from updates on. + + @param completionCallback The function to call when the operation is completed. + + @return Boolean value indicating success or failure. + + */ +- (BOOL) unregisterFromShadow:(NSString *)name + completionCallback:(void(^)(void))completionCallback; + /** Update a device shadow diff --git a/AWSIoT/AWSIoTDataManager.m b/AWSIoT/AWSIoTDataManager.m index d76943a636e..b1c8460bed5 100644 --- a/AWSIoT/AWSIoTDataManager.m +++ b/AWSIoT/AWSIoTDataManager.m @@ -19,7 +19,7 @@ #import "AWSSynchronizedMutableDictionary.h" #import "AWSIoTModel.h" #import "AWSCocoaLumberjack.h" - +#import @interface AWSIoTDataShadowModel : AWSMTLModel @@ -912,22 +912,50 @@ - (void)createSubscriptionsForShadow:(AWSIoTDataShadow *)shadow */ - (BOOL)handleSubscriptionsForShadow:(NSString *)name callback:(AWSIoTMQTTExtendedNewMessageBlock)callback { + return [self handleSubscriptionsForShadow:name callback:callback completionHandler:nil]; +} + +/** + Subscribes or unsubscribes from all topics associated with a given shadow, depending on whether a callback is provided or not. + + @param name The name of the shadow + + @param callback The callback to be triggered when messages are sent to the topics associated with the shadow. Set it to `nil` to unsubscribe from all topics. + + @param completionHandler The callback called when the corresponding operation (subscribe or unsuscribe) is completed + + @return Boolean value indicating whether there's a shadow with the given name. + **/ +- (BOOL)handleSubscriptionsForShadow:(NSString *)name + callback:(AWSIoTMQTTExtendedNewMessageBlock)callback + completionHandler:(void(^)(void))completionHandler { BOOL rc = NO; AWSIoTDataShadow *shadow = (AWSIoTDataShadow *)[self.shadows objectForKey:name]; if (shadow != nil) { + __block _Atomic(NSUInteger) remainingTopics = [shadow.topics count]; + AWSIoTMQTTAckBlock ackCallback = NULL; + if (completionHandler) { + ackCallback = ^void { + atomic_fetch_sub(&remainingTopics, 1); + if (remainingTopics == 0) { + completionHandler(); + } + }; + } + for (int i = 0; i < [shadow.topics count]; i++) { if (callback != nil) { if (shadow.enableDebugging == YES) { AWSDDLogInfo(@"subscribing on %@", (NSString *)shadow.topics[i]); } - [self subscribeToTopic:shadow.topics[i] QoS:shadow.qos extendedCallback:callback]; + [self subscribeToTopic:shadow.topics[i] QoS:shadow.qos extendedCallback:callback ackCallback:ackCallback]; } else { if (shadow.enableDebugging == YES) { AWSDDLogInfo(@"unsubscribing from %@", (NSString *)shadow.topics[i]); } - [self unsubscribeTopic:shadow.topics[i]]; + [self unsubscribeTopic:shadow.topics[i] ackCallback:ackCallback]; } } rc = YES; @@ -1208,6 +1236,20 @@ - (BOOL) operationWithShadow:(NSString *)name - (BOOL) registerWithShadow:(NSString *)name options:(NSDictionary *)options eventCallback:(void(^)(NSString *name, AWSIoTShadowOperationType operation, AWSIoTShadowOperationStatusType status, NSString *clientToken, NSData *payload))callback { + return [self registerWithShadow:name options:options eventCallback:callback completionHandler:nil]; +} + +- (BOOL) registerWithShadow:(NSString *)name + options:(NSDictionary *)options + eventCallback:(void(^)(NSString *name, AWSIoTShadowOperationType operation, AWSIoTShadowOperationStatusType status, NSString *clientToken, NSData *payload))callback + completionCallback:(void(^)(void))completionCallback { + return [self registerWithShadow:name options:options eventCallback:callback completionHandler:completionCallback]; +} + +- (BOOL) registerWithShadow:(NSString *)name + options:(NSDictionary *)options + eventCallback:(void(^)(NSString *name, AWSIoTShadowOperationType operation, AWSIoTShadowOperationStatusType status, NSString *clientToken, NSData *payload))callback + completionHandler:(nullable void(^)(void))completionHandler { BOOL rc = YES; AWSIoTDataShadow *shadow = [self.shadows objectForKey:name]; @@ -1291,7 +1333,8 @@ - (BOOL) registerWithShadow:(NSString *)name // Persistently subscribe to the special topics for this shadow. // rc = [self handleSubscriptionsForShadow:shadow.name - callback:shadowMqttMessageHandler]; + callback:shadowMqttMessageHandler + completionHandler:completionHandler]; if( rc == NO ){ AWSDDLogError(@"unable to subscribe to shadow topics for (%@)", name); @@ -1308,13 +1351,23 @@ - (BOOL) registerWithShadow:(NSString *)name } - (BOOL) unregisterFromShadow:(NSString *)name { + return [self unregisterFromShadow:name completionHandler:nil]; +} + +- (BOOL) unregisterFromShadow:(NSString *)name + completionCallback:(void (^)(void))completionCallback { + return [self unregisterFromShadow:name completionHandler:completionCallback]; +} + +- (BOOL) unregisterFromShadow:(NSString *)name + completionHandler:(nullable void (^)(void))completionHandler { BOOL rc = NO; AWSIoTDataShadow *shadow = [self.shadows objectForKey:name]; if (shadow != nil) { // Unsubscribe from all topics associated with this shadow. - rc = [self handleSubscriptionsForShadow:shadow.name callback:nil]; + rc = [self handleSubscriptionsForShadow:shadow.name callback:nil completionHandler:completionHandler]; //invalidate the timer as the shadow is being unregistered. [shadow.timer invalidate]; diff --git a/AWSIoT/AWSIoTDataService.m b/AWSIoT/AWSIoTDataService.m index fccd0a59c89..1f32362c38a 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.36.3"; +NSString *const AWSIoTDataSDKVersion = @"2.36.4"; @interface AWSIoTDataResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/AWSIoTService.m b/AWSIoT/AWSIoTService.m index 30de11ef266..b215e208f4f 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.36.3"; +NSString *const AWSIoTSDKVersion = @"2.36.4"; @interface AWSIoTResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/Info.plist b/AWSIoT/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSIoT/Info.plist +++ b/AWSIoT/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSIoTTests/AWSIoTDataManagerTests.swift b/AWSIoTTests/AWSIoTDataManagerTests.swift index b1e28c1e90c..724edd39f5b 100644 --- a/AWSIoTTests/AWSIoTDataManagerTests.swift +++ b/AWSIoTTests/AWSIoTDataManagerTests.swift @@ -284,6 +284,41 @@ class AWSIoTDataManagerTests: XCTestCase { } + func testRegisterAndUnregisterWithShadow_withCompletionCallbacks_shouldInvokeCallbacks() { + let connectExpectation = expectation(description: "connect expectation") + let iotDataManager = AWSIoTDataManager(forKey: "iot-data-manager-broker1") + iotDataManager.connect( + withClientId: UUID().uuidString, + cleanSession: true, + certificateId: UserDefaults.standard.string(forKey: "TestCertBroker1")!, + statusCallback: { status in + if case .connected = status { + connectExpectation.fulfill() + } + } + ) + wait(for: [connectExpectation], timeout: 30) + + let registerExpectation = expectation(description: "registerWithShadow expectation") + iotDataManager.register( + withShadow: "iot-shadow", + eventCallback: { _, _, _, _, _ in }, + completionCallback: { + registerExpectation.fulfill() + } + ) + wait(for: [registerExpectation], timeout: 5) + + let unregisterExpectation = expectation(description: "unregisterFromShadow expectation") + iotDataManager.unregister( + fromShadow: "iot-shadow", + completionCallback: { + unregisterExpectation.fulfill() + } + ) + wait(for: [unregisterExpectation], timeout: 5) + } + func testPublishWithoutConnect() { let iotDataManager:AWSIoTDataManager = AWSIoTDataManager(forKey: "iot-data-manager-broker-test-without-connect") diff --git a/AWSKMS.podspec b/AWSKMS.podspec index f699c860614..06fc9308b51 100644 --- a/AWSKMS.podspec +++ b/AWSKMS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKMS' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSKMS/*.{h,m}' s.resource_bundle = { 'AWSKMS' => ['AWSKMS/PrivacyInfo.xcprivacy']} end diff --git a/AWSKMS/AWSKMSModel.h b/AWSKMS/AWSKMSModel.h index 51fc8b34cdd..c858b2688af 100644 --- a/AWSKMS/AWSKMSModel.h +++ b/AWSKMS/AWSKMSModel.h @@ -187,6 +187,12 @@ typedef NS_ENUM(NSInteger, AWSKMSGrantOperation) { AWSKMSGrantOperationGenerateDataKeyPairWithoutPlaintext, AWSKMSGrantOperationGenerateMac, AWSKMSGrantOperationVerifyMac, + AWSKMSGrantOperationDeriveSharedSecret, +}; + +typedef NS_ENUM(NSInteger, AWSKMSKeyAgreementAlgorithmSpec) { + AWSKMSKeyAgreementAlgorithmSpecUnknown, + AWSKMSKeyAgreementAlgorithmSpecEcdh, }; typedef NS_ENUM(NSInteger, AWSKMSKeyEncryptionMechanism) { @@ -234,6 +240,7 @@ typedef NS_ENUM(NSInteger, AWSKMSKeyUsageType) { AWSKMSKeyUsageTypeSignVerify, AWSKMSKeyUsageTypeEncryptDecrypt, AWSKMSKeyUsageTypeGenerateVerifyMac, + AWSKMSKeyUsageTypeKeyAgreement, }; typedef NS_ENUM(NSInteger, AWSKMSMacAlgorithmSpec) { @@ -317,6 +324,8 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @class AWSKMSDeleteCustomKeyStoreRequest; @class AWSKMSDeleteCustomKeyStoreResponse; @class AWSKMSDeleteImportedKeyMaterialRequest; +@class AWSKMSDeriveSharedSecretRequest; +@class AWSKMSDeriveSharedSecretResponse; @class AWSKMSDescribeCustomKeyStoresRequest; @class AWSKMSDescribeCustomKeyStoresResponse; @class AWSKMSDescribeKeyRequest; @@ -663,12 +672,12 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in the Key Management Service Developer Guide.

The KeySpec determines whether the KMS key contains a symmetric key or an asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't change the KeySpec after the KMS key is created. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the Key Management Service Developer Guide.

Amazon Web Services services that are integrated with KMS use symmetric encryption KMS keys to protect your data. These services do not support asymmetric KMS keys or HMAC KMS keys.

KMS supports the following key specs for KMS keys:

  • Symmetric encryption key (default)

    • SYMMETRIC_DEFAULT

  • HMAC keys (symmetric)

    • HMAC_224

    • HMAC_256

    • HMAC_384

    • HMAC_512

  • Asymmetric RSA key pairs

    • RSA_2048

    • RSA_3072

    • RSA_4096

  • Asymmetric NIST-recommended elliptic curve key pairs

    • ECC_NIST_P256 (secp256r1)

    • ECC_NIST_P384 (secp384r1)

    • ECC_NIST_P521 (secp521r1)

  • Other asymmetric elliptic curve key pairs

    • ECC_SECG_P256K1 (secp256k1), commonly used for cryptocurrencies.

  • SM2 key pairs (China Regions only)

    • SM2

+

Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in the Key Management Service Developer Guide.

The KeySpec determines whether the KMS key contains a symmetric key or an asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't change the KeySpec after the KMS key is created. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the Key Management Service Developer Guide.

Amazon Web Services services that are integrated with KMS use symmetric encryption KMS keys to protect your data. These services do not support asymmetric KMS keys or HMAC KMS keys.

KMS supports the following key specs for KMS keys:

  • Symmetric encryption key (default)

    • SYMMETRIC_DEFAULT

  • HMAC keys (symmetric)

    • HMAC_224

    • HMAC_256

    • HMAC_384

    • HMAC_512

  • Asymmetric RSA key pairs (encryption and decryption -or- signing and verification)

    • RSA_2048

    • RSA_3072

    • RSA_4096

  • Asymmetric NIST-recommended elliptic curve key pairs (signing and verification -or- deriving shared secrets)

    • ECC_NIST_P256 (secp256r1)

    • ECC_NIST_P384 (secp384r1)

    • ECC_NIST_P521 (secp521r1)

  • Other asymmetric elliptic curve key pairs (signing and verification)

    • ECC_SECG_P256K1 (secp256k1), commonly used for cryptocurrencies.

  • SM2 key pairs (encryption and decryption -or- signing and verification -or- deriving shared secrets)

    • SM2 (China Regions only)

*/ @property (nonatomic, assign) AWSKMSKeySpec keySpec; /** -

Determines the cryptographic operations for which you can use the KMS key. The default value is ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric encryption KMS key; otherwise, it is required. You can't change the KeyUsage value after the KMS key is created.

Select only one valid value.

  • For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT.

  • For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

  • For asymmetric KMS keys with RSA key material, specify ENCRYPT_DECRYPT or SIGN_VERIFY.

  • For asymmetric KMS keys with ECC key material, specify SIGN_VERIFY.

  • For asymmetric KMS keys with SM2 key material (China Regions only), specify ENCRYPT_DECRYPT or SIGN_VERIFY.

+

Determines the cryptographic operations for which you can use the KMS key. The default value is ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric encryption KMS key; otherwise, it is required. You can't change the KeyUsage value after the KMS key is created.

Select only one valid value.

  • For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT.

  • For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

  • For asymmetric KMS keys with RSA key pairs, specify ENCRYPT_DECRYPT or SIGN_VERIFY.

  • For asymmetric KMS keys with NIST-recommended elliptic curve key pairs, specify SIGN_VERIFY or KEY_AGREEMENT.

  • For asymmetric KMS keys with ECC_SECG_P256K1 key pairs specify SIGN_VERIFY.

  • For asymmetric KMS keys with SM2 key pairs (China Regions only), specify ENCRYPT_DECRYPT, SIGN_VERIFY, or KEY_AGREEMENT.

*/ @property (nonatomic, assign) AWSKMSKeyUsageType keyUsage; @@ -883,6 +892,77 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @end +/** + + */ +@interface AWSKMSDeriveSharedSecretRequest : AWSRequest + + +/** +

Checks if your request will succeed. DryRun is an optional parameter.

To learn more about how to use this parameter, see Testing your KMS API calls in the Key Management Service Developer Guide.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +/** +

A list of grant tokens.

Use a grant token when your permission to call this operation comes from a new grant that has not yet achieved eventual consistency. For more information, see Grant token and Using a grant token in the Key Management Service Developer Guide.

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

Specifies the key agreement algorithm used to derive the shared secret. The only valid value is ECDH.

+ */ +@property (nonatomic, assign) AWSKMSKeyAgreementAlgorithmSpec keyAgreementAlgorithm; + +/** +

Identifies an asymmetric NIST-recommended ECC or SM2 (China Regions only) KMS key. KMS uses the private key in the specified key pair to derive the shared secret. The key usage of the KMS key must be KEY_AGREEMENT. To find the KeyUsage of a KMS key, use the DescribeKey operation.

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

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

Specifies the public key in your peer's NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) key pair.

The public key must be a DER-encoded X.509 public key, also known as SubjectPublicKeyInfo (SPKI), as defined in RFC 5280.

GetPublicKey returns the public key of an asymmetric KMS key pair in the required DER-encoded format.

If you use Amazon Web Services CLI version 1, you must provide the DER-encoded X.509 public key in a file. Otherwise, the Amazon Web Services CLI Base64-encodes the public key a second time, resulting in a ValidationException.

You can specify the public key as binary data in a file using fileb (fileb://<path-to-file>) or in-line using a Base64 encoded string.

+ */ +@property (nonatomic, strong) NSData * _Nullable publicKey; + +/** +

A signed attestation document from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The only valid encryption algorithm is RSAES_OAEP_SHA_256.

This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web Services Nitro Enclaves, use the Amazon Web Services Nitro Enclaves SDK to generate the attestation document and then use the Recipient parameter from any Amazon Web Services SDK to provide the attestation document for the enclave.

When you use this parameter, instead of returning a plaintext copy of the shared secret, KMS encrypts the plaintext shared secret under the public key in the attestation document, and returns the resulting ciphertext in the CiphertextForRecipient field in the response. This ciphertext can be decrypted only with the private key in the enclave. The CiphertextBlob field in the response contains the encrypted shared secret derived from the KMS key specified by the KeyId parameter and public key specified by the PublicKey parameter. The SharedSecret field in the response is null or empty.

For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.

+ */ +@property (nonatomic, strong) AWSKMSRecipientInfo * _Nullable recipient; + +@end + +/** + + */ +@interface AWSKMSDeriveSharedSecretResponse : AWSModel + + +/** +

The plaintext shared secret encrypted with the public key in the attestation document.

This field is included in the response only when the Recipient parameter in the request includes a valid attestation document from an Amazon Web Services Nitro enclave. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.

+ */ +@property (nonatomic, strong) NSData * _Nullable ciphertextForRecipient; + +/** +

Identifies the key agreement algorithm used to derive the shared secret.

+ */ +@property (nonatomic, assign) AWSKMSKeyAgreementAlgorithmSpec keyAgreementAlgorithm; + +/** +

Identifies the KMS key used to derive the shared secret.

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

The source of the key material for the specified KMS key.

When this value is AWS_KMS, KMS created the key material. When this value is EXTERNAL, the key material was imported or the KMS key doesn't have any key material.

The only valid values for DeriveSharedSecret are AWS_KMS and EXTERNAL. DeriveSharedSecret does not support KMS keys with a KeyOrigin value of AWS_CLOUDHSM or EXTERNAL_KEY_STORE.

+ */ +@property (nonatomic, assign) AWSKMSOriginType keyOrigin; + +/** +

The raw secret derived from the specified key agreement algorithm, private key in the asymmetric KMS key, and your peer's public key.

If the response includes the CiphertextForRecipient field, the SharedSecret field is null or empty.

+ */ +@property (nonatomic, strong) NSData * _Nullable sharedSecret; + +@end + /** */ @@ -1136,7 +1216,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, assign) AWSKMSDataKeyPairSpec keyPairSpec; /** -

A signed attestation document from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The only valid encryption algorithm is RSAES_OAEP_SHA_256.

This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To include this parameter, use the Amazon Web Services Nitro Enclaves SDK or any Amazon Web Services SDK.

When you use this parameter, instead of returning a plaintext copy of the private data key, KMS encrypts the plaintext private data key under the public key in the attestation document, and returns the resulting ciphertext in the CiphertextForRecipient field in the response. This ciphertext can be decrypted only with the private key in the enclave. The CiphertextBlob field in the response contains a copy of the private data key encrypted under the KMS key specified by the KeyId parameter. The PrivateKeyPlaintext field in the response is null or empty.

For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.

+

A signed attestation document from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The only valid encryption algorithm is RSAES_OAEP_SHA_256.

This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web Services Nitro Enclaves, use the Amazon Web Services Nitro Enclaves SDK to generate the attestation document and then use the Recipient parameter from any Amazon Web Services SDK to provide the attestation document for the enclave.

When you use this parameter, instead of returning a plaintext copy of the private data key, KMS encrypts the plaintext private data key under the public key in the attestation document, and returns the resulting ciphertext in the CiphertextForRecipient field in the response. This ciphertext can be decrypted only with the private key in the enclave. The CiphertextBlob field in the response contains a copy of the private data key encrypted under the KMS key specified by the KeyId parameter. The PrivateKeyPlaintext field in the response is null or empty.

For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.

*/ @property (nonatomic, strong) AWSKMSRecipientInfo * _Nullable recipient; @@ -1559,12 +1639,12 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSString * _Nullable keyId; /** -

The algorithm you will use with the asymmetric public key (PublicKey) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.

For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS. For SM2PKE wrapping algorithms, you encrypt your key material directly with the SM2 public key from KMS.

The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm, except in China Regions, where you must use the SM2PKE wrapping algorithm to import an RSA private key.

The SM2PKE wrapping algorithm is available only in China Regions. The RSA_AES_KEY_WRAP_SHA_256 and RSA_AES_KEY_WRAP_SHA_1 wrapping algorithms are not supported in China Regions.

  • RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.

  • RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.

  • RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.

  • SM2PKE (China Regions only) — supported for wrapping RSA, ECC, and SM2 key material.

+

The algorithm you will use with the RSA public key (PublicKey) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.

For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS.

The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm.

  • RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.

  • RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.

  • RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.

*/ @property (nonatomic, assign) AWSKMSAlgorithmSpec wrappingAlgorithm; /** -

The type of public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.

Use the longest wrapping key that is practical.

You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.

The SM2 wrapping key spec is available only in China Regions.

+

The type of RSA public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.

Use the longest RSA wrapping key that is practical.

You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.

*/ @property (nonatomic, assign) AWSKMSWrappingKeySpec wrappingKeySpec; @@ -1632,6 +1712,11 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { */ @property (nonatomic, strong) NSArray * _Nullable encryptionAlgorithms; +/** +

The key agreement algorithm used to derive a shared secret. This field is present only when the KMS key has a KeyUsage value of KEY_AGREEMENT.

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

The Amazon Resource Name (key ARN) of the asymmetric KMS key from which the public key was downloaded.

*/ @@ -1643,7 +1728,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, assign) AWSKMSKeySpec keySpec; /** -

The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or SIGN_VERIFY.

This information is critical. If a public key with SIGN_VERIFY key usage encrypts data outside of KMS, the ciphertext cannot be decrypted.

+

The permitted use of the public key. Valid values for asymmetric key pairs are ENCRYPT_DECRYPT, SIGN_VERIFY, and KEY_AGREEMENT.

This information is critical. For example, if a public key with SIGN_VERIFY key usage encrypts data outside of KMS, the ciphertext cannot be decrypted.

*/ @property (nonatomic, assign) AWSKMSKeyUsageType keyUsage; @@ -1851,6 +1936,11 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { */ @property (nonatomic, assign) AWSKMSExpirationModelType expirationModel; +/** +

The key agreement algorithm used to derive a shared secret.

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

The globally unique identifier for the KMS key.

*/ diff --git a/AWSKMS/AWSKMSModel.m b/AWSKMS/AWSKMSModel.m index dfa31f0ce52..ca4bc20536b 100644 --- a/AWSKMS/AWSKMSModel.m +++ b/AWSKMS/AWSKMSModel.m @@ -425,6 +425,9 @@ + (NSValueTransformer *)keyUsageJSONTransformer { if ([value caseInsensitiveCompare:@"GENERATE_VERIFY_MAC"] == NSOrderedSame) { return @(AWSKMSKeyUsageTypeGenerateVerifyMac); } + if ([value caseInsensitiveCompare:@"KEY_AGREEMENT"] == NSOrderedSame) { + return @(AWSKMSKeyUsageTypeKeyAgreement); + } return @(AWSKMSKeyUsageTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -434,6 +437,8 @@ + (NSValueTransformer *)keyUsageJSONTransformer { return @"ENCRYPT_DECRYPT"; case AWSKMSKeyUsageTypeGenerateVerifyMac: return @"GENERATE_VERIFY_MAC"; + case AWSKMSKeyUsageTypeKeyAgreement: + return @"KEY_AGREEMENT"; default: return nil; } @@ -840,6 +845,110 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSKMSDeriveSharedSecretRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"grantTokens" : @"GrantTokens", + @"keyAgreementAlgorithm" : @"KeyAgreementAlgorithm", + @"keyId" : @"KeyId", + @"publicKey" : @"PublicKey", + @"recipient" : @"Recipient", + }; +} + ++ (NSValueTransformer *)keyAgreementAlgorithmJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ECDH"] == NSOrderedSame) { + return @(AWSKMSKeyAgreementAlgorithmSpecEcdh); + } + return @(AWSKMSKeyAgreementAlgorithmSpecUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSKMSKeyAgreementAlgorithmSpecEcdh: + return @"ECDH"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)recipientJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSKMSRecipientInfo class]]; +} + +@end + +@implementation AWSKMSDeriveSharedSecretResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"ciphertextForRecipient" : @"CiphertextForRecipient", + @"keyAgreementAlgorithm" : @"KeyAgreementAlgorithm", + @"keyId" : @"KeyId", + @"keyOrigin" : @"KeyOrigin", + @"sharedSecret" : @"SharedSecret", + }; +} + ++ (NSValueTransformer *)keyAgreementAlgorithmJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ECDH"] == NSOrderedSame) { + return @(AWSKMSKeyAgreementAlgorithmSpecEcdh); + } + return @(AWSKMSKeyAgreementAlgorithmSpecUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSKMSKeyAgreementAlgorithmSpecEcdh: + return @"ECDH"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)keyOriginJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"AWS_KMS"] == NSOrderedSame) { + return @(AWSKMSOriginTypeAwsKms); + } + if ([value caseInsensitiveCompare:@"EXTERNAL"] == NSOrderedSame) { + return @(AWSKMSOriginTypeExternal); + } + if ([value caseInsensitiveCompare:@"AWS_CLOUDHSM"] == NSOrderedSame) { + return @(AWSKMSOriginTypeAwsCloudhsm); + } + if ([value caseInsensitiveCompare:@"EXTERNAL_KEY_STORE"] == NSOrderedSame) { + return @(AWSKMSOriginTypeExternalKeyStore); + } + return @(AWSKMSOriginTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSKMSOriginTypeAwsKms: + return @"AWS_KMS"; + case AWSKMSOriginTypeExternal: + return @"EXTERNAL"; + case AWSKMSOriginTypeAwsCloudhsm: + return @"AWS_CLOUDHSM"; + case AWSKMSOriginTypeExternalKeyStore: + return @"EXTERNAL_KEY_STORE"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSKMSDescribeCustomKeyStoresRequest + (BOOL)supportsSecureCoding { @@ -1831,6 +1940,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"customerMasterKeySpec" : @"CustomerMasterKeySpec", @"encryptionAlgorithms" : @"EncryptionAlgorithms", + @"keyAgreementAlgorithms" : @"KeyAgreementAlgorithms", @"keyId" : @"KeyId", @"keySpec" : @"KeySpec", @"keyUsage" : @"KeyUsage", @@ -2002,6 +2112,9 @@ + (NSValueTransformer *)keyUsageJSONTransformer { if ([value caseInsensitiveCompare:@"GENERATE_VERIFY_MAC"] == NSOrderedSame) { return @(AWSKMSKeyUsageTypeGenerateVerifyMac); } + if ([value caseInsensitiveCompare:@"KEY_AGREEMENT"] == NSOrderedSame) { + return @(AWSKMSKeyUsageTypeKeyAgreement); + } return @(AWSKMSKeyUsageTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2011,6 +2124,8 @@ + (NSValueTransformer *)keyUsageJSONTransformer { return @"ENCRYPT_DECRYPT"; case AWSKMSKeyUsageTypeGenerateVerifyMac: return @"GENERATE_VERIFY_MAC"; + case AWSKMSKeyUsageTypeKeyAgreement: + return @"KEY_AGREEMENT"; default: return nil; } @@ -2157,6 +2272,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"enabled" : @"Enabled", @"encryptionAlgorithms" : @"EncryptionAlgorithms", @"expirationModel" : @"ExpirationModel", + @"keyAgreementAlgorithms" : @"KeyAgreementAlgorithms", @"keyId" : @"KeyId", @"keyManager" : @"KeyManager", @"keySpec" : @"KeySpec", @@ -2445,6 +2561,9 @@ + (NSValueTransformer *)keyUsageJSONTransformer { if ([value caseInsensitiveCompare:@"GENERATE_VERIFY_MAC"] == NSOrderedSame) { return @(AWSKMSKeyUsageTypeGenerateVerifyMac); } + if ([value caseInsensitiveCompare:@"KEY_AGREEMENT"] == NSOrderedSame) { + return @(AWSKMSKeyUsageTypeKeyAgreement); + } return @(AWSKMSKeyUsageTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2454,6 +2573,8 @@ + (NSValueTransformer *)keyUsageJSONTransformer { return @"ENCRYPT_DECRYPT"; case AWSKMSKeyUsageTypeGenerateVerifyMac: return @"GENERATE_VERIFY_MAC"; + case AWSKMSKeyUsageTypeKeyAgreement: + return @"KEY_AGREEMENT"; default: return nil; } diff --git a/AWSKMS/AWSKMSResources.m b/AWSKMS/AWSKMSResources.m index 1a79a897f84..068a19629d9 100644 --- a/AWSKMS/AWSKMSResources.m +++ b/AWSKMS/AWSKMSResources.m @@ -69,7 +69,8 @@ - (NSString *)definitionString { \"serviceId\":\"KMS\",\ \"signatureVersion\":\"v4\",\ \"targetPrefix\":\"TrentService\",\ - \"uid\":\"kms-2014-11-01\"\ + \"uid\":\"kms-2014-11-01\",\ + \"auth\":[\"aws.auth#sigv4\"]\ },\ \"operations\":{\ \"CancelKeyDeletion\":{\ @@ -197,7 +198,7 @@ - (NSString *)definitionString { {\"shape\":\"XksKeyAlreadyInUseException\"},\ {\"shape\":\"XksKeyNotFoundException\"}\ ],\ - \"documentation\":\"

Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.

A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide

Use the parameters of CreateKey to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.

KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

To create different types of KMS keys, use the following guidance:

Symmetric encryption KMS key

By default, CreateKey creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.

To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec, SYMMETRIC_DEFAULT, the default value for KeyUsage, ENCRYPT_DECRYPT, and the default value for Origin, AWS_KMS, create a symmetric encryption KMS key with KMS key material.

If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

Asymmetric KMS keys

To create an asymmetric KMS key, use the KeySpec parameter to specify the type of key material in the KMS key. Then, use the KeyUsage parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.

Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. KMS keys with RSA or SM2 key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). KMS keys with ECC key pairs can be used only to sign and verify messages. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

HMAC KMS key

To create an HMAC KMS key, set the KeySpec parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage parameter to GENERATE_VERIFY_MAC. You must set the key usage even though GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

Multi-Region primary keys
Imported key material

To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion parameter with a value of True. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.

You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.

This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide .

You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.

To create a multi-Region primary key with imported key material, use the Origin parameter of CreateKey with a value of EXTERNAL and the MultiRegion parameter with a value of True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

Custom key store

A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.

KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

Before you create a KMS key in a custom key store, the ConnectionState of the key store must be CONNECTED. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState, use the DescribeCustomKeyStores operation.

To create a KMS key in a custom key store, use the CustomKeyStoreId. Use the default KeySpec value, SYMMETRIC_DEFAULT, and the default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric encryption key. No other key type is supported in a custom key store.

To create a KMS key in an CloudHSM key store, use the Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.

To create a KMS key in an external key store, use the Origin parameter with a value of EXTERNAL_KEY_STORE and an XksKeyId parameter that identifies an existing external key.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

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

Required permissions: kms:CreateKey (IAM policy). To use the Tags parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.

Related operations:

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

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

Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.

A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide

Use the parameters of CreateKey to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.

KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

To create different types of KMS keys, use the following guidance:

Symmetric encryption KMS key

By default, CreateKey creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.

To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec, SYMMETRIC_DEFAULT, the default value for KeyUsage, ENCRYPT_DECRYPT, and the default value for Origin, AWS_KMS, create a symmetric encryption KMS key with KMS key material.

If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

Asymmetric KMS keys

To create an asymmetric KMS key, use the KeySpec parameter to specify the type of key material in the KMS key. Then, use the KeyUsage parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.

Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. Each KMS key can have only one key usage. KMS keys with RSA key pairs can be used to encrypt and decrypt data or sign and verify messages (but not both). KMS keys with NIST-recommended ECC key pairs can be used to sign and verify messages or derive shared secrets (but not both). KMS keys with ECC_SECG_P256K1 can be used only to sign and verify messages. KMS keys with SM2 key pairs (China Regions only) can be used to either encrypt and decrypt data, sign and verify messages, or derive shared secrets (you must choose one key usage type). For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

HMAC KMS key

To create an HMAC KMS key, set the KeySpec parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage parameter to GENERATE_VERIFY_MAC. You must set the key usage even though GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

Multi-Region primary keys
Imported key material

To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion parameter with a value of True. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.

You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.

This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide .

You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.

To create a multi-Region primary key with imported key material, use the Origin parameter of CreateKey with a value of EXTERNAL and the MultiRegion parameter with a value of True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

Custom key store

A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.

KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

Before you create a KMS key in a custom key store, the ConnectionState of the key store must be CONNECTED. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState, use the DescribeCustomKeyStores operation.

To create a KMS key in a custom key store, use the CustomKeyStoreId. Use the default KeySpec value, SYMMETRIC_DEFAULT, and the default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric encryption key. No other key type is supported in a custom key store.

To create a KMS key in an CloudHSM key store, use the Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.

To create a KMS key in an external key store, use the Origin parameter with a value of EXTERNAL_KEY_STORE and an XksKeyId parameter that identifies an existing external key.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

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

Required permissions: kms:CreateKey (IAM policy). To use the Tags parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.

Related operations:

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

\"\ },\ \"Decrypt\":{\ \"name\":\"Decrypt\",\ @@ -270,6 +271,27 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Deletes key material that was previously imported. This operation makes the specified KMS key temporarily unusable. To restore the usability of the KMS key, reimport the same key material. For more information about importing key material into KMS, see Importing Key Material in the Key Management Service Developer Guide.

When the specified KMS key is in the PendingDeletion state, this operation does not change the KMS key's state. Otherwise, it changes the KMS key's state to PendingImport.

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:DeleteImportedKeyMaterial (key policy)

Related operations:

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

\"\ },\ + \"DeriveSharedSecret\":{\ + \"name\":\"DeriveSharedSecret\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DeriveSharedSecretRequest\"},\ + \"output\":{\"shape\":\"DeriveSharedSecretResponse\"},\ + \"errors\":[\ + {\"shape\":\"NotFoundException\"},\ + {\"shape\":\"DisabledException\"},\ + {\"shape\":\"KeyUnavailableException\"},\ + {\"shape\":\"DependencyTimeoutException\"},\ + {\"shape\":\"InvalidGrantTokenException\"},\ + {\"shape\":\"InvalidKeyUsageException\"},\ + {\"shape\":\"KMSInternalException\"},\ + {\"shape\":\"KMSInvalidStateException\"},\ + {\"shape\":\"DryRunOperationException\"}\ + ],\ + \"documentation\":\"

Derives a shared secret using a key agreement algorithm.

You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) KMS key pair with a KeyUsage value of KEY_AGREEMENT to call DeriveSharedSecret.

DeriveSharedSecret uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH) to establish a key agreement between two peers by deriving a shared secret from their elliptic curve public-private key pairs. You can use the raw shared secret that DeriveSharedSecret returns to derive a symmetric key that can encrypt and decrypt data that is sent between the two peers, or that can generate and verify HMACs. KMS recommends that you follow NIST recommendations for key derivation when using the raw shared secret to derive a symmetric key.

The following workflow demonstrates how to establish key agreement over an insecure communication channel using DeriveSharedSecret.

  1. Alice calls CreateKey to create an asymmetric KMS key pair with a KeyUsage value of KEY_AGREEMENT.

    The asymmetric KMS key must use a NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) key spec.

  2. Bob creates an elliptic curve key pair.

    Bob can call CreateKey to create an asymmetric KMS key pair or generate a key pair outside of KMS. Bob's key pair must use the same NIST-recommended elliptic curve (ECC) or SM2 (China Regions ony) curve as Alice.

  3. Alice and Bob exchange their public keys through an insecure communication channel (like the internet).

    Use GetPublicKey to download the public key of your asymmetric KMS key pair.

    KMS strongly recommends verifying that the public key you receive came from the expected party before using it to derive a shared secret.

  4. Alice calls DeriveSharedSecret.

    KMS uses the private key from the KMS key pair generated in Step 1, Bob's public key, and the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive to derive the shared secret. The private key in your KMS key pair never leaves KMS unencrypted. DeriveSharedSecret returns the raw shared secret.

  5. Bob uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive to calculate the same raw secret using his private key and Alice's public key.

To derive a shared secret you must provide a key agreement algorithm, the private key of the caller's asymmetric NIST-recommended elliptic curve or SM2 (China Regions only) KMS key pair, and the public key from your peer's NIST-recommended elliptic curve or SM2 (China Regions only) key pair. The public key can be from another asymmetric KMS key pair or from a key pair generated outside of KMS, but both key pairs must be on the same elliptic curve.

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: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Required permissions: kms:DeriveSharedSecret (key policy)

Related operations:

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

\"\ + },\ \"DescribeCustomKeyStores\":{\ \"name\":\"DescribeCustomKeyStores\",\ \"http\":{\ @@ -580,7 +602,7 @@ - (NSString *)definitionString { {\"shape\":\"KMSInternalException\"},\ {\"shape\":\"KMSInvalidStateException\"}\ ],\ - \"documentation\":\"

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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.

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or \\\"wrapping key\\\") of an asymmetric key pair that KMS generates.

    You will use this public key to encrypt (\\\"wrap\\\") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key (\\\"wrapping key\\\") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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:GetParametersForImport (key policy)

Related operations:

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

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

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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.

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or \\\"wrapping key\\\") of an RSA key pair that KMS generates.

    You will use this public key to encrypt (\\\"wrap\\\") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key (\\\"wrapping key\\\") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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:GetParametersForImport (key policy)

Related operations:

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

\"\ },\ \"GetPublicKey\":{\ \"name\":\"GetPublicKey\",\ @@ -602,7 +624,7 @@ - (NSString *)definitionString { {\"shape\":\"KMSInternalException\"},\ {\"shape\":\"KMSInvalidStateException\"}\ ],\ - \"documentation\":\"

Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey permission can download the public key of an asymmetric KMS key. You can share the public key to allow others to encrypt messages and verify signatures outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

You do not need to download the public key. Instead, you can use the public key within KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the public key within KMS, you benefit from the authentication, authorization, and logging that are part of every KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of KMS.

To help you use the public key safely outside of KMS, GetPublicKey returns important information about the public key in the response, including:

  • KeySpec: The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521.

  • KeyUsage: Whether the key is used for encryption or signing.

  • EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key.

Although KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.

To verify a signature outside of KMS with an SM2 public key (China Regions only), you must specify the distinguishing ID. By default, KMS uses 1234567812345678 as the distinguishing ID. For more information, see Offline verification with SM2 key pairs.

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: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Required permissions: kms:GetPublicKey (key policy)

Related operations: CreateKey

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

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

Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey permission can download the public key of an asymmetric KMS key. You can share the public key to allow others to encrypt messages and verify signatures outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

You do not need to download the public key. Instead, you can use the public key within KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the public key within KMS, you benefit from the authentication, authorization, and logging that are part of every KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of KMS.

To help you use the public key safely outside of KMS, GetPublicKey returns important information about the public key in the response, including:

  • KeySpec: The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521.

  • KeyUsage: Whether the key is used for encryption, signing, or deriving a shared secret.

  • EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key.

Although KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.

To verify a signature outside of KMS with an SM2 public key (China Regions only), you must specify the distinguishing ID. By default, KMS uses 1234567812345678 as the distinguishing ID. For more information, see Offline verification with SM2 key pairs.

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: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Required permissions: kms:GetPublicKey (key policy)

Related operations: CreateKey

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

\"\ },\ \"ImportKeyMaterial\":{\ \"name\":\"ImportKeyMaterial\",\ @@ -1394,7 +1416,7 @@ - (NSString *)definitionString { },\ \"KeyUsage\":{\ \"shape\":\"KeyUsageType\",\ - \"documentation\":\"

Determines the cryptographic operations for which you can use the KMS key. The default value is ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric encryption KMS key; otherwise, it is required. You can't change the KeyUsage value after the KMS key is created.

Select only one valid value.

  • For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT.

  • For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

  • For asymmetric KMS keys with RSA key material, specify ENCRYPT_DECRYPT or SIGN_VERIFY.

  • For asymmetric KMS keys with ECC key material, specify SIGN_VERIFY.

  • For asymmetric KMS keys with SM2 key material (China Regions only), specify ENCRYPT_DECRYPT or SIGN_VERIFY.

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

Determines the cryptographic operations for which you can use the KMS key. The default value is ENCRYPT_DECRYPT. This parameter is optional when you are creating a symmetric encryption KMS key; otherwise, it is required. You can't change the KeyUsage value after the KMS key is created.

Select only one valid value.

  • For symmetric encryption KMS keys, omit the parameter or specify ENCRYPT_DECRYPT.

  • For HMAC KMS keys (symmetric), specify GENERATE_VERIFY_MAC.

  • For asymmetric KMS keys with RSA key pairs, specify ENCRYPT_DECRYPT or SIGN_VERIFY.

  • For asymmetric KMS keys with NIST-recommended elliptic curve key pairs, specify SIGN_VERIFY or KEY_AGREEMENT.

  • For asymmetric KMS keys with ECC_SECG_P256K1 key pairs specify SIGN_VERIFY.

  • For asymmetric KMS keys with SM2 key pairs (China Regions only), specify ENCRYPT_DECRYPT, SIGN_VERIFY, or KEY_AGREEMENT.

\"\ },\ \"CustomerMasterKeySpec\":{\ \"shape\":\"CustomerMasterKeySpec\",\ @@ -1404,7 +1426,7 @@ - (NSString *)definitionString { },\ \"KeySpec\":{\ \"shape\":\"KeySpec\",\ - \"documentation\":\"

Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in the Key Management Service Developer Guide .

The KeySpec determines whether the KMS key contains a symmetric key or an asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't change the KeySpec after the KMS key is created. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the Key Management Service Developer Guide .

Amazon Web Services services that are integrated with KMS use symmetric encryption KMS keys to protect your data. These services do not support asymmetric KMS keys or HMAC KMS keys.

KMS supports the following key specs for KMS keys:

  • Symmetric encryption key (default)

    • SYMMETRIC_DEFAULT

  • HMAC keys (symmetric)

    • HMAC_224

    • HMAC_256

    • HMAC_384

    • HMAC_512

  • Asymmetric RSA key pairs

    • RSA_2048

    • RSA_3072

    • RSA_4096

  • Asymmetric NIST-recommended elliptic curve key pairs

    • ECC_NIST_P256 (secp256r1)

    • ECC_NIST_P384 (secp384r1)

    • ECC_NIST_P521 (secp521r1)

  • Other asymmetric elliptic curve key pairs

    • ECC_SECG_P256K1 (secp256k1), commonly used for cryptocurrencies.

  • SM2 key pairs (China Regions only)

    • SM2

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

Specifies the type of KMS key to create. The default value, SYMMETRIC_DEFAULT, creates a KMS key with a 256-bit AES-GCM key that is used for encryption and decryption, except in China Regions, where it creates a 128-bit symmetric key that uses SM4 encryption. For help choosing a key spec for your KMS key, see Choosing a KMS key type in the Key Management Service Developer Guide .

The KeySpec determines whether the KMS key contains a symmetric key or an asymmetric key pair. It also determines the algorithms that the KMS key supports. You can't change the KeySpec after the KMS key is created. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm, kms:MacAlgorithm or kms:Signing Algorithm in the Key Management Service Developer Guide .

Amazon Web Services services that are integrated with KMS use symmetric encryption KMS keys to protect your data. These services do not support asymmetric KMS keys or HMAC KMS keys.

KMS supports the following key specs for KMS keys:

  • Symmetric encryption key (default)

    • SYMMETRIC_DEFAULT

  • HMAC keys (symmetric)

    • HMAC_224

    • HMAC_256

    • HMAC_384

    • HMAC_512

  • Asymmetric RSA key pairs (encryption and decryption -or- signing and verification)

    • RSA_2048

    • RSA_3072

    • RSA_4096

  • Asymmetric NIST-recommended elliptic curve key pairs (signing and verification -or- deriving shared secrets)

    • ECC_NIST_P256 (secp256r1)

    • ECC_NIST_P384 (secp384r1)

    • ECC_NIST_P521 (secp521r1)

  • Other asymmetric elliptic curve key pairs (signing and verification)

    • ECC_SECG_P256K1 (secp256k1), commonly used for cryptocurrencies.

  • SM2 key pairs (encryption and decryption -or- signing and verification -or- deriving shared secrets)

    • SM2 (China Regions only)

\"\ },\ \"Origin\":{\ \"shape\":\"OriginType\",\ @@ -1676,6 +1698,65 @@ - (NSString *)definitionString { \"exception\":true,\ \"fault\":true\ },\ + \"DeriveSharedSecretRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"KeyId\",\ + \"KeyAgreementAlgorithm\",\ + \"PublicKey\"\ + ],\ + \"members\":{\ + \"KeyId\":{\ + \"shape\":\"KeyIdType\",\ + \"documentation\":\"

Identifies an asymmetric NIST-recommended ECC or SM2 (China Regions only) KMS key. KMS uses the private key in the specified key pair to derive the shared secret. The key usage of the KMS key must be KEY_AGREEMENT. To find the KeyUsage of a KMS key, use the DescribeKey operation.

To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with \\\"alias/\\\". To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

\"\ + },\ + \"KeyAgreementAlgorithm\":{\ + \"shape\":\"KeyAgreementAlgorithmSpec\",\ + \"documentation\":\"

Specifies the key agreement algorithm used to derive the shared secret. The only valid value is ECDH.

\"\ + },\ + \"PublicKey\":{\ + \"shape\":\"PublicKeyType\",\ + \"documentation\":\"

Specifies the public key in your peer's NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) key pair.

The public key must be a DER-encoded X.509 public key, also known as SubjectPublicKeyInfo (SPKI), as defined in RFC 5280.

GetPublicKey returns the public key of an asymmetric KMS key pair in the required DER-encoded format.

If you use Amazon Web Services CLI version 1, you must provide the DER-encoded X.509 public key in a file. Otherwise, the Amazon Web Services CLI Base64-encodes the public key a second time, resulting in a ValidationException.

You can specify the public key as binary data in a file using fileb (fileb://<path-to-file>) or in-line using a Base64 encoded string.

\"\ + },\ + \"GrantTokens\":{\ + \"shape\":\"GrantTokenList\",\ + \"documentation\":\"

A list of grant tokens.

Use a grant token when your permission to call this operation comes from a new grant that has not yet achieved eventual consistency. For more information, see Grant token and Using a grant token in the Key Management Service Developer Guide.

\"\ + },\ + \"DryRun\":{\ + \"shape\":\"NullableBooleanType\",\ + \"documentation\":\"

Checks if your request will succeed. DryRun is an optional parameter.

To learn more about how to use this parameter, see Testing your KMS API calls in the Key Management Service Developer Guide.

\"\ + },\ + \"Recipient\":{\ + \"shape\":\"RecipientInfo\",\ + \"documentation\":\"

A signed attestation document from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The only valid encryption algorithm is RSAES_OAEP_SHA_256.

This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web Services Nitro Enclaves, use the Amazon Web Services Nitro Enclaves SDK to generate the attestation document and then use the Recipient parameter from any Amazon Web Services SDK to provide the attestation document for the enclave.

When you use this parameter, instead of returning a plaintext copy of the shared secret, KMS encrypts the plaintext shared secret under the public key in the attestation document, and returns the resulting ciphertext in the CiphertextForRecipient field in the response. This ciphertext can be decrypted only with the private key in the enclave. The CiphertextBlob field in the response contains the encrypted shared secret derived from the KMS key specified by the KeyId parameter and public key specified by the PublicKey parameter. The SharedSecret field in the response is null or empty.

For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.

\"\ + }\ + }\ + },\ + \"DeriveSharedSecretResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"KeyId\":{\ + \"shape\":\"KeyIdType\",\ + \"documentation\":\"

Identifies the KMS key used to derive the shared secret.

\"\ + },\ + \"SharedSecret\":{\ + \"shape\":\"PlaintextType\",\ + \"documentation\":\"

The raw secret derived from the specified key agreement algorithm, private key in the asymmetric KMS key, and your peer's public key.

If the response includes the CiphertextForRecipient field, the SharedSecret field is null or empty.

\"\ + },\ + \"CiphertextForRecipient\":{\ + \"shape\":\"CiphertextType\",\ + \"documentation\":\"

The plaintext shared secret encrypted with the public key in the attestation document.

This field is included in the response only when the Recipient parameter in the request includes a valid attestation document from an Amazon Web Services Nitro enclave. For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.

\"\ + },\ + \"KeyAgreementAlgorithm\":{\ + \"shape\":\"KeyAgreementAlgorithmSpec\",\ + \"documentation\":\"

Identifies the key agreement algorithm used to derive the shared secret.

\"\ + },\ + \"KeyOrigin\":{\ + \"shape\":\"OriginType\",\ + \"documentation\":\"

The source of the key material for the specified KMS key.

When this value is AWS_KMS, KMS created the key material. When this value is EXTERNAL, the key material was imported or the KMS key doesn't have any key material.

The only valid values for DeriveSharedSecret are AWS_KMS and EXTERNAL. DeriveSharedSecret does not support KMS keys with a KeyOrigin value of AWS_CLOUDHSM or EXTERNAL_KEY_STORE.

\"\ + }\ + }\ + },\ \"DescribeCustomKeyStoresRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -1928,7 +2009,7 @@ - (NSString *)definitionString { },\ \"Recipient\":{\ \"shape\":\"RecipientInfo\",\ - \"documentation\":\"

A signed attestation document from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The only valid encryption algorithm is RSAES_OAEP_SHA_256.

This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To include this parameter, use the Amazon Web Services Nitro Enclaves SDK or any Amazon Web Services SDK.

When you use this parameter, instead of returning a plaintext copy of the private data key, KMS encrypts the plaintext private data key under the public key in the attestation document, and returns the resulting ciphertext in the CiphertextForRecipient field in the response. This ciphertext can be decrypted only with the private key in the enclave. The CiphertextBlob field in the response contains a copy of the private data key encrypted under the KMS key specified by the KeyId parameter. The PrivateKeyPlaintext field in the response is null or empty.

For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.

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

A signed attestation document from an Amazon Web Services Nitro enclave and the encryption algorithm to use with the enclave's public key. The only valid encryption algorithm is RSAES_OAEP_SHA_256.

This parameter only supports attestation documents for Amazon Web Services Nitro Enclaves. To call DeriveSharedSecret for an Amazon Web Services Nitro Enclaves, use the Amazon Web Services Nitro Enclaves SDK to generate the attestation document and then use the Recipient parameter from any Amazon Web Services SDK to provide the attestation document for the enclave.

When you use this parameter, instead of returning a plaintext copy of the private data key, KMS encrypts the plaintext private data key under the public key in the attestation document, and returns the resulting ciphertext in the CiphertextForRecipient field in the response. This ciphertext can be decrypted only with the private key in the enclave. The CiphertextBlob field in the response contains a copy of the private data key encrypted under the KMS key specified by the KeyId parameter. The PrivateKeyPlaintext field in the response is null or empty.

For information about the interaction between KMS and Amazon Web Services Nitro Enclaves, see How Amazon Web Services Nitro Enclaves uses KMS in the Key Management Service Developer Guide.

\"\ },\ \"DryRun\":{\ \"shape\":\"NullableBooleanType\",\ @@ -2266,11 +2347,11 @@ - (NSString *)definitionString { },\ \"WrappingAlgorithm\":{\ \"shape\":\"AlgorithmSpec\",\ - \"documentation\":\"

The algorithm you will use with the asymmetric public key (PublicKey) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.

For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS. For SM2PKE wrapping algorithms, you encrypt your key material directly with the SM2 public key from KMS.

The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm, except in China Regions, where you must use the SM2PKE wrapping algorithm to import an RSA private key.

The SM2PKE wrapping algorithm is available only in China Regions. The RSA_AES_KEY_WRAP_SHA_256 and RSA_AES_KEY_WRAP_SHA_1 wrapping algorithms are not supported in China Regions.

  • RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.

  • RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.

  • RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.

  • SM2PKE (China Regions only) — supported for wrapping RSA, ECC, and SM2 key material.

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

The algorithm you will use with the RSA public key (PublicKey) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.

For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS.

The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm.

  • RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.

  • RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.

  • RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.

\"\ },\ \"WrappingKeySpec\":{\ \"shape\":\"WrappingKeySpec\",\ - \"documentation\":\"

The type of public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.

Use the longest wrapping key that is practical.

You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.

The SM2 wrapping key spec is available only in China Regions.

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

The type of RSA public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.

Use the longest RSA wrapping key that is practical.

You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.

\"\ }\ }\ },\ @@ -2332,7 +2413,7 @@ - (NSString *)definitionString { },\ \"KeyUsage\":{\ \"shape\":\"KeyUsageType\",\ - \"documentation\":\"

The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or SIGN_VERIFY.

This information is critical. If a public key with SIGN_VERIFY key usage encrypts data outside of KMS, the ciphertext cannot be decrypted.

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

The permitted use of the public key. Valid values for asymmetric key pairs are ENCRYPT_DECRYPT, SIGN_VERIFY, and KEY_AGREEMENT.

This information is critical. For example, if a public key with SIGN_VERIFY key usage encrypts data outside of KMS, the ciphertext cannot be decrypted.

\"\ },\ \"EncryptionAlgorithms\":{\ \"shape\":\"EncryptionAlgorithmSpecList\",\ @@ -2341,6 +2422,10 @@ - (NSString *)definitionString { \"SigningAlgorithms\":{\ \"shape\":\"SigningAlgorithmSpecList\",\ \"documentation\":\"

The signing algorithms that KMS supports for this key.

This field appears in the response only when the KeyUsage of the public key is SIGN_VERIFY.

\"\ + },\ + \"KeyAgreementAlgorithms\":{\ + \"shape\":\"KeyAgreementAlgorithmSpecList\",\ + \"documentation\":\"

The key agreement algorithm used to derive a shared secret. This field is present only when the KMS key has a KeyUsage value of KEY_AGREEMENT.

\"\ }\ }\ },\ @@ -2433,7 +2518,8 @@ - (NSString *)definitionString { \"GenerateDataKeyPair\",\ \"GenerateDataKeyPairWithoutPlaintext\",\ \"GenerateMac\",\ - \"VerifyMac\"\ + \"VerifyMac\",\ + \"DeriveSharedSecret\"\ ]\ },\ \"GrantOperationList\":{\ @@ -2563,7 +2649,7 @@ - (NSString *)definitionString { \"members\":{\ \"message\":{\"shape\":\"ErrorMessageType\"}\ },\ - \"documentation\":\"

The request was rejected for one of the following reasons:

  • The KeyUsage value of the KMS key is incompatible with the API operation.

  • The encryption algorithm or signing algorithm specified for the operation is incompatible with the type of key material in the KMS key (KeySpec).

For encrypting, decrypting, re-encrypting, and generating data keys, the KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying messages, the KeyUsage must be SIGN_VERIFY. For generating and verifying message authentication codes (MACs), the KeyUsage must be GENERATE_VERIFY_MAC. To find the KeyUsage of a KMS key, use the DescribeKey operation.

To find the encryption or signing algorithms supported for a particular KMS key, use the DescribeKey operation.

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

The request was rejected for one of the following reasons:

  • The KeyUsage value of the KMS key is incompatible with the API operation.

  • The encryption algorithm or signing algorithm specified for the operation is incompatible with the type of key material in the KMS key (KeySpec).

For encrypting, decrypting, re-encrypting, and generating data keys, the KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying messages, the KeyUsage must be SIGN_VERIFY. For generating and verifying message authentication codes (MACs), the KeyUsage must be GENERATE_VERIFY_MAC. For deriving key agreement secrets, the KeyUsage must be KEY_AGREEMENT. To find the KeyUsage of a KMS key, use the DescribeKey operation.

To find the encryption or signing algorithms supported for a particular KMS key, use the DescribeKey operation.

\",\ \"exception\":true\ },\ \"InvalidMarkerException\":{\ @@ -2607,6 +2693,14 @@ - (NSString *)definitionString { \"documentation\":\"

The request was rejected because the state of the specified resource is not valid for this request.

This exceptions means one of the following:

  • The key state of the KMS key is not compatible with the operation.

    To find the key state, use the DescribeKey operation. For more information about which key states are compatible with each KMS operation, see Key states of KMS keys in the Key Management Service Developer Guide .

  • For cryptographic operations on KMS keys in custom key stores, this exception represents a general failure with many possible causes. To identify the cause, see the error message that accompanies the exception.

\",\ \"exception\":true\ },\ + \"KeyAgreementAlgorithmSpec\":{\ + \"type\":\"string\",\ + \"enum\":[\"ECDH\"]\ + },\ + \"KeyAgreementAlgorithmSpecList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"KeyAgreementAlgorithmSpec\"}\ + },\ \"KeyEncryptionMechanism\":{\ \"type\":\"string\",\ \"enum\":[\"RSAES_OAEP_SHA_256\"]\ @@ -2723,6 +2817,10 @@ - (NSString *)definitionString { \"shape\":\"SigningAlgorithmSpecList\",\ \"documentation\":\"

The signing algorithms that the KMS key supports. You cannot use the KMS key with other signing algorithms within KMS.

This field appears only when the KeyUsage of the KMS key is SIGN_VERIFY.

\"\ },\ + \"KeyAgreementAlgorithms\":{\ + \"shape\":\"KeyAgreementAlgorithmSpecList\",\ + \"documentation\":\"

The key agreement algorithm used to derive a shared secret.

\"\ + },\ \"MultiRegion\":{\ \"shape\":\"NullableBooleanType\",\ \"documentation\":\"

Indicates whether the KMS key is a multi-Region (True) or regional (False) key. This value is True for multi-Region primary and replica keys and False for regional KMS keys.

For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

\"\ @@ -2797,7 +2895,8 @@ - (NSString *)definitionString { \"enum\":[\ \"SIGN_VERIFY\",\ \"ENCRYPT_DECRYPT\",\ - \"GENERATE_VERIFY_MAC\"\ + \"GENERATE_VERIFY_MAC\",\ + \"KEY_AGREEMENT\"\ ]\ },\ \"LimitExceededException\":{\ diff --git a/AWSKMS/AWSKMSService.h b/AWSKMS/AWSKMSService.h index 5cea6a0d38b..4af28b670ca 100644 --- a/AWSKMS/AWSKMSService.h +++ b/AWSKMS/AWSKMSService.h @@ -297,7 +297,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (void)createGrant:(AWSKMSCreateGrantRequest *)request completionHandler:(void (^ _Nullable)(AWSKMSCreateGrantResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.

A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide

Use the parameters of CreateKey to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.

KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

To create different types of KMS keys, use the following guidance:

Symmetric encryption KMS key

By default, CreateKey creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.

To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec, SYMMETRIC_DEFAULT, the default value for KeyUsage, ENCRYPT_DECRYPT, and the default value for Origin, AWS_KMS, create a symmetric encryption KMS key with KMS key material.

If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

Asymmetric KMS keys

To create an asymmetric KMS key, use the KeySpec parameter to specify the type of key material in the KMS key. Then, use the KeyUsage parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.

Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. KMS keys with RSA or SM2 key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). KMS keys with ECC key pairs can be used only to sign and verify messages. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

HMAC KMS key

To create an HMAC KMS key, set the KeySpec parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage parameter to GENERATE_VERIFY_MAC. You must set the key usage even though GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

Multi-Region primary keys
Imported key material

To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion parameter with a value of True. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.

You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.

This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide.

You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.

To create a multi-Region primary key with imported key material, use the Origin parameter of CreateKey with a value of EXTERNAL and the MultiRegion parameter with a value of True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

Custom key store

A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.

KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

Before you create a KMS key in a custom key store, the ConnectionState of the key store must be CONNECTED. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState, use the DescribeCustomKeyStores operation.

To create a KMS key in a custom key store, use the CustomKeyStoreId. Use the default KeySpec value, SYMMETRIC_DEFAULT, and the default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric encryption key. No other key type is supported in a custom key store.

To create a KMS key in an CloudHSM key store, use the Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.

To create a KMS key in an external key store, use the Origin parameter with a value of EXTERNAL_KEY_STORE and an XksKeyId parameter that identifies an existing external key.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

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

Required permissions: kms:CreateKey (IAM policy). To use the Tags parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.

Related operations:

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

+

Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.

A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide

Use the parameters of CreateKey to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.

KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

To create different types of KMS keys, use the following guidance:

Symmetric encryption KMS key

By default, CreateKey creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.

To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec, SYMMETRIC_DEFAULT, the default value for KeyUsage, ENCRYPT_DECRYPT, and the default value for Origin, AWS_KMS, create a symmetric encryption KMS key with KMS key material.

If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

Asymmetric KMS keys

To create an asymmetric KMS key, use the KeySpec parameter to specify the type of key material in the KMS key. Then, use the KeyUsage parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.

Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. Each KMS key can have only one key usage. KMS keys with RSA key pairs can be used to encrypt and decrypt data or sign and verify messages (but not both). KMS keys with NIST-recommended ECC key pairs can be used to sign and verify messages or derive shared secrets (but not both). KMS keys with ECC_SECG_P256K1 can be used only to sign and verify messages. KMS keys with SM2 key pairs (China Regions only) can be used to either encrypt and decrypt data, sign and verify messages, or derive shared secrets (you must choose one key usage type). For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

HMAC KMS key

To create an HMAC KMS key, set the KeySpec parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage parameter to GENERATE_VERIFY_MAC. You must set the key usage even though GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

Multi-Region primary keys
Imported key material

To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion parameter with a value of True. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.

You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.

This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide.

You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.

To create a multi-Region primary key with imported key material, use the Origin parameter of CreateKey with a value of EXTERNAL and the MultiRegion parameter with a value of True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

Custom key store

A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.

KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

Before you create a KMS key in a custom key store, the ConnectionState of the key store must be CONNECTED. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState, use the DescribeCustomKeyStores operation.

To create a KMS key in a custom key store, use the CustomKeyStoreId. Use the default KeySpec value, SYMMETRIC_DEFAULT, and the default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric encryption key. No other key type is supported in a custom key store.

To create a KMS key in an CloudHSM key store, use the Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.

To create a KMS key in an external key store, use the Origin parameter with a value of EXTERNAL_KEY_STORE and an XksKeyId parameter that identifies an existing external key.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

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

Required permissions: kms:CreateKey (IAM policy). To use the Tags parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.

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 CreateKey service method. @@ -309,7 +309,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (AWSTask *)createKey:(AWSKMSCreateKeyRequest *)request; /** -

Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.

A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide

Use the parameters of CreateKey to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.

KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

To create different types of KMS keys, use the following guidance:

Symmetric encryption KMS key

By default, CreateKey creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.

To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec, SYMMETRIC_DEFAULT, the default value for KeyUsage, ENCRYPT_DECRYPT, and the default value for Origin, AWS_KMS, create a symmetric encryption KMS key with KMS key material.

If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

Asymmetric KMS keys

To create an asymmetric KMS key, use the KeySpec parameter to specify the type of key material in the KMS key. Then, use the KeyUsage parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.

Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. KMS keys with RSA or SM2 key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). KMS keys with ECC key pairs can be used only to sign and verify messages. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

HMAC KMS key

To create an HMAC KMS key, set the KeySpec parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage parameter to GENERATE_VERIFY_MAC. You must set the key usage even though GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

Multi-Region primary keys
Imported key material

To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion parameter with a value of True. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.

You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.

This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide.

You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.

To create a multi-Region primary key with imported key material, use the Origin parameter of CreateKey with a value of EXTERNAL and the MultiRegion parameter with a value of True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

Custom key store

A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.

KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

Before you create a KMS key in a custom key store, the ConnectionState of the key store must be CONNECTED. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState, use the DescribeCustomKeyStores operation.

To create a KMS key in a custom key store, use the CustomKeyStoreId. Use the default KeySpec value, SYMMETRIC_DEFAULT, and the default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric encryption key. No other key type is supported in a custom key store.

To create a KMS key in an CloudHSM key store, use the Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.

To create a KMS key in an external key store, use the Origin parameter with a value of EXTERNAL_KEY_STORE and an XksKeyId parameter that identifies an existing external key.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

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

Required permissions: kms:CreateKey (IAM policy). To use the Tags parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.

Related operations:

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

+

Creates a unique customer managed KMS key in your Amazon Web Services account and Region. You can use a KMS key in cryptographic operations, such as encryption and signing. Some Amazon Web Services services let you use KMS keys that you create and manage to protect your service resources.

A KMS key is a logical representation of a cryptographic key. In addition to the key material used in cryptographic operations, a KMS key includes metadata, such as the key ID, key policy, creation date, description, and key state. For details, see Managing keys in the Key Management Service Developer Guide

Use the parameters of CreateKey to specify the type of KMS key, the source of its key material, its key policy, description, tags, and other properties.

KMS has replaced the term customer master key (CMK) with KMS key and KMS key. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.

To create different types of KMS keys, use the following guidance:

Symmetric encryption KMS key

By default, CreateKey creates a symmetric encryption KMS key with key material that KMS generates. This is the basic and most widely used type of KMS key, and provides the best performance.

To create a symmetric encryption KMS key, you don't need to specify any parameters. The default value for KeySpec, SYMMETRIC_DEFAULT, the default value for KeyUsage, ENCRYPT_DECRYPT, and the default value for Origin, AWS_KMS, create a symmetric encryption KMS key with KMS key material.

If you need a key for basic encryption and decryption or you are creating a KMS key to protect your resources in an Amazon Web Services service, create a symmetric encryption KMS key. The key material in a symmetric encryption key never leaves KMS unencrypted. You can use a symmetric encryption KMS key to encrypt and decrypt data up to 4,096 bytes, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

Asymmetric KMS keys

To create an asymmetric KMS key, use the KeySpec parameter to specify the type of key material in the KMS key. Then, use the KeyUsage parameter to determine whether the KMS key will be used to encrypt and decrypt or sign and verify. You can't change these properties after the KMS key is created.

Asymmetric KMS keys contain an RSA key pair, Elliptic Curve (ECC) key pair, or an SM2 key pair (China Regions only). The private key in an asymmetric KMS key never leaves KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of KMS. Each KMS key can have only one key usage. KMS keys with RSA key pairs can be used to encrypt and decrypt data or sign and verify messages (but not both). KMS keys with NIST-recommended ECC key pairs can be used to sign and verify messages or derive shared secrets (but not both). KMS keys with ECC_SECG_P256K1 can be used only to sign and verify messages. KMS keys with SM2 key pairs (China Regions only) can be used to either encrypt and decrypt data, sign and verify messages, or derive shared secrets (you must choose one key usage type). For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

HMAC KMS key

To create an HMAC KMS key, set the KeySpec parameter to a key spec value for HMAC KMS keys. Then set the KeyUsage parameter to GENERATE_VERIFY_MAC. You must set the key usage even though GENERATE_VERIFY_MAC is the only valid key usage value for HMAC KMS keys. You can't change these properties after the KMS key is created.

HMAC KMS keys are symmetric keys that never leave KMS unencrypted. You can use HMAC keys to generate (GenerateMac) and verify (VerifyMac) HMAC codes for messages up to 4096 bytes.

Multi-Region primary keys
Imported key material

To create a multi-Region primary key in the local Amazon Web Services Region, use the MultiRegion parameter with a value of True. To create a multi-Region replica key, that is, a KMS key with the same key ID and key material as a primary key, but in a different Amazon Web Services Region, use the ReplicateKey operation. To change a replica key to a primary key, and its primary key to a replica key, use the UpdatePrimaryRegion operation.

You can create multi-Region KMS keys for all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't create multi-Region keys in a custom key store.

This operation supports multi-Region keys, an KMS feature that lets you create multiple interoperable KMS keys in different Amazon Web Services Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them interchangeably to encrypt data in one Amazon Web Services Region and decrypt it in a different Amazon Web Services Region without re-encrypting the data or making a cross-Region call. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

To import your own key material into a KMS key, begin by creating a KMS key with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token. Use the wrapping public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the Key Management Service Developer Guide.

You can import key material into KMS keys of all supported KMS key types: symmetric encryption KMS keys, HMAC KMS keys, asymmetric encryption KMS keys, and asymmetric signing KMS keys. You can also create multi-Region keys with imported key material. However, you can't import key material into a KMS key in a custom key store.

To create a multi-Region primary key with imported key material, use the Origin parameter of CreateKey with a value of EXTERNAL and the MultiRegion parameter with a value of True. To create replicas of the multi-Region primary key, use the ReplicateKey operation. For instructions, see Importing key material into multi-Region keys. For more information about multi-Region keys, see Multi-Region keys in KMS in the Key Management Service Developer Guide.

Custom key store

A custom key store lets you protect your Amazon Web Services resources using keys in a backing key store that you own and manage. When you request a cryptographic operation with a KMS key in a custom key store, the operation is performed in the backing key store using its cryptographic keys.

KMS supports CloudHSM key stores backed by an CloudHSM cluster and external key stores backed by an external key manager outside of Amazon Web Services. When you create a KMS key in an CloudHSM key store, KMS generates an encryption key in the CloudHSM cluster and associates it with the KMS key. When you create a KMS key in an external key store, you specify an existing encryption key in the external key manager.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

Before you create a KMS key in a custom key store, the ConnectionState of the key store must be CONNECTED. To connect the custom key store, use the ConnectCustomKeyStore operation. To find the ConnectionState, use the DescribeCustomKeyStores operation.

To create a KMS key in a custom key store, use the CustomKeyStoreId. Use the default KeySpec value, SYMMETRIC_DEFAULT, and the default KeyUsage value, ENCRYPT_DECRYPT to create a symmetric encryption key. No other key type is supported in a custom key store.

To create a KMS key in an CloudHSM key store, use the Origin parameter with a value of AWS_CLOUDHSM. The CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the Amazon Web Services Region.

To create a KMS key in an external key store, use the Origin parameter with a value of EXTERNAL_KEY_STORE and an XksKeyId parameter that identifies an existing external key.

Some external key managers provide a simpler method for creating a KMS key in an external key store. For details, see your external key manager documentation.

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

Required permissions: kms:CreateKey (IAM policy). To use the Tags parameter, kms:TagResource (IAM policy). For examples and information about related permissions, see Allow a user to create KMS keys in the Key Management Service Developer Guide.

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 CreateKey service method. @param completionHandler The completion handler to call when the load request is complete. @@ -415,6 +415,31 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; */ - (void)deleteImportedKeyMaterial:(AWSKMSDeleteImportedKeyMaterialRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; +/** +

Derives a shared secret using a key agreement algorithm.

You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) KMS key pair with a KeyUsage value of KEY_AGREEMENT to call DeriveSharedSecret.

DeriveSharedSecret uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH) to establish a key agreement between two peers by deriving a shared secret from their elliptic curve public-private key pairs. You can use the raw shared secret that DeriveSharedSecret returns to derive a symmetric key that can encrypt and decrypt data that is sent between the two peers, or that can generate and verify HMACs. KMS recommends that you follow NIST recommendations for key derivation when using the raw shared secret to derive a symmetric key.

The following workflow demonstrates how to establish key agreement over an insecure communication channel using DeriveSharedSecret.

  1. Alice calls CreateKey to create an asymmetric KMS key pair with a KeyUsage value of KEY_AGREEMENT.

    The asymmetric KMS key must use a NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) key spec.

  2. Bob creates an elliptic curve key pair.

    Bob can call CreateKey to create an asymmetric KMS key pair or generate a key pair outside of KMS. Bob's key pair must use the same NIST-recommended elliptic curve (ECC) or SM2 (China Regions ony) curve as Alice.

  3. Alice and Bob exchange their public keys through an insecure communication channel (like the internet).

    Use GetPublicKey to download the public key of your asymmetric KMS key pair.

    KMS strongly recommends verifying that the public key you receive came from the expected party before using it to derive a shared secret.

  4. Alice calls DeriveSharedSecret.

    KMS uses the private key from the KMS key pair generated in Step 1, Bob's public key, and the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive to derive the shared secret. The private key in your KMS key pair never leaves KMS unencrypted. DeriveSharedSecret returns the raw shared secret.

  5. Bob uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive to calculate the same raw secret using his private key and Alice's public key.

To derive a shared secret you must provide a key agreement algorithm, the private key of the caller's asymmetric NIST-recommended elliptic curve or SM2 (China Regions only) KMS key pair, and the public key from your peer's NIST-recommended elliptic curve or SM2 (China Regions only) key pair. The public key can be from another asymmetric KMS key pair or from a key pair generated outside of KMS, but both key pairs must be on the same elliptic curve.

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: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Required permissions: kms:DeriveSharedSecret (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 DeriveSharedSecret service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSKMSDeriveSharedSecretResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSKMSErrorDomain` domain and the following error code: `AWSKMSErrorNotFound`, `AWSKMSErrorDisabled`, `AWSKMSErrorKeyUnavailable`, `AWSKMSErrorDependencyTimeout`, `AWSKMSErrorInvalidGrantToken`, `AWSKMSErrorInvalidKeyUsage`, `AWSKMSErrorKMSInternal`, `AWSKMSErrorKMSInvalidState`, `AWSKMSErrorDryRunOperation`. + + @see AWSKMSDeriveSharedSecretRequest + @see AWSKMSDeriveSharedSecretResponse + */ +- (AWSTask *)deriveSharedSecret:(AWSKMSDeriveSharedSecretRequest *)request; + +/** +

Derives a shared secret using a key agreement algorithm.

You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) KMS key pair with a KeyUsage value of KEY_AGREEMENT to call DeriveSharedSecret.

DeriveSharedSecret uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH) to establish a key agreement between two peers by deriving a shared secret from their elliptic curve public-private key pairs. You can use the raw shared secret that DeriveSharedSecret returns to derive a symmetric key that can encrypt and decrypt data that is sent between the two peers, or that can generate and verify HMACs. KMS recommends that you follow NIST recommendations for key derivation when using the raw shared secret to derive a symmetric key.

The following workflow demonstrates how to establish key agreement over an insecure communication channel using DeriveSharedSecret.

  1. Alice calls CreateKey to create an asymmetric KMS key pair with a KeyUsage value of KEY_AGREEMENT.

    The asymmetric KMS key must use a NIST-recommended elliptic curve (ECC) or SM2 (China Regions only) key spec.

  2. Bob creates an elliptic curve key pair.

    Bob can call CreateKey to create an asymmetric KMS key pair or generate a key pair outside of KMS. Bob's key pair must use the same NIST-recommended elliptic curve (ECC) or SM2 (China Regions ony) curve as Alice.

  3. Alice and Bob exchange their public keys through an insecure communication channel (like the internet).

    Use GetPublicKey to download the public key of your asymmetric KMS key pair.

    KMS strongly recommends verifying that the public key you receive came from the expected party before using it to derive a shared secret.

  4. Alice calls DeriveSharedSecret.

    KMS uses the private key from the KMS key pair generated in Step 1, Bob's public key, and the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive to derive the shared secret. The private key in your KMS key pair never leaves KMS unencrypted. DeriveSharedSecret returns the raw shared secret.

  5. Bob uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive to calculate the same raw secret using his private key and Alice's public key.

To derive a shared secret you must provide a key agreement algorithm, the private key of the caller's asymmetric NIST-recommended elliptic curve or SM2 (China Regions only) KMS key pair, and the public key from your peer's NIST-recommended elliptic curve or SM2 (China Regions only) key pair. The public key can be from another asymmetric KMS key pair or from a key pair generated outside of KMS, but both key pairs must be on the same elliptic curve.

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: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Required permissions: kms:DeriveSharedSecret (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 DeriveSharedSecret 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 `AWSKMSErrorDomain` domain and the following error code: `AWSKMSErrorNotFound`, `AWSKMSErrorDisabled`, `AWSKMSErrorKeyUnavailable`, `AWSKMSErrorDependencyTimeout`, `AWSKMSErrorInvalidGrantToken`, `AWSKMSErrorInvalidKeyUsage`, `AWSKMSErrorKMSInternal`, `AWSKMSErrorKMSInvalidState`, `AWSKMSErrorDryRunOperation`. + + @see AWSKMSDeriveSharedSecretRequest + @see AWSKMSDeriveSharedSecretResponse + */ +- (void)deriveSharedSecret:(AWSKMSDeriveSharedSecretRequest *)request completionHandler:(void (^ _Nullable)(AWSKMSDeriveSharedSecretResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Gets information about custom key stores in the account and Region.

This operation is part of the custom key stores feature in KMS, which combines the convenience and extensive integration of KMS with the isolation and control of a key store that you own and manage.

By default, this operation returns information about all custom key stores in the account and Region. To get only information about a particular custom key store, use either the CustomKeyStoreName or CustomKeyStoreId parameter (but not both).

To determine whether the custom key store is connected to its CloudHSM cluster or external key store proxy, use the ConnectionState element in the response. If an attempt to connect the custom key store failed, the ConnectionState value is FAILED and the ConnectionErrorCode element in the response indicates the cause of the failure. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

Custom key stores have a DISCONNECTED connection state if the key store has never been connected or you used the DisconnectCustomKeyStore operation to disconnect it. Otherwise, the connection state is CONNECTED. If your custom key store connection state is CONNECTED but you are having trouble using it, verify that the backing store is active and available. For an CloudHSM key store, verify that the associated CloudHSM cluster is active and contains the minimum number of HSMs required for the operation, if any. For an external key store, verify that the external key store proxy and its associated external key manager are reachable and enabled.

For help repairing your CloudHSM key store, see the Troubleshooting CloudHSM key stores. For help repairing your external key store, see the Troubleshooting external key stores. Both topics are in the Key Management Service Developer Guide.

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

Required permissions: kms:DescribeCustomKeyStores (IAM policy)

Related operations:

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

@@ -804,7 +829,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (void)getKeyRotationStatus:(AWSKMSGetKeyRotationStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSKMSGetKeyRotationStatusResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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.

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or "wrapping key") of an asymmetric key pair that KMS generates.

    You will use this public key to encrypt ("wrap") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key ("wrapping key") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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:GetParametersForImport (key policy)

Related operations:

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

+

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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.

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or "wrapping key") of an RSA key pair that KMS generates.

    You will use this public key to encrypt ("wrap") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key ("wrapping key") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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:GetParametersForImport (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 GetParametersForImport service method. @@ -816,7 +841,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (AWSTask *)getParametersForImport:(AWSKMSGetParametersForImportRequest *)request; /** -

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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.

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or "wrapping key") of an asymmetric key pair that KMS generates.

    You will use this public key to encrypt ("wrap") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key ("wrapping key") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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:GetParametersForImport (key policy)

Related operations:

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

+

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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.

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or "wrapping key") of an RSA key pair that KMS generates.

    You will use this public key to encrypt ("wrap") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key ("wrapping key") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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:GetParametersForImport (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 GetParametersForImport service method. @param completionHandler The completion handler to call when the load request is complete. @@ -829,7 +854,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (void)getParametersForImport:(AWSKMSGetParametersForImportRequest *)request completionHandler:(void (^ _Nullable)(AWSKMSGetParametersForImportResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey permission can download the public key of an asymmetric KMS key. You can share the public key to allow others to encrypt messages and verify signatures outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

You do not need to download the public key. Instead, you can use the public key within KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the public key within KMS, you benefit from the authentication, authorization, and logging that are part of every KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of KMS.

To help you use the public key safely outside of KMS, GetPublicKey returns important information about the public key in the response, including:

  • KeySpec: The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521.

  • KeyUsage: Whether the key is used for encryption or signing.

  • EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key.

Although KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.

To verify a signature outside of KMS with an SM2 public key (China Regions only), you must specify the distinguishing ID. By default, KMS uses 1234567812345678 as the distinguishing ID. For more information, see Offline verification with SM2 key pairs.

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: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Required permissions: kms:GetPublicKey (key policy)

Related operations: CreateKey

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

+

Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey permission can download the public key of an asymmetric KMS key. You can share the public key to allow others to encrypt messages and verify signatures outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

You do not need to download the public key. Instead, you can use the public key within KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the public key within KMS, you benefit from the authentication, authorization, and logging that are part of every KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of KMS.

To help you use the public key safely outside of KMS, GetPublicKey returns important information about the public key in the response, including:

  • KeySpec: The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521.

  • KeyUsage: Whether the key is used for encryption, signing, or deriving a shared secret.

  • EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key.

Although KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.

To verify a signature outside of KMS with an SM2 public key (China Regions only), you must specify the distinguishing ID. By default, KMS uses 1234567812345678 as the distinguishing ID. For more information, see Offline verification with SM2 key pairs.

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: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Required permissions: kms:GetPublicKey (key policy)

Related operations: CreateKey

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 GetPublicKey service method. @@ -841,7 +866,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (AWSTask *)getPublicKey:(AWSKMSGetPublicKeyRequest *)request; /** -

Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey permission can download the public key of an asymmetric KMS key. You can share the public key to allow others to encrypt messages and verify signatures outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

You do not need to download the public key. Instead, you can use the public key within KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the public key within KMS, you benefit from the authentication, authorization, and logging that are part of every KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of KMS.

To help you use the public key safely outside of KMS, GetPublicKey returns important information about the public key in the response, including:

  • KeySpec: The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521.

  • KeyUsage: Whether the key is used for encryption or signing.

  • EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key.

Although KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.

To verify a signature outside of KMS with an SM2 public key (China Regions only), you must specify the distinguishing ID. By default, KMS uses 1234567812345678 as the distinguishing ID. For more information, see Offline verification with SM2 key pairs.

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: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Required permissions: kms:GetPublicKey (key policy)

Related operations: CreateKey

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

+

Returns the public key of an asymmetric KMS key. Unlike the private key of a asymmetric KMS key, which never leaves KMS unencrypted, callers with kms:GetPublicKey permission can download the public key of an asymmetric KMS key. You can share the public key to allow others to encrypt messages and verify signatures outside of KMS. For information about asymmetric KMS keys, see Asymmetric KMS keys in the Key Management Service Developer Guide.

You do not need to download the public key. Instead, you can use the public key within KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric KMS key. When you use the public key within KMS, you benefit from the authentication, authorization, and logging that are part of every KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of KMS.

To help you use the public key safely outside of KMS, GetPublicKey returns important information about the public key in the response, including:

  • KeySpec: The type of key material in the public key, such as RSA_4096 or ECC_NIST_P521.

  • KeyUsage: Whether the key is used for encryption, signing, or deriving a shared secret.

  • EncryptionAlgorithms or SigningAlgorithms: A list of the encryption algorithms or the signing algorithms for the key.

Although KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.

To verify a signature outside of KMS with an SM2 public key (China Regions only), you must specify the distinguishing ID. By default, KMS uses 1234567812345678 as the distinguishing ID. For more information, see Offline verification with SM2 key pairs.

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: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN in the value of the KeyId parameter.

Required permissions: kms:GetPublicKey (key policy)

Related operations: CreateKey

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 GetPublicKey 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 f76355f502e..0586a3c875c 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.36.3"; +NSString *const AWSKMSSDKVersion = @"2.36.4"; @interface AWSKMSResponseSerializer : AWSJSONResponseSerializer @@ -548,6 +548,29 @@ - (void)deleteImportedKeyMaterial:(AWSKMSDeleteImportedKeyMaterialRequest *)requ }]; } +- (AWSTask *)deriveSharedSecret:(AWSKMSDeriveSharedSecretRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"TrentService" + operationName:@"DeriveSharedSecret" + outputClass:[AWSKMSDeriveSharedSecretResponse class]]; +} + +- (void)deriveSharedSecret:(AWSKMSDeriveSharedSecretRequest *)request + completionHandler:(void (^)(AWSKMSDeriveSharedSecretResponse *response, NSError *error))completionHandler { + [[self deriveSharedSecret:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSKMSDeriveSharedSecretResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)describeCustomKeyStores:(AWSKMSDescribeCustomKeyStoresRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSKMS/Info.plist b/AWSKMS/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSKMS/Info.plist +++ b/AWSKMS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKMSUnitTests/AWSGeneralKMSTests.m b/AWSKMSUnitTests/AWSGeneralKMSTests.m index 544e1281e68..5a15ff804fc 100644 --- a/AWSKMSUnitTests/AWSGeneralKMSTests.m +++ b/AWSKMSUnitTests/AWSGeneralKMSTests.m @@ -534,6 +534,54 @@ - (void)testDeleteImportedKeyMaterialCompletionHandler { [AWSKMS removeKMSForKey:key]; } +- (void)testDeriveSharedSecret { + NSString *key = @"testDeriveSharedSecret"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSKMS registerKMSWithConfiguration:configuration forKey:key]; + + AWSKMS *awsClient = [AWSKMS KMSForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSKMS KMSForKey:key] deriveSharedSecret:[AWSKMSDeriveSharedSecretRequest 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]]); + + [AWSKMS removeKMSForKey:key]; +} + +- (void)testDeriveSharedSecretCompletionHandler { + NSString *key = @"testDeriveSharedSecret"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSKMS registerKMSWithConfiguration:configuration forKey:key]; + + AWSKMS *awsClient = [AWSKMS KMSForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSKMS KMSForKey:key] deriveSharedSecret:[AWSKMSDeriveSharedSecretRequest new] completionHandler:^(AWSKMSDeriveSharedSecretResponse* _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]]); + + [AWSKMS removeKMSForKey:key]; +} + - (void)testDescribeCustomKeyStores { NSString *key = @"testDescribeCustomKeyStores"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; diff --git a/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m b/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m index e2c930bd4db..825bf5eab5f 100644 --- a/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m +++ b/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m @@ -38,6 +38,8 @@ - (void) test_AWSKMSDeleteAliasRequest API_AVAILABLE(ios(11)); - (void) test_AWSKMSDeleteCustomKeyStoreRequest API_AVAILABLE(ios(11)); - (void) test_AWSKMSDeleteCustomKeyStoreResponse API_AVAILABLE(ios(11)); - (void) test_AWSKMSDeleteImportedKeyMaterialRequest API_AVAILABLE(ios(11)); +- (void) test_AWSKMSDeriveSharedSecretRequest API_AVAILABLE(ios(11)); +- (void) test_AWSKMSDeriveSharedSecretResponse API_AVAILABLE(ios(11)); - (void) test_AWSKMSDescribeCustomKeyStoresRequest API_AVAILABLE(ios(11)); - (void) test_AWSKMSDescribeCustomKeyStoresResponse API_AVAILABLE(ios(11)); - (void) test_AWSKMSDescribeKeyRequest API_AVAILABLE(ios(11)); @@ -202,6 +204,14 @@ - (void) test_AWSKMSDeleteImportedKeyMaterialRequest { [self validateSecureCodingForClass:[AWSKMSDeleteImportedKeyMaterialRequest class]]; } +- (void) test_AWSKMSDeriveSharedSecretRequest { + [self validateSecureCodingForClass:[AWSKMSDeriveSharedSecretRequest class]]; +} + +- (void) test_AWSKMSDeriveSharedSecretResponse { + [self validateSecureCodingForClass:[AWSKMSDeriveSharedSecretResponse class]]; +} + - (void) test_AWSKMSDescribeCustomKeyStoresRequest { [self validateSecureCodingForClass:[AWSKMSDescribeCustomKeyStoresRequest class]]; } diff --git a/AWSKinesis.podspec b/AWSKinesis.podspec index e2094eeee87..2b0cfc0b371 100644 --- a/AWSKinesis.podspec +++ b/AWSKinesis.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesis' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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/AWSFirehoseModel.h b/AWSKinesis/AWSFirehoseModel.h index 40dc31753c0..5b5d557c5ca 100644 --- a/AWSKinesis/AWSFirehoseModel.h +++ b/AWSKinesis/AWSFirehoseModel.h @@ -326,6 +326,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @class AWSFirehoseS3DestinationDescription; @class AWSFirehoseS3DestinationUpdate; @class AWSFirehoseSchemaConfiguration; +@class AWSFirehoseSecretsManagerConfiguration; @class AWSFirehoseSerializer; @class AWSFirehoseSnowflakeDestinationConfiguration; @class AWSFirehoseSnowflakeDestinationDescription; @@ -1964,7 +1965,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @property (nonatomic, strong) AWSFirehoseProcessingConfiguration * _Nullable processingConfiguration; /** -

The configuration of the requeste sent to the HTTP endpoint specified as the destination.

+

The configuration of the request sent to the HTTP endpoint that is specified as the destination.

*/ @property (nonatomic, strong) AWSFirehoseHttpEndpointRequestConfiguration * _Nullable requestConfiguration; @@ -1988,6 +1989,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseS3DestinationConfiguration * _Nullable s3Configuration; +/** +

The configuration that defines how you access secrets for HTTP Endpoint destination.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + @end /** @@ -2041,6 +2047,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseS3DestinationDescription * _Nullable s3DestinationDescription; +/** +

The configuration that defines how you access secrets for HTTP Endpoint destination.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + @end /** @@ -2094,6 +2105,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseS3DestinationUpdate * _Nullable s3Update; +/** +

The configuration that defines how you access secrets for HTTP Endpoint destination.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + @end /** @@ -2425,7 +2441,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @end /** -

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

+

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

*/ @interface AWSFirehoseParquetSerDe : AWSModel @@ -2634,7 +2650,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { /**

Describes the configuration of a destination in Amazon Redshift.

- Required parameters: [RoleARN, ClusterJDBCURL, CopyCommand, Username, Password, S3Configuration] + Required parameters: [RoleARN, ClusterJDBCURL, CopyCommand, S3Configuration] */ @interface AWSFirehoseRedshiftDestinationConfiguration : AWSModel @@ -2689,6 +2705,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseS3DestinationConfiguration * _Nullable s3Configuration; +/** +

The configuration that defines how you access secrets for Amazon Redshift.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + /**

The name of the user.

*/ @@ -2698,7 +2719,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { /**

Describes a destination in Amazon Redshift.

- Required parameters: [RoleARN, ClusterJDBCURL, CopyCommand, Username, S3DestinationDescription] + Required parameters: [RoleARN, ClusterJDBCURL, CopyCommand, S3DestinationDescription] */ @interface AWSFirehoseRedshiftDestinationDescription : AWSModel @@ -2748,6 +2769,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseS3DestinationDescription * _Nullable s3DestinationDescription; +/** +

The configuration that defines how you access secrets for Amazon Redshift.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + /**

The name of the user.

*/ @@ -2811,6 +2837,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseS3DestinationUpdate * _Nullable s3Update; +/** +

The configuration that defines how you access secrets for Amazon Redshift.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + /**

The name of the user.

*/ @@ -3028,6 +3059,30 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @end +/** +

The structure that defines how Firehose accesses the secret.

+ Required parameters: [Enabled] + */ +@interface AWSFirehoseSecretsManagerConfiguration : AWSModel + + +/** +

Specifies whether you want to use the the secrets manager feature. When set as True the secrets manager configuration overwrites the existing secrets in the destination configuration. When it's set to False Firehose falls back to the credentials in the destination configuration.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enabled; + +/** +

Specifies the role that Firehose assumes when calling the Secrets Manager API operation. When you provide the role, it overrides any destination specific role defined in the destination configuration. If you do not provide the then we use the destination specific role. This parameter is required for Splunk.

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

The ARN of the secret that stores your credentials. It must be in the same region as the Firehose stream and the role. The secret ARN can reside in a different account than the delivery stream and role as Firehose supports cross-account secret access. This parameter is required when Enabled is set to True.

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

The serializer that you want Firehose to use to convert data to the target format before writing it to Amazon S3. Firehose supports two types of serializers: the ORC SerDe and the Parquet SerDe.

*/ @@ -3048,7 +3103,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { /**

Configure Snowflake destination

- Required parameters: [AccountUrl, PrivateKey, User, Database, Schema, Table, RoleARN, S3Configuration] + Required parameters: [AccountUrl, Database, Schema, Table, RoleARN, S3Configuration] */ @interface AWSFirehoseSnowflakeDestinationConfiguration : AWSModel @@ -3123,6 +3178,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) NSString * _Nullable schema; +/** +

The configuration that defines how you access secrets for Snowflake.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + /**

Optionally configure a Snowflake role. Otherwise the default user role will be used.

*/ @@ -3211,6 +3271,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) NSString * _Nullable schema; +/** +

The configuration that defines how you access secrets for Snowflake.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + /**

Optionally configure a Snowflake role. Otherwise the default user role will be used.

*/ @@ -3309,6 +3374,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) NSString * _Nullable schema; +/** +

Describes the Secrets Manager configuration in Snowflake.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + /**

Optionally configure a Snowflake role. Otherwise the default user role will be used.

*/ @@ -3409,7 +3479,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { /**

Describes the configuration of a destination in Splunk.

- Required parameters: [HECEndpoint, HECEndpointType, HECToken, S3Configuration] + Required parameters: [HECEndpoint, HECEndpointType, S3Configuration] */ @interface AWSFirehoseSplunkDestinationConfiguration : AWSModel @@ -3464,6 +3534,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseS3DestinationConfiguration * _Nullable s3Configuration; +/** +

The configuration that defines how you access secrets for Splunk.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + @end /** @@ -3522,6 +3597,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseS3DestinationDescription * _Nullable s3DestinationDescription; +/** +

The configuration that defines how you access secrets for Splunk.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + @end /** @@ -3580,6 +3660,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseS3DestinationUpdate * _Nullable s3Update; +/** +

The configuration that defines how you access secrets for Splunk.

+ */ +@property (nonatomic, strong) AWSFirehoseSecretsManagerConfiguration * _Nullable secretsManagerConfiguration; + @end /** @@ -3770,7 +3855,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @property (nonatomic, strong) AWSFirehoseS3DestinationUpdate * _Nullable s3DestinationUpdate; /** -

Update to the Snowflake destination condiguration settings

+

Update to the Snowflake destination configuration settings.

*/ @property (nonatomic, strong) AWSFirehoseSnowflakeDestinationUpdate * _Nullable snowflakeDestinationUpdate; diff --git a/AWSKinesis/AWSFirehoseModel.m b/AWSKinesis/AWSFirehoseModel.m index 67d2b2564b6..2668a7a0f33 100644 --- a/AWSKinesis/AWSFirehoseModel.m +++ b/AWSKinesis/AWSFirehoseModel.m @@ -2130,6 +2130,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"roleARN" : @"RoleARN", @"s3BackupMode" : @"S3BackupMode", @"s3Configuration" : @"S3Configuration", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", }; } @@ -2182,6 +2183,10 @@ + (NSValueTransformer *)s3ConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationConfiguration class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + @end @implementation AWSFirehoseHttpEndpointDestinationDescription @@ -2201,6 +2206,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"roleARN" : @"RoleARN", @"s3BackupMode" : @"S3BackupMode", @"s3DestinationDescription" : @"S3DestinationDescription", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", }; } @@ -2253,6 +2259,10 @@ + (NSValueTransformer *)s3DestinationDescriptionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationDescription class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + @end @implementation AWSFirehoseHttpEndpointDestinationUpdate @@ -2272,6 +2282,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"roleARN" : @"RoleARN", @"s3BackupMode" : @"S3BackupMode", @"s3Update" : @"S3Update", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", }; } @@ -2324,6 +2335,10 @@ + (NSValueTransformer *)s3UpdateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationUpdate class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + @end @implementation AWSFirehoseHttpEndpointRequestConfiguration @@ -3043,6 +3058,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"s3BackupConfiguration" : @"S3BackupConfiguration", @"s3BackupMode" : @"S3BackupMode", @"s3Configuration" : @"S3Configuration", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", @"username" : @"Username", }; } @@ -3092,6 +3108,10 @@ + (NSValueTransformer *)s3ConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationConfiguration class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + @end @implementation AWSFirehoseRedshiftDestinationDescription @@ -3111,6 +3131,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"s3BackupDescription" : @"S3BackupDescription", @"s3BackupMode" : @"S3BackupMode", @"s3DestinationDescription" : @"S3DestinationDescription", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", @"username" : @"Username", }; } @@ -3160,6 +3181,10 @@ + (NSValueTransformer *)s3DestinationDescriptionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationDescription class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + @end @implementation AWSFirehoseRedshiftDestinationUpdate @@ -3180,6 +3205,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"s3BackupMode" : @"S3BackupMode", @"s3BackupUpdate" : @"S3BackupUpdate", @"s3Update" : @"S3Update", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", @"username" : @"Username", }; } @@ -3229,6 +3255,10 @@ + (NSValueTransformer *)s3UpdateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationUpdate class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + @end @implementation AWSFirehoseRedshiftRetryOptions @@ -3485,6 +3515,22 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSFirehoseSecretsManagerConfiguration + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"enabled" : @"Enabled", + @"roleARN" : @"RoleARN", + @"secretARN" : @"SecretARN", + }; +} + +@end + @implementation AWSFirehoseSerializer + (BOOL)supportsSecureCoding { @@ -3530,6 +3576,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"s3BackupMode" : @"S3BackupMode", @"s3Configuration" : @"S3Configuration", @"schema" : @"Schema", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", @"snowflakeRoleConfiguration" : @"SnowflakeRoleConfiguration", @"snowflakeVpcConfiguration" : @"SnowflakeVpcConfiguration", @"table" : @"Table", @@ -3600,6 +3647,10 @@ + (NSValueTransformer *)s3ConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationConfiguration class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + + (NSValueTransformer *)snowflakeRoleConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSnowflakeRoleConfiguration class]]; } @@ -3630,6 +3681,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"s3BackupMode" : @"S3BackupMode", @"s3DestinationDescription" : @"S3DestinationDescription", @"schema" : @"Schema", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", @"snowflakeRoleConfiguration" : @"SnowflakeRoleConfiguration", @"snowflakeVpcConfiguration" : @"SnowflakeVpcConfiguration", @"table" : @"Table", @@ -3700,6 +3752,10 @@ + (NSValueTransformer *)s3DestinationDescriptionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationDescription class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + + (NSValueTransformer *)snowflakeRoleConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSnowflakeRoleConfiguration class]]; } @@ -3732,6 +3788,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"s3BackupMode" : @"S3BackupMode", @"s3Update" : @"S3Update", @"schema" : @"Schema", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", @"snowflakeRoleConfiguration" : @"SnowflakeRoleConfiguration", @"table" : @"Table", @"user" : @"User", @@ -3801,6 +3858,10 @@ + (NSValueTransformer *)s3UpdateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationUpdate class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + + (NSValueTransformer *)snowflakeRoleConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSnowflakeRoleConfiguration class]]; } @@ -3906,6 +3967,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"retryOptions" : @"RetryOptions", @"s3BackupMode" : @"S3BackupMode", @"s3Configuration" : @"S3Configuration", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", }; } @@ -3971,6 +4033,10 @@ + (NSValueTransformer *)s3ConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationConfiguration class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + @end @implementation AWSFirehoseSplunkDestinationDescription @@ -3991,6 +4057,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"retryOptions" : @"RetryOptions", @"s3BackupMode" : @"S3BackupMode", @"s3DestinationDescription" : @"S3DestinationDescription", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", }; } @@ -4056,6 +4123,10 @@ + (NSValueTransformer *)s3DestinationDescriptionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationDescription class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + @end @implementation AWSFirehoseSplunkDestinationUpdate @@ -4076,6 +4147,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"retryOptions" : @"RetryOptions", @"s3BackupMode" : @"S3BackupMode", @"s3Update" : @"S3Update", + @"secretsManagerConfiguration" : @"SecretsManagerConfiguration", }; } @@ -4141,6 +4213,10 @@ + (NSValueTransformer *)s3UpdateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseS3DestinationUpdate class]]; } ++ (NSValueTransformer *)secretsManagerConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + @end @implementation AWSFirehoseSplunkRetryOptions diff --git a/AWSKinesis/AWSFirehoseResources.m b/AWSKinesis/AWSFirehoseResources.m index 39e0578df54..e9529998a5f 100644 --- a/AWSKinesis/AWSFirehoseResources.m +++ b/AWSKinesis/AWSFirehoseResources.m @@ -63,6 +63,7 @@ - (NSString *)definitionString { \"endpointPrefix\":\"firehose\",\ \"jsonVersion\":\"1.1\",\ \"protocol\":\"json\",\ + \"protocols\":[\"json\"],\ \"serviceAbbreviation\":\"Firehose\",\ \"serviceFullName\":\"Amazon Kinesis Firehose\",\ \"serviceId\":\"Firehose\",\ @@ -188,7 +189,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededException\"},\ {\"shape\":\"InvalidKMSResourceException\"}\ ],\ - \"documentation\":\"

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption status of a delivery stream, use DescribeDeliveryStream.

Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. If you invoke this method to change the CMK, and the old CMK is of type CUSTOMER_MANAGED_CMK, Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

For the KMS grant creation to be successful, Firehose APIs StartDeliveryStreamEncryption and CreateDeliveryStream should not be called with session credentials that are more than 6 hours old.

If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK.

If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again with a valid CMK. The CMK must be enabled and the key policy mustn't explicitly deny the permission for Firehose to invoke KMS encrypt and decrypt operations.

You can enable SSE for a delivery stream only if it's a delivery stream that uses DirectPut as its source.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

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

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption status of a delivery stream, use DescribeDeliveryStream.

Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. If you invoke this method to change the CMK, and the old CMK is of type CUSTOMER_MANAGED_CMK, Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

For the KMS grant creation to be successful, the Firehose API operations StartDeliveryStreamEncryption and CreateDeliveryStream should not be called with session credentials that are more than 6 hours old.

If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK.

If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again with a valid CMK. The CMK must be enabled and the key policy mustn't explicitly deny the permission for Firehose to invoke KMS encrypt and decrypt operations.

You can enable SSE for a delivery stream only if it's a delivery stream that uses DirectPut as its source.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

\"\ },\ \"StopDeliveryStreamEncryption\":{\ \"name\":\"StopDeliveryStreamEncryption\",\ @@ -1900,7 +1901,7 @@ - (NSString *)definitionString { \"CloudWatchLoggingOptions\":{\"shape\":\"CloudWatchLoggingOptions\"},\ \"RequestConfiguration\":{\ \"shape\":\"HttpEndpointRequestConfiguration\",\ - \"documentation\":\"

The configuration of the requeste sent to the HTTP endpoint specified as the destination.

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

The configuration of the request sent to the HTTP endpoint that is specified as the destination.

\"\ },\ \"ProcessingConfiguration\":{\"shape\":\"ProcessingConfiguration\"},\ \"RoleARN\":{\ @@ -1915,7 +1916,11 @@ - (NSString *)definitionString { \"shape\":\"HttpEndpointS3BackupMode\",\ \"documentation\":\"

Describes the S3 bucket backup options for the data that Firehose delivers to the HTTP endpoint destination. You can back up all documents (AllData) or only the documents that Firehose could not deliver to the specified HTTP endpoint destination (FailedDataOnly).

\"\ },\ - \"S3Configuration\":{\"shape\":\"S3DestinationConfiguration\"}\ + \"S3Configuration\":{\"shape\":\"S3DestinationConfiguration\"},\ + \"SecretsManagerConfiguration\":{\ + \"shape\":\"SecretsManagerConfiguration\",\ + \"documentation\":\"

The configuration that defines how you access secrets for HTTP Endpoint destination.

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

Describes the configuration of the HTTP endpoint destination.

\"\ },\ @@ -1948,7 +1953,11 @@ - (NSString *)definitionString { \"shape\":\"HttpEndpointS3BackupMode\",\ \"documentation\":\"

Describes the S3 bucket backup options for the data that Kinesis Firehose delivers to the HTTP endpoint destination. You can back up all documents (AllData) or only the documents that Firehose could not deliver to the specified HTTP endpoint destination (FailedDataOnly).

\"\ },\ - \"S3DestinationDescription\":{\"shape\":\"S3DestinationDescription\"}\ + \"S3DestinationDescription\":{\"shape\":\"S3DestinationDescription\"},\ + \"SecretsManagerConfiguration\":{\ + \"shape\":\"SecretsManagerConfiguration\",\ + \"documentation\":\"

The configuration that defines how you access secrets for HTTP Endpoint destination.

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

Describes the HTTP endpoint destination.

\"\ },\ @@ -1981,7 +1990,11 @@ - (NSString *)definitionString { \"shape\":\"HttpEndpointS3BackupMode\",\ \"documentation\":\"

Describes the S3 bucket backup options for the data that Kinesis Firehose delivers to the HTTP endpoint destination. You can back up all documents (AllData) or only the documents that Firehose could not deliver to the specified HTTP endpoint destination (FailedDataOnly).

\"\ },\ - \"S3Update\":{\"shape\":\"S3DestinationUpdate\"}\ + \"S3Update\":{\"shape\":\"S3DestinationUpdate\"},\ + \"SecretsManagerConfiguration\":{\ + \"shape\":\"SecretsManagerConfiguration\",\ + \"documentation\":\"

The configuration that defines how you access secrets for HTTP Endpoint destination.

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

Updates the specified HTTP endpoint destination.

\"\ },\ @@ -2462,7 +2475,7 @@ - (NSString *)definitionString { \"documentation\":\"

Indicates the version of row format to output. The possible values are V1 and V2. The default is V1.

\"\ }\ },\ - \"documentation\":\"

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

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

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

\"\ },\ \"ParquetWriterVersion\":{\ \"type\":\"string\",\ @@ -2697,8 +2710,6 @@ - (NSString *)definitionString { \"RoleARN\",\ \"ClusterJDBCURL\",\ \"CopyCommand\",\ - \"Username\",\ - \"Password\",\ \"S3Configuration\"\ ],\ \"members\":{\ @@ -2745,6 +2756,10 @@ - (NSString *)definitionString { \"CloudWatchLoggingOptions\":{\ \"shape\":\"CloudWatchLoggingOptions\",\ \"documentation\":\"

The CloudWatch logging options for your delivery stream.

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

The configuration that defines how you access secrets for Amazon Redshift.

\"\ }\ },\ \"documentation\":\"

Describes the configuration of a destination in Amazon Redshift.

\"\ @@ -2755,7 +2770,6 @@ - (NSString *)definitionString { \"RoleARN\",\ \"ClusterJDBCURL\",\ \"CopyCommand\",\ - \"Username\",\ \"S3DestinationDescription\"\ ],\ \"members\":{\ @@ -2798,6 +2812,10 @@ - (NSString *)definitionString { \"CloudWatchLoggingOptions\":{\ \"shape\":\"CloudWatchLoggingOptions\",\ \"documentation\":\"

The Amazon CloudWatch logging options for your delivery stream.

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

The configuration that defines how you access secrets for Amazon Redshift.

\"\ }\ },\ \"documentation\":\"

Describes a destination in Amazon Redshift.

\"\ @@ -2848,6 +2866,10 @@ - (NSString *)definitionString { \"CloudWatchLoggingOptions\":{\ \"shape\":\"CloudWatchLoggingOptions\",\ \"documentation\":\"

The Amazon CloudWatch logging options for your delivery stream.

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

The configuration that defines how you access secrets for Amazon Redshift.

\"\ }\ },\ \"documentation\":\"

Describes an update for a destination in Amazon Redshift.

\"\ @@ -3079,6 +3101,31 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Specifies the schema to which you want Firehose to configure your data before it writes it to Amazon S3. This parameter is required if Enabled is set to true.

\"\ },\ + \"SecretARN\":{\ + \"type\":\"string\",\ + \"max\":2048,\ + \"min\":1,\ + \"pattern\":\"arn:.*\"\ + },\ + \"SecretsManagerConfiguration\":{\ + \"type\":\"structure\",\ + \"required\":[\"Enabled\"],\ + \"members\":{\ + \"SecretARN\":{\ + \"shape\":\"SecretARN\",\ + \"documentation\":\"

The ARN of the secret that stores your credentials. It must be in the same region as the Firehose stream and the role. The secret ARN can reside in a different account than the delivery stream and role as Firehose supports cross-account secret access. This parameter is required when Enabled is set to True.

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

Specifies the role that Firehose assumes when calling the Secrets Manager API operation. When you provide the role, it overrides any destination specific role defined in the destination configuration. If you do not provide the then we use the destination specific role. This parameter is required for Splunk.

\"\ + },\ + \"Enabled\":{\ + \"shape\":\"BooleanObject\",\ + \"documentation\":\"

Specifies whether you want to use the the secrets manager feature. When set as True the secrets manager configuration overwrites the existing secrets in the destination configuration. When it's set to False Firehose falls back to the credentials in the destination configuration.

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

The structure that defines how Firehose accesses the secret.

\"\ + },\ \"SecurityGroupIdList\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"NonEmptyStringWithoutWhitespace\"},\ @@ -3147,8 +3194,6 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"AccountUrl\",\ - \"PrivateKey\",\ - \"User\",\ \"Database\",\ \"Schema\",\ \"Table\",\ @@ -3218,7 +3263,11 @@ - (NSString *)definitionString { \"shape\":\"SnowflakeS3BackupMode\",\ \"documentation\":\"

Choose an S3 backup mode

\"\ },\ - \"S3Configuration\":{\"shape\":\"S3DestinationConfiguration\"}\ + \"S3Configuration\":{\"shape\":\"S3DestinationConfiguration\"},\ + \"SecretsManagerConfiguration\":{\ + \"shape\":\"SecretsManagerConfiguration\",\ + \"documentation\":\"

The configuration that defines how you access secrets for Snowflake.

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

Configure Snowflake destination

\"\ },\ @@ -3279,7 +3328,11 @@ - (NSString *)definitionString { \"shape\":\"SnowflakeS3BackupMode\",\ \"documentation\":\"

Choose an S3 backup mode

\"\ },\ - \"S3DestinationDescription\":{\"shape\":\"S3DestinationDescription\"}\ + \"S3DestinationDescription\":{\"shape\":\"S3DestinationDescription\"},\ + \"SecretsManagerConfiguration\":{\ + \"shape\":\"SecretsManagerConfiguration\",\ + \"documentation\":\"

The configuration that defines how you access secrets for Snowflake.

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

Optional Snowflake destination description

\"\ },\ @@ -3344,7 +3397,11 @@ - (NSString *)definitionString { \"shape\":\"SnowflakeS3BackupMode\",\ \"documentation\":\"

Choose an S3 backup mode

\"\ },\ - \"S3Update\":{\"shape\":\"S3DestinationUpdate\"}\ + \"S3Update\":{\"shape\":\"S3DestinationUpdate\"},\ + \"SecretsManagerConfiguration\":{\ + \"shape\":\"SecretsManagerConfiguration\",\ + \"documentation\":\"

Describes the Secrets Manager configuration in Snowflake.

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

Update to configuration settings

\"\ },\ @@ -3488,7 +3545,6 @@ - (NSString *)definitionString { \"required\":[\ \"HECEndpoint\",\ \"HECEndpointType\",\ - \"HECToken\",\ \"S3Configuration\"\ ],\ \"members\":{\ @@ -3531,6 +3587,10 @@ - (NSString *)definitionString { \"BufferingHints\":{\ \"shape\":\"SplunkBufferingHints\",\ \"documentation\":\"

The buffering options. If no value is specified, the default values for Splunk are used.

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

The configuration that defines how you access secrets for Splunk.

\"\ }\ },\ \"documentation\":\"

Describes the configuration of a destination in Splunk.

\"\ @@ -3577,6 +3637,10 @@ - (NSString *)definitionString { \"BufferingHints\":{\ \"shape\":\"SplunkBufferingHints\",\ \"documentation\":\"

The buffering options. If no value is specified, the default values for Splunk are used.

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

The configuration that defines how you access secrets for Splunk.

\"\ }\ },\ \"documentation\":\"

Describes a destination in Splunk.

\"\ @@ -3623,6 +3687,10 @@ - (NSString *)definitionString { \"BufferingHints\":{\ \"shape\":\"SplunkBufferingHints\",\ \"documentation\":\"

The buffering options. If no value is specified, the default values for Splunk are used.

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

The configuration that defines how you access secrets for Splunk.

\"\ }\ },\ \"documentation\":\"

Describes an update for a destination in Splunk.

\"\ @@ -3834,7 +3902,7 @@ - (NSString *)definitionString { },\ \"SnowflakeDestinationUpdate\":{\ \"shape\":\"SnowflakeDestinationUpdate\",\ - \"documentation\":\"

Update to the Snowflake destination condiguration settings

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

Update to the Snowflake destination configuration settings.

\"\ }\ }\ },\ @@ -3902,7 +3970,7 @@ - (NSString *)definitionString { \"documentation\":\"

The details of the VPC of the Amazon ES destination.

\"\ }\ },\ - \"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.

\"\ + \"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 supported destinations.

\"\ }\ "; } diff --git a/AWSKinesis/AWSFirehoseService.h b/AWSKinesis/AWSFirehoseService.h index de7526304bd..91c4359d0ab 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 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.

+ 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 supported destinations.

*/ @interface AWSFirehose : AWSService @@ -350,7 +350,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; - (void)putRecordBatch:(AWSFirehosePutRecordBatchInput *)request completionHandler:(void (^ _Nullable)(AWSFirehosePutRecordBatchOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption status of a delivery stream, use DescribeDeliveryStream.

Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. If you invoke this method to change the CMK, and the old CMK is of type CUSTOMER_MANAGED_CMK, Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

For the KMS grant creation to be successful, Firehose APIs StartDeliveryStreamEncryption and CreateDeliveryStream should not be called with session credentials that are more than 6 hours old.

If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK.

If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again with a valid CMK. The CMK must be enabled and the key policy mustn't explicitly deny the permission for Firehose to invoke KMS encrypt and decrypt operations.

You can enable SSE for a delivery stream only if it's a delivery stream that uses DirectPut as its source.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

+

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption status of a delivery stream, use DescribeDeliveryStream.

Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. If you invoke this method to change the CMK, and the old CMK is of type CUSTOMER_MANAGED_CMK, Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

For the KMS grant creation to be successful, the Firehose API operations StartDeliveryStreamEncryption and CreateDeliveryStream should not be called with session credentials that are more than 6 hours old.

If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK.

If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again with a valid CMK. The CMK must be enabled and the key policy mustn't explicitly deny the permission for Firehose to invoke KMS encrypt and decrypt operations.

You can enable SSE for a delivery stream only if it's a delivery stream that uses DirectPut as its source.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

@param request A container for the necessary parameters to execute the StartDeliveryStreamEncryption service method. @@ -362,7 +362,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; - (AWSTask *)startDeliveryStreamEncryption:(AWSFirehoseStartDeliveryStreamEncryptionInput *)request; /** -

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption status of a delivery stream, use DescribeDeliveryStream.

Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. If you invoke this method to change the CMK, and the old CMK is of type CUSTOMER_MANAGED_CMK, Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

For the KMS grant creation to be successful, Firehose APIs StartDeliveryStreamEncryption and CreateDeliveryStream should not be called with session credentials that are more than 6 hours old.

If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK.

If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again with a valid CMK. The CMK must be enabled and the key policy mustn't explicitly deny the permission for Firehose to invoke KMS encrypt and decrypt operations.

You can enable SSE for a delivery stream only if it's a delivery stream that uses DirectPut as its source.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

+

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption status of a delivery stream, use DescribeDeliveryStream.

Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. If you invoke this method to change the CMK, and the old CMK is of type CUSTOMER_MANAGED_CMK, Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

For the KMS grant creation to be successful, the Firehose API operations StartDeliveryStreamEncryption and CreateDeliveryStream should not be called with session credentials that are more than 6 hours old.

If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK.

If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again with a valid CMK. The CMK must be enabled and the key policy mustn't explicitly deny the permission for Firehose to invoke KMS encrypt and decrypt operations.

You can enable SSE for a delivery stream only if it's a delivery stream that uses DirectPut as its source.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

@param request A container for the necessary parameters to execute the StartDeliveryStreamEncryption service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSKinesis/AWSFirehoseService.m b/AWSKinesis/AWSFirehoseService.m index e6d33939b86..a507f9cd69c 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.36.3"; +NSString *const AWSFirehoseSDKVersion = @"2.36.4"; @interface AWSFirehoseResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/AWSKinesisService.m b/AWSKinesis/AWSKinesisService.m index 90548e2cbfc..07a97420347 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.36.3"; +NSString *const AWSKinesisSDKVersion = @"2.36.4"; @interface AWSKinesisResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/Info.plist b/AWSKinesis/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSKinesis/Info.plist +++ b/AWSKinesis/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisUnitTests/AWSFirehoseNSSecureCodingTests.m b/AWSKinesisUnitTests/AWSFirehoseNSSecureCodingTests.m index 7266a33e314..1c9c66b2d0d 100644 --- a/AWSKinesisUnitTests/AWSFirehoseNSSecureCodingTests.m +++ b/AWSKinesisUnitTests/AWSFirehoseNSSecureCodingTests.m @@ -99,6 +99,7 @@ - (void) test_AWSFirehoseS3DestinationConfiguration API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseS3DestinationDescription API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseS3DestinationUpdate API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseSchemaConfiguration API_AVAILABLE(ios(11)); +- (void) test_AWSFirehoseSecretsManagerConfiguration API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseSerializer API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseSnowflakeDestinationConfiguration API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseSnowflakeDestinationDescription API_AVAILABLE(ios(11)); @@ -450,6 +451,10 @@ - (void) test_AWSFirehoseSchemaConfiguration { [self validateSecureCodingForClass:[AWSFirehoseSchemaConfiguration class]]; } +- (void) test_AWSFirehoseSecretsManagerConfiguration { + [self validateSecureCodingForClass:[AWSFirehoseSecretsManagerConfiguration class]]; +} + - (void) test_AWSFirehoseSerializer { [self validateSecureCodingForClass:[AWSFirehoseSerializer class]]; } diff --git a/AWSKinesisVideo.podspec b/AWSKinesisVideo.podspec index 5b3bd26bcdc..fbbb121a317 100644 --- a/AWSKinesisVideo.podspec +++ b/AWSKinesisVideo.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideo' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 83b840e91c5..c6cd33716f6 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.36.3"; +NSString *const AWSKinesisVideoSDKVersion = @"2.36.4"; @interface AWSKinesisVideoResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideo/Info.plist b/AWSKinesisVideo/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSKinesisVideo/Info.plist +++ b/AWSKinesisVideo/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoArchivedMedia.podspec b/AWSKinesisVideoArchivedMedia.podspec index f4d82aec8a3..75cc1c45d52 100644 --- a/AWSKinesisVideoArchivedMedia.podspec +++ b/AWSKinesisVideoArchivedMedia.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoArchivedMedia' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 0db287940ee..5e074a2a888 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.36.3"; +NSString *const AWSKinesisVideoArchivedMediaSDKVersion = @"2.36.4"; @interface AWSKinesisVideoArchivedMediaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoArchivedMedia/Info.plist b/AWSKinesisVideoArchivedMedia/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSKinesisVideoArchivedMedia/Info.plist +++ b/AWSKinesisVideoArchivedMedia/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoSignaling.podspec b/AWSKinesisVideoSignaling.podspec index 409ff2f3c07..2f261de63d5 100644 --- a/AWSKinesisVideoSignaling.podspec +++ b/AWSKinesisVideoSignaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoSignaling' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 2bd0acdab56..c9f2171801b 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.36.3"; +NSString *const AWSKinesisVideoSignalingSDKVersion = @"2.36.4"; @interface AWSKinesisVideoSignalingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoSignaling/Info.plist b/AWSKinesisVideoSignaling/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSKinesisVideoSignaling/Info.plist +++ b/AWSKinesisVideoSignaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoWebRTCStorage.podspec b/AWSKinesisVideoWebRTCStorage.podspec index ad6c402ce9e..c4610eedb13 100644 --- a/AWSKinesisVideoWebRTCStorage.podspec +++ b/AWSKinesisVideoWebRTCStorage.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoWebRTCStorage' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 de1ad4af146..4b0d6546b26 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.36.3"; +NSString *const AWSKinesisVideoWebRTCStorageSDKVersion = @"2.36.4"; @interface AWSKinesisVideoWebRTCStorageResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoWebRTCStorage/Info.plist b/AWSKinesisVideoWebRTCStorage/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSKinesisVideoWebRTCStorage/Info.plist +++ b/AWSKinesisVideoWebRTCStorage/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLambda.podspec b/AWSLambda.podspec index a305cdf68b7..5fece4ad66a 100644 --- a/AWSLambda.podspec +++ b/AWSLambda.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLambda' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 195fa45281f..1c7af951d6e 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.36.3"; +NSString *const AWSLambdaSDKVersion = @"2.36.4"; @interface AWSLambdaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLambda/Info.plist b/AWSLambda/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSLambda/Info.plist +++ b/AWSLambda/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLex.podspec b/AWSLex.podspec index 1100cfa3c79..e17ad1366da 100644 --- a/AWSLex.podspec +++ b/AWSLex.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLex' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 d720ba00c3a..6d502feaaa0 100644 --- a/AWSLex/AWSLexInteractionKit.m +++ b/AWSLex/AWSLexInteractionKit.m @@ -22,7 +22,7 @@ #import NSString *const AWSInfoInteractionKit = @"LexInteractionKit"; -NSString *const AWSInteractionKitSDKVersion = @"2.36.3"; +NSString *const AWSInteractionKitSDKVersion = @"2.36.4"; 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 3369319643a..3d941a5430f 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.36.3"; +NSString *const AWSLexSDKVersion = @"2.36.4"; @interface AWSLexResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLex/Info.plist b/AWSLex/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSLex/Info.plist +++ b/AWSLex/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocation.podspec b/AWSLocation.podspec index 92eb82bc7c6..b780e0c07bb 100644 --- a/AWSLocation.podspec +++ b/AWSLocation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLocation' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSLocation/*.{h,m}', 'AWSLocation/AWSLocationTracker/**/*.swift' s.resource_bundle = { 'AWSLocation' => ['AWSLocation/PrivacyInfo.xcprivacy']} end diff --git a/AWSLocation/AWSLocationModel.h b/AWSLocation/AWSLocationModel.h index 6c915e6a6b1..034005e392e 100644 --- a/AWSLocation/AWSLocationModel.h +++ b/AWSLocation/AWSLocationModel.h @@ -54,6 +54,13 @@ typedef NS_ENUM(NSInteger, AWSLocationDistanceUnit) { AWSLocationDistanceUnitMiles, }; +typedef NS_ENUM(NSInteger, AWSLocationForecastedGeofenceEventType) { + AWSLocationForecastedGeofenceEventTypeUnknown, + AWSLocationForecastedGeofenceEventTypeEnter, + AWSLocationForecastedGeofenceEventTypeExit, + AWSLocationForecastedGeofenceEventTypeIdle, +}; + typedef NS_ENUM(NSInteger, AWSLocationIntendedUse) { AWSLocationIntendedUseUnknown, AWSLocationIntendedUseSingleUse, @@ -90,6 +97,12 @@ typedef NS_ENUM(NSInteger, AWSLocationRouteMatrixErrorCode) { AWSLocationRouteMatrixErrorCodeOtherValidationError, }; +typedef NS_ENUM(NSInteger, AWSLocationSpeedUnit) { + AWSLocationSpeedUnitUnknown, + AWSLocationSpeedUnitKilometersPerHour, + AWSLocationSpeedUnitMilesPerHour, +}; + typedef NS_ENUM(NSInteger, AWSLocationStatus) { AWSLocationStatusUnknown, AWSLocationStatusActive, @@ -153,6 +166,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @class AWSLocationCalculateRouteResponse; @class AWSLocationCalculateRouteSummary; @class AWSLocationCalculateRouteTruckModeOptions; +@class AWSLocationCellSignals; @class AWSLocationCircle; @class AWSLocationCreateGeofenceCollectionRequest; @class AWSLocationCreateGeofenceCollectionResponse; @@ -193,8 +207,13 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @class AWSLocationDescribeTrackerResponse; @class AWSLocationDevicePosition; @class AWSLocationDevicePositionUpdate; +@class AWSLocationDeviceState; @class AWSLocationDisassociateTrackerConsumerRequest; @class AWSLocationDisassociateTrackerConsumerResponse; +@class AWSLocationForecastGeofenceEventsDeviceState; +@class AWSLocationForecastGeofenceEventsRequest; +@class AWSLocationForecastGeofenceEventsResponse; +@class AWSLocationForecastedEvent; @class AWSLocationGeofenceGeometry; @class AWSLocationGetDevicePositionHistoryRequest; @class AWSLocationGetDevicePositionHistoryResponse; @@ -212,6 +231,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @class AWSLocationGetMapTileResponse; @class AWSLocationGetPlaceRequest; @class AWSLocationGetPlaceResponse; +@class AWSLocationInferredState; @class AWSLocationLeg; @class AWSLocationLegGeometry; @class AWSLocationListDevicePositionsRequest; @@ -242,6 +262,9 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @class AWSLocationListTrackersRequest; @class AWSLocationListTrackersResponse; @class AWSLocationListTrackersResponseEntry; +@class AWSLocationLteCellDetails; +@class AWSLocationLteLocalId; +@class AWSLocationLteNetworkMeasurements; @class AWSLocationMapConfiguration; @class AWSLocationMapConfigurationUpdate; @class AWSLocationPlace; @@ -285,6 +308,9 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @class AWSLocationUpdateTrackerRequest; @class AWSLocationUpdateTrackerResponse; @class AWSLocationValidationExceptionField; +@class AWSLocationVerifyDevicePositionRequest; +@class AWSLocationVerifyDevicePositionResponse; +@class AWSLocationWiFiAccessPoint; /**

Options for filtering API keys.

@@ -401,7 +427,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains error details for each geofence that failed to delete from the geofence collection.

- Required parameters: [Error, GeofenceId] + Required parameters: [GeofenceId, Error] */ @interface AWSLocationBatchDeleteGeofenceError : AWSModel @@ -451,7 +477,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains error details for each device that failed to evaluate its position against the geofences in a given geofence collection.

- Required parameters: [DeviceId, Error, SampleTime] + Required parameters: [DeviceId, SampleTime, Error] */ @interface AWSLocationBatchEvaluateGeofencesError : AWSModel @@ -579,7 +605,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains error details for each geofence that failed to be stored in a given geofence collection.

- Required parameters: [Error, GeofenceId] + Required parameters: [GeofenceId, Error] */ @interface AWSLocationBatchPutGeofenceError : AWSModel @@ -632,7 +658,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @property (nonatomic, strong) NSDictionary * _Nullable geofenceProperties; /** -

Contains the details of the position of the geofence. Can be either a polygon or a circle. Including both will return a validation error.

Each geofence polygon can have a maximum of 1,000 vertices.

+

Contains the details to specify the position of the geofence. Can be a polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

The geofence polygon format supports a maximum of 1,000 vertices. The Geofence geobuf format supports a maximum of 100,000 vertices.

*/ @property (nonatomic, strong) AWSLocationGeofenceGeometry * _Nullable geometry; @@ -658,7 +684,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains a summary of each geofence that was successfully stored in a given geofence collection.

- Required parameters: [CreateTime, GeofenceId, UpdateTime] + Required parameters: [GeofenceId, CreateTime, UpdateTime] */ @interface AWSLocationBatchPutGeofenceSuccess : AWSModel @@ -682,7 +708,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains error details for each device that failed to update its position.

- Required parameters: [DeviceId, Error, SampleTime] + Required parameters: [DeviceId, SampleTime, Error] */ @interface AWSLocationBatchUpdateDevicePositionError : AWSModel @@ -842,7 +868,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

A summary of the calculated route matrix.

- Required parameters: [DataSource, DistanceUnit, ErrorCount, RouteCount] + Required parameters: [DataSource, RouteCount, ErrorCount, DistanceUnit] */ @interface AWSLocationCalculateRouteMatrixSummary : AWSModel @@ -968,7 +994,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

A summary of the calculated route.

- Required parameters: [DataSource, Distance, DistanceUnit, DurationSeconds, RouteBBox] + Required parameters: [RouteBBox, DataSource, Distance, DurationSeconds, DistanceUnit] */ @interface AWSLocationCalculateRouteSummary : AWSModel @@ -1028,6 +1054,20 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @end +/** +

The cellular network communication infrastructure that the device uses.

+ Required parameters: [LteCellDetails] + */ +@interface AWSLocationCellSignals : AWSModel + + +/** +

Information about the Long-Term Evolution (LTE) network the device is connected to.

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

A circle on the earth, as defined by a center point and a radius.

Required parameters: [Center, Radius] @@ -1980,7 +2020,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains the device position details.

- Required parameters: [Position, ReceivedTime, SampleTime] + Required parameters: [SampleTime, ReceivedTime, Position] */ @interface AWSLocationDevicePosition : AWSModel @@ -2019,7 +2059,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains the position update details for a device.

- Required parameters: [DeviceId, Position, SampleTime] + Required parameters: [DeviceId, SampleTime, Position] */ @interface AWSLocationDevicePositionUpdate : AWSModel @@ -2051,6 +2091,50 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @end +/** +

The device's position, IP address, and Wi-Fi access points.

+ Required parameters: [DeviceId, SampleTime, Position] + */ +@interface AWSLocationDeviceState : AWSModel + + +/** +

Defines the level of certainty of the position.

+ */ +@property (nonatomic, strong) AWSLocationPositionalAccuracy * _Nullable accuracy; + +/** +

The cellular network infrastructure that the device is connected to.

+ */ +@property (nonatomic, strong) AWSLocationCellSignals * _Nullable cellSignals; + +/** +

The device identifier.

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

The device's Ipv4 address.

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

The last known device position.

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

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

+ */ +@property (nonatomic, strong) NSDate * _Nullable sampleTime; + +/** +

The Wi-Fi access points the device is using.

+ */ +@property (nonatomic, strong) NSArray * _Nullable wiFiAccessPoints; + +@end + /** */ @@ -2078,7 +2162,141 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @end /** -

Contains the geofence geometry details.

A geofence geometry is made up of either a polygon or a circle. Can be either a polygon or a circle. Including both will return a validation error.

Amazon Location doesn't currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.

+

The device's position, IP address, and WiFi access points.

+ Required parameters: [Position] + */ +@interface AWSLocationForecastGeofenceEventsDeviceState : AWSModel + + +/** +

The device's position.

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

The device's speed.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable speed; + +@end + +/** + + */ +@interface AWSLocationForecastGeofenceEventsRequest : AWSRequest + + +/** +

The name of the geofence collection.

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

The device's state, including current position and speed.

+ */ +@property (nonatomic, strong) AWSLocationForecastGeofenceEventsDeviceState * _Nullable deviceState; + +/** +

The distance unit used for the NearestDistance property returned in a forecasted event. The measurement system must match for DistanceUnit and SpeedUnit; if Kilometers is specified for DistanceUnit, then SpeedUnit must be KilometersPerHour.

Default Value: Kilometers

+ */ +@property (nonatomic, assign) AWSLocationDistanceUnit distanceUnit; + +/** +

An optional limit for the number of resources returned in a single call.

Default value: 20

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

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

The speed unit for the device captured by the device state. The measurement system must match for DistanceUnit and SpeedUnit; if Kilometers is specified for DistanceUnit, then SpeedUnit must be KilometersPerHour.

Default Value: KilometersPerHour.

+ */ +@property (nonatomic, assign) AWSLocationSpeedUnit speedUnit; + +/** +

Specifies the time horizon in minutes for the forecasted events.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable timeHorizonMinutes; + +@end + +/** + + */ +@interface AWSLocationForecastGeofenceEventsResponse : AWSModel + + +/** +

The distance unit for the forecasted events.

+ */ +@property (nonatomic, assign) AWSLocationDistanceUnit distanceUnit; + +/** +

The list of forecasted events.

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

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

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

The speed unit for the forecasted events.

+ */ +@property (nonatomic, assign) AWSLocationSpeedUnit speedUnit; + +@end + +/** +

A forecasted event represents a geofence event in relation to the requested device state, that may occur given the provided device state and time horizon.

+ Required parameters: [EventId, GeofenceId, IsDeviceInGeofence, NearestDistance, EventType] + */ +@interface AWSLocationForecastedEvent : AWSModel + + +/** +

The forecasted event identifier.

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

The event type, forecasting three states for which a device can be in relative to a geofence:

ENTER: If a device is outside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

EXIT: If a device is inside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

IDLE: If a device is inside of a geofence, and the device is not moving.

+ */ +@property (nonatomic, assign) AWSLocationForecastedGeofenceEventType eventType; + +/** +

The forecasted time the device will breach the geofence in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

+ */ +@property (nonatomic, strong) NSDate * _Nullable forecastedBreachTime; + +/** +

The geofence identifier pertaining to the forecasted event.

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

The geofence properties.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable geofenceProperties; + +/** +

Indicates if the device is located within the geofence.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable isDeviceInGeofence; + +/** +

The closest distance from the device's position to the geofence.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable nearestDistance; + +@end + +/** +

Contains the geofence geometry details.

A geofence geometry is made up of either a polygon or a circle. Can be a polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

Amazon Location doesn't currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.

*/ @interface AWSLocationGeofenceGeometry : AWSModel @@ -2088,6 +2306,11 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { */ @property (nonatomic, strong) AWSLocationCircle * _Nullable circle; +/** +

Geobuf is a compact binary encoding for geographic data that provides lossless compression of GeoJSON polygons. The Geobuf must be Base64-encoded.

A polygon in Geobuf format can have up to 100,000 vertices.

+ */ +@property (nonatomic, strong) NSData * _Nullable geobuf; + /**

A polygon is a list of linear rings which are each made up of a list of vertices.

Each vertex is a 2-dimensional point of the form: [longitude, latitude]. This is represented as an array of doubles of length 2 (so [double, double]).

An array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary), is called a linear ring. The linear ring vertices must be listed in counter-clockwise order around the ring’s interior. The linear ring is represented as an array of vertices, or an array of arrays of doubles ([[double, double], ...]).

A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ([[[double, double], ...], ...]).

A linear ring for use in geofences can consist of between 4 and 1,000 vertices.

*/ @@ -2196,7 +2419,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @property (nonatomic, strong) NSDictionary * _Nullable positionProperties; /** -

The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

+

The timestamp for when the tracker resource received the device position. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

*/ @property (nonatomic, strong) NSDate * _Nullable receivedTime; @@ -2270,7 +2493,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /** -

A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

Valid font stacks for Esri styles:

  • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

  • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

  • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

  • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

  • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold | Arial Unicode MS Bold | Arial Unicode MS Regular

Valid font stacks for HERE Technologies styles:

  • VectorHereContrast – Fira GO Regular | Fira GO Bold

  • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

Valid font stacks for GrabMaps styles:

  • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

Valid font stacks for Open Data styles:

  • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

+

A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

Valid font stacks for Esri styles:

  • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

  • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

  • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

  • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

  • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold

Valid font stacks for HERE Technologies styles:

  • VectorHereContrast – Fira GO Regular | Fira GO Bold

  • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

Valid font stacks for GrabMaps styles:

  • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

Valid font stacks for Open Data styles:

  • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

*/ @property (nonatomic, strong) NSString * _Nullable fontStack; @@ -2479,7 +2702,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @property (nonatomic, strong) NSString * _Nullable language; /** -

The identifier of the place to find.

While you can use PlaceID in subsequent requests, PlaceID is not intended to be a permanent identifier and the ID can change between consecutive API calls. Please see the following PlaceID behaviour for each data provider:

  • Esri: Place IDs will change every quarter at a minimum. The typical time period for these changes would be March, June, September, and December. Place IDs might also change between the typical quarterly change but that will be much less frequent.

  • HERE: We recommend that you cache data for no longer than a week to keep your data data fresh. You can assume that less than 1% ID shifts will release over release which is approximately 1 - 2 times per week.

  • Grab: Place IDs can expire or become invalid in the following situations.

    • Data operations: The POI may be removed from Grab POI database by Grab Map Ops based on the ground-truth, such as being closed in the real world, being detected as a duplicate POI, or having incorrect information. Grab will synchronize data to the Waypoint environment on weekly basis.

    • Interpolated POI: Interpolated POI is a temporary POI generated in real time when serving a request, and it will be marked as derived in the place.result_type field in the response. The information of interpolated POIs will be retained for at least 30 days, which means that within 30 days, you are able to obtain POI details by Place ID from Place Details API. After 30 days, the interpolated POIs(both Place ID and details) may expire and inaccessible from the Places Details API.

+

The identifier of the place to find.

*/ @property (nonatomic, strong) NSString * _Nullable placeId; @@ -2498,9 +2721,38 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @end +/** +

The inferred state of the device, given the provided position, IP address, cellular signals, and Wi-Fi- access points.

+ Required parameters: [ProxyDetected] + */ +@interface AWSLocationInferredState : AWSModel + + +/** +

The level of certainty of the inferred position.

+ */ +@property (nonatomic, strong) AWSLocationPositionalAccuracy * _Nullable accuracy; + +/** +

The distance between the inferred position and the device's self-reported position.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable deviationDistance; + +/** +

The device position inferred by the provided position, IP address, cellular signals, and Wi-Fi- access points.

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

Indicates if a proxy was used.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable proxyDetected; + +@end + /**

Contains the calculated route's details for each path between a pair of positions. The number of legs returned corresponds to one fewer than the total number of positions in the request.

For example, a route with a departure position and destination position returns one leg with the positions snapped to a nearby road:

  • The StartPosition is the departure position.

  • The EndPosition is the destination position.

A route with a waypoint between the departure and destination position returns two legs with the positions snapped to a nearby road:

  • Leg 1: The StartPosition is the departure position . The EndPosition is the waypoint positon.

  • Leg 2: The StartPosition is the waypoint position. The EndPosition is the destination position.

- Required parameters: [Distance, DurationSeconds, EndPosition, StartPosition, Steps] + Required parameters: [StartPosition, EndPosition, Distance, DurationSeconds, Steps] */ @interface AWSLocationLeg : AWSModel @@ -2598,7 +2850,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains the tracker resource details.

- Required parameters: [DeviceId, Position, SampleTime] + Required parameters: [DeviceId, SampleTime, Position] */ @interface AWSLocationListDevicePositionsResponseEntry : AWSModel @@ -2667,8 +2919,8 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @end /** -

Contains the geofence collection details.

- Required parameters: [CollectionName, CreateTime, Description, UpdateTime] +

Contains the geofence collection details.

The returned geometry will always match the geometry format used when the geofence was created.

+ Required parameters: [CollectionName, Description, CreateTime, UpdateTime] */ @interface AWSLocationListGeofenceCollectionsResponseEntry : AWSModel @@ -2706,8 +2958,8 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @end /** -

Contains a list of geofences stored in a given geofence collection.

- Required parameters: [CreateTime, GeofenceId, Geometry, Status, UpdateTime] +

Contains a list of geofences stored in a given geofence collection.

The returned geometry will always match the geometry format used when the geofence was created.

+ Required parameters: [GeofenceId, Geometry, Status, CreateTime, UpdateTime] */ @interface AWSLocationListGeofenceResponseEntry : AWSModel @@ -2828,7 +3080,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

An API key resource listed in your Amazon Web Services account.

- Required parameters: [CreateTime, ExpireTime, KeyName, Restrictions, UpdateTime] + Required parameters: [KeyName, ExpireTime, Restrictions, CreateTime, UpdateTime] */ @interface AWSLocationListKeysResponseEntry : AWSModel @@ -2903,7 +3155,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains details of an existing map resource in your Amazon Web Services account.

- Required parameters: [CreateTime, DataSource, Description, MapName, UpdateTime] + Required parameters: [MapName, Description, DataSource, CreateTime, UpdateTime] */ @interface AWSLocationListMapsResponseEntry : AWSModel @@ -2978,7 +3230,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

A place index resource listed in your Amazon Web Services account.

- Required parameters: [CreateTime, DataSource, Description, IndexName, UpdateTime] + Required parameters: [IndexName, Description, DataSource, CreateTime, UpdateTime] */ @interface AWSLocationListPlaceIndexesResponseEntry : AWSModel @@ -3053,7 +3305,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

A route calculator resource listed in your Amazon Web Services account.

- Required parameters: [CalculatorName, CreateTime, DataSource, Description, UpdateTime] + Required parameters: [CalculatorName, Description, DataSource, CreateTime, UpdateTime] */ @interface AWSLocationListRouteCalculatorsResponseEntry : AWSModel @@ -3195,7 +3447,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains the tracker resource details.

- Required parameters: [CreateTime, Description, TrackerName, UpdateTime] + Required parameters: [TrackerName, Description, CreateTime, UpdateTime] */ @interface AWSLocationListTrackersResponseEntry : AWSModel @@ -3232,6 +3484,118 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @end +/** +

Details about the Long-Term Evolution (LTE) network.

+ Required parameters: [CellId, Mcc, Mnc] + */ +@interface AWSLocationLteCellDetails : AWSModel + + +/** +

The E-UTRAN Cell Identifier (ECI).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable cellId; + +/** +

The LTE local identification information (local ID).

+ */ +@property (nonatomic, strong) AWSLocationLteLocalId * _Nullable localId; + +/** +

The Mobile Country Code (MCC).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable mcc; + +/** +

The Mobile Network Code (MNC)

+ */ +@property (nonatomic, strong) NSNumber * _Nullable mnc; + +/** +

The network measurements.

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

Indicates whether the LTE object is capable of supporting NR (new radio).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable nrCapable; + +/** +

Signal power of the reference signal received, measured in decibel-milliwatts (dBm).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable rsrp; + +/** +

Signal quality of the reference Signal received, measured in decibels (dB).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable rsrq; + +/** +

LTE Tracking Area Code (TAC).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable tac; + +/** +

Timing Advance (TA).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable timingAdvance; + +@end + +/** +

LTE local identification information (local ID).

+ Required parameters: [Earfcn, Pci] + */ +@interface AWSLocationLteLocalId : AWSModel + + +/** +

E-UTRA (Evolved Universal Terrestrial Radio Access) absolute radio frequency channel number (EARFCN).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable earfcn; + +/** +

Physical Cell ID (PCI).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable pci; + +@end + +/** +

LTE network measurements.

+ Required parameters: [Earfcn, CellId, Pci] + */ +@interface AWSLocationLteNetworkMeasurements : AWSModel + + +/** +

E-UTRAN Cell Identifier (ECI).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable cellId; + +/** +

E-UTRA (Evolved Universal Terrestrial Radio Access) absolute radio frequency channel number (EARFCN).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable earfcn; + +/** +

Physical Cell ID (PCI).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable pci; + +/** +

Signal power of the reference signal received, measured in dBm (decibel-milliwatts).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable rsrp; + +/** +

Signal quality of the reference Signal received, measured in decibels (dB).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable rsrq; + +@end + /**

Specifies the map tile style selected from an available provider.

Required parameters: [Style] @@ -3240,7 +3604,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /** -

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Currenlty only VectorEsriNavigation supports CustomLayers. For more information, see Custom Layers.

+

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Not all map resources or styles support custom layers. See Custom Layers for more information.

*/ @property (nonatomic, strong) NSArray * _Nullable customLayers; @@ -3250,7 +3614,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @property (nonatomic, strong) NSString * _Nullable politicalView; /** -

Specifies the map style selected from an available data provider.

Valid Esri map styles:

  • VectorEsriNavigation – The Esri Navigation map style, which provides a detailed basemap for the world symbolized with a custom navigation map style that's designed for use during the day in mobile devices. It also includes a richer set of places, such as shops, services, restaurants, attractions, and other points of interest. Enable the POI layer by setting it in CustomLayers to leverage the additional places data.

  • RasterEsriImagery – The Esri Imagery map style. A raster basemap that provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide.

  • VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.

  • VectorEsriTopographic – The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.

  • VectorEsriStreets – The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map style. The vector tile layer is similar in content and style to the World Street Map raster map.

  • VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A vector basemap with a dark gray, neutral background with minimal colors, labels, and features that's designed to draw attention to your thematic content.

Valid HERE Technologies map styles:

  • VectorHereExplore – A default HERE map style containing a neutral, global map and its features including roads, buildings, landmarks, and water features. It also now includes a fully designed map of Japan.

  • RasterHereExploreSatellite – A global map containing high resolution satellite imagery.

  • HybridHereExploreSatellite – A global map displaying the road network, street names, and city labels over satellite imagery. This style will automatically retrieve both raster and vector tiles, and your charges will be based on total tiles retrieved.

    Hybrid styles use both vector and raster tiles when rendering the map that you see. This means that more tiles are retrieved than when using either vector or raster tiles alone. Your charges will include all tiles retrieved.

  • VectorHereContrast – The HERE Contrast (Berlin) map style is a high contrast detailed base map of the world that blends 3D and 2D rendering.

    The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin has been deprecated, but will continue to work in applications that use it.

  • VectorHereExploreTruck – A global map containing truck restrictions and attributes (e.g. width / height / HAZMAT) symbolized with highlighted segments and icons on top of HERE Explore to support use cases within transport and logistics.

Valid GrabMaps map styles:

  • VectorGrabStandardLight – The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.

  • VectorGrabStandardDark – The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.

Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

Valid Open Data map styles:

  • VectorOpenDataStandardLight – The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataStandardDark – Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataVisualizationLight – The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.

  • VectorOpenDataVisualizationDark – The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.

+

Specifies the map style selected from an available data provider.

Valid Esri map styles:

  • VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A vector basemap with a dark gray, neutral background with minimal colors, labels, and features that's designed to draw attention to your thematic content.

  • RasterEsriImagery – The Esri Imagery map style. A raster basemap that provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide.

  • VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.

  • VectorEsriTopographic – The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.

  • VectorEsriStreets – The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map style. The vector tile layer is similar in content and style to the World Street Map raster map.

  • VectorEsriNavigation – The Esri Navigation map style, which provides a detailed basemap for the world symbolized with a custom navigation map style that's designed for use during the day in mobile devices.

Valid HERE Technologies map styles:

  • VectorHereContrast – The HERE Contrast (Berlin) map style is a high contrast detailed base map of the world that blends 3D and 2D rendering.

    The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin has been deprecated, but will continue to work in applications that use it.

  • VectorHereExplore – A default HERE map style containing a neutral, global map and its features including roads, buildings, landmarks, and water features. It also now includes a fully designed map of Japan.

  • VectorHereExploreTruck – A global map containing truck restrictions and attributes (e.g. width / height / HAZMAT) symbolized with highlighted segments and icons on top of HERE Explore to support use cases within transport and logistics.

  • RasterHereExploreSatellite – A global map containing high resolution satellite imagery.

  • HybridHereExploreSatellite – A global map displaying the road network, street names, and city labels over satellite imagery. This style will automatically retrieve both raster and vector tiles, and your charges will be based on total tiles retrieved.

    Hybrid styles use both vector and raster tiles when rendering the map that you see. This means that more tiles are retrieved than when using either vector or raster tiles alone. Your charges will include all tiles retrieved.

Valid GrabMaps map styles:

  • VectorGrabStandardLight – The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.

  • VectorGrabStandardDark – The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.

Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

Valid Open Data map styles:

  • VectorOpenDataStandardLight – The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataStandardDark – Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataVisualizationLight – The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.

  • VectorOpenDataVisualizationDark – The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.

*/ @property (nonatomic, strong) NSString * _Nullable style; @@ -3263,7 +3627,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /** -

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Currenlty only VectorEsriNavigation supports CustomLayers. For more information, see Custom Layers.

+

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Not all map resources or styles support custom layers. See Custom Layers for more information.

*/ @property (nonatomic, strong) NSArray * _Nullable customLayers; @@ -3337,7 +3701,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @property (nonatomic, strong) NSString * _Nullable street; /** -

An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

This property is only returned for a place index that uses Esri as a data provider. The property is represented as a district.

For more information about data providers, see Amazon Location Service data providers.

+

An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

This property supported by Esri and OpenData. The Esri property is district, and the OpenData property is borough.

*/ @property (nonatomic, strong) NSString * _Nullable subMunicipality; @@ -3357,12 +3721,12 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @property (nonatomic, strong) AWSLocationTimeZone * _Nullable timeZone; /** -

For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

This property is returned only for a place index that uses Esri or Grab as a data provider. It is not returned for SearchPlaceIndexForPosition.

+

For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

Returned only for a place index that uses Esri or Grab as a data provider. Is not returned for SearchPlaceIndexForPosition.

*/ @property (nonatomic, strong) NSString * _Nullable unitNumber; /** -

For addresses with a UnitNumber, the type of unit. For example, Apartment.

This property is returned only for a place index that uses Esri as a data provider.

+

For addresses with a UnitNumber, the type of unit. For example, Apartment.

Returned only for a place index that uses Esri as a data provider.

*/ @property (nonatomic, strong) NSString * _Nullable unitType; @@ -3417,7 +3781,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @property (nonatomic, strong) NSDictionary * _Nullable geofenceProperties; /** -

Contains the details to specify the position of the geofence. Can be either a polygon or a circle. Including both will return a validation error.

Each geofence polygon can have a maximum of 1,000 vertices.

+

Contains the details to specify the position of the geofence. Can be a polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

The geofence polygon format supports a maximum of 1,000 vertices. The Geofence Geobuf format supports a maximum of 100,000 vertices.

*/ @property (nonatomic, strong) AWSLocationGeofenceGeometry * _Nullable geometry; @@ -3490,7 +3854,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Contains a search result from a position search query that is run on a place index resource.

- Required parameters: [Distance, Place] + Required parameters: [Place, Distance] */ @interface AWSLocationSearchForPositionResult : AWSModel @@ -3525,7 +3889,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @property (nonatomic, strong) NSArray * _Nullable categories; /** -

The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.

The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.

For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.

While you can use PlaceID in subsequent requests, PlaceID is not intended to be a permanent identifier and the ID can change between consecutive API calls. Please see the following PlaceID behaviour for each data provider:

  • Esri: Place IDs will change every quarter at a minimum. The typical time period for these changes would be March, June, September, and December. Place IDs might also change between the typical quarterly change but that will be much less frequent.

  • HERE: We recommend that you cache data for no longer than a week to keep your data data fresh. You can assume that less than 1% ID shifts will release over release which is approximately 1 - 2 times per week.

  • Grab: Place IDs can expire or become invalid in the following situations.

    • Data operations: The POI may be removed from Grab POI database by Grab Map Ops based on the ground-truth, such as being closed in the real world, being detected as a duplicate POI, or having incorrect information. Grab will synchronize data to the Waypoint environment on weekly basis.

    • Interpolated POI: Interpolated POI is a temporary POI generated in real time when serving a request, and it will be marked as derived in the place.result_type field in the response. The information of interpolated POIs will be retained for at least 30 days, which means that within 30 days, you are able to obtain POI details by Place ID from Place Details API. After 30 days, the interpolated POIs(both Place ID and details) may expire and inaccessible from the Places Details API.

+

The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.

The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.

For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.

*/ @property (nonatomic, strong) NSString * _Nullable placeId; @@ -3623,7 +3987,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

A summary of the request sent by using SearchPlaceIndexForPosition.

- Required parameters: [DataSource, Position] + Required parameters: [Position, DataSource] */ @interface AWSLocationSearchPlaceIndexForPositionSummary : AWSModel @@ -3723,7 +4087,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

A summary of the request sent by using SearchPlaceIndexForSuggestions.

- Required parameters: [DataSource, Text] + Required parameters: [Text, DataSource] */ @interface AWSLocationSearchPlaceIndexForSuggestionsSummary : AWSModel @@ -3843,7 +4207,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

A summary of the request sent by using SearchPlaceIndexForText.

- Required parameters: [DataSource, Text] + Required parameters: [Text, DataSource] */ @interface AWSLocationSearchPlaceIndexForTextSummary : AWSModel @@ -3897,7 +4261,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

Represents an element of a leg within a route. A step contains instructions for how to move to the next step in the leg.

- Required parameters: [Distance, DurationSeconds, EndPosition, StartPosition] + Required parameters: [StartPosition, EndPosition, Distance, DurationSeconds] */ @interface AWSLocationStep : AWSModel @@ -4387,7 +4751,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /**

The input failed to meet the constraints specified by the AWS service in a specified field.

- Required parameters: [Message, Name] + Required parameters: [Name, Message] */ @interface AWSLocationValidationExceptionField : AWSModel @@ -4404,4 +4768,79 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @end +/** + + */ +@interface AWSLocationVerifyDevicePositionRequest : AWSRequest + + +/** +

The device's state, including position, IP address, cell signals and Wi-Fi access points.

+ */ +@property (nonatomic, strong) AWSLocationDeviceState * _Nullable deviceState; + +/** +

The distance unit for the verification request.

Default Value: Kilometers

+ */ +@property (nonatomic, assign) AWSLocationDistanceUnit distanceUnit; + +/** +

The name of the tracker resource to be associated with verification request.

+ */ +@property (nonatomic, strong) NSString * _Nullable trackerName; + +@end + +/** + + */ +@interface AWSLocationVerifyDevicePositionResponse : AWSModel + + +/** +

The device identifier.

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

The distance unit for the verification response.

+ */ +@property (nonatomic, assign) AWSLocationDistanceUnit distanceUnit; + +/** +

The inferred state of the device, given the provided position, IP address, cellular signals, and Wi-Fi- access points.

+ */ +@property (nonatomic, strong) AWSLocationInferredState * _Nullable inferredState; + +/** +

The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

+ */ +@property (nonatomic, strong) NSDate * _Nullable receivedTime; + +/** +

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

+ */ +@property (nonatomic, strong) NSDate * _Nullable sampleTime; + +@end + +/** +

Wi-Fi access point.

+ Required parameters: [MacAddress, Rss] + */ +@interface AWSLocationWiFiAccessPoint : AWSModel + + +/** +

Medium access control address (Mac).

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

Received signal strength (dBm) of the WLAN measurement data.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable rss; + +@end + NS_ASSUME_NONNULL_END diff --git a/AWSLocation/AWSLocationModel.m b/AWSLocation/AWSLocationModel.m index 7ac0ec2d6ec..ab3dd5eda94 100644 --- a/AWSLocation/AWSLocationModel.m +++ b/AWSLocation/AWSLocationModel.m @@ -938,6 +938,24 @@ + (NSValueTransformer *)weightJSONTransformer { @end +@implementation AWSLocationCellSignals + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"lteCellDetails" : @"LteCellDetails", + }; +} + ++ (NSValueTransformer *)lteCellDetailsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSLocationLteCellDetails class]]; +} + +@end + @implementation AWSLocationCircle + (BOOL)supportsSecureCoding { @@ -2117,6 +2135,46 @@ + (NSValueTransformer *)sampleTimeJSONTransformer { @end +@implementation AWSLocationDeviceState + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"accuracy" : @"Accuracy", + @"cellSignals" : @"CellSignals", + @"deviceId" : @"DeviceId", + @"ipv4Address" : @"Ipv4Address", + @"position" : @"Position", + @"sampleTime" : @"SampleTime", + @"wiFiAccessPoints" : @"WiFiAccessPoints", + }; +} + ++ (NSValueTransformer *)accuracyJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLocationPositionalAccuracy class]]; +} + ++ (NSValueTransformer *)cellSignalsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLocationCellSignals class]]; +} + ++ (NSValueTransformer *)sampleTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)wiFiAccessPointsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSLocationWiFiAccessPoint class]]; +} + +@end + @implementation AWSLocationDisassociateTrackerConsumerRequest + (BOOL)supportsSecureCoding { @@ -2140,6 +2198,204 @@ + (BOOL)supportsSecureCoding { @end +@implementation AWSLocationForecastGeofenceEventsDeviceState + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"position" : @"Position", + @"speed" : @"Speed", + }; +} + +@end + +@implementation AWSLocationForecastGeofenceEventsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"collectionName" : @"CollectionName", + @"deviceState" : @"DeviceState", + @"distanceUnit" : @"DistanceUnit", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + @"speedUnit" : @"SpeedUnit", + @"timeHorizonMinutes" : @"TimeHorizonMinutes", + }; +} + ++ (NSValueTransformer *)deviceStateJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLocationForecastGeofenceEventsDeviceState class]]; +} + ++ (NSValueTransformer *)distanceUnitJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"Kilometers"] == NSOrderedSame) { + return @(AWSLocationDistanceUnitKilometers); + } + if ([value caseInsensitiveCompare:@"Miles"] == NSOrderedSame) { + return @(AWSLocationDistanceUnitMiles); + } + return @(AWSLocationDistanceUnitUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLocationDistanceUnitKilometers: + return @"Kilometers"; + case AWSLocationDistanceUnitMiles: + return @"Miles"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)speedUnitJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"KilometersPerHour"] == NSOrderedSame) { + return @(AWSLocationSpeedUnitKilometersPerHour); + } + if ([value caseInsensitiveCompare:@"MilesPerHour"] == NSOrderedSame) { + return @(AWSLocationSpeedUnitMilesPerHour); + } + return @(AWSLocationSpeedUnitUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLocationSpeedUnitKilometersPerHour: + return @"KilometersPerHour"; + case AWSLocationSpeedUnitMilesPerHour: + return @"MilesPerHour"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSLocationForecastGeofenceEventsResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"distanceUnit" : @"DistanceUnit", + @"forecastedEvents" : @"ForecastedEvents", + @"nextToken" : @"NextToken", + @"speedUnit" : @"SpeedUnit", + }; +} + ++ (NSValueTransformer *)distanceUnitJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"Kilometers"] == NSOrderedSame) { + return @(AWSLocationDistanceUnitKilometers); + } + if ([value caseInsensitiveCompare:@"Miles"] == NSOrderedSame) { + return @(AWSLocationDistanceUnitMiles); + } + return @(AWSLocationDistanceUnitUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLocationDistanceUnitKilometers: + return @"Kilometers"; + case AWSLocationDistanceUnitMiles: + return @"Miles"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)forecastedEventsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSLocationForecastedEvent class]]; +} + ++ (NSValueTransformer *)speedUnitJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"KilometersPerHour"] == NSOrderedSame) { + return @(AWSLocationSpeedUnitKilometersPerHour); + } + if ([value caseInsensitiveCompare:@"MilesPerHour"] == NSOrderedSame) { + return @(AWSLocationSpeedUnitMilesPerHour); + } + return @(AWSLocationSpeedUnitUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLocationSpeedUnitKilometersPerHour: + return @"KilometersPerHour"; + case AWSLocationSpeedUnitMilesPerHour: + return @"MilesPerHour"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSLocationForecastedEvent + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"eventId" : @"EventId", + @"eventType" : @"EventType", + @"forecastedBreachTime" : @"ForecastedBreachTime", + @"geofenceId" : @"GeofenceId", + @"geofenceProperties" : @"GeofenceProperties", + @"isDeviceInGeofence" : @"IsDeviceInGeofence", + @"nearestDistance" : @"NearestDistance", + }; +} + ++ (NSValueTransformer *)eventTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ENTER"] == NSOrderedSame) { + return @(AWSLocationForecastedGeofenceEventTypeEnter); + } + if ([value caseInsensitiveCompare:@"EXIT"] == NSOrderedSame) { + return @(AWSLocationForecastedGeofenceEventTypeExit); + } + if ([value caseInsensitiveCompare:@"IDLE"] == NSOrderedSame) { + return @(AWSLocationForecastedGeofenceEventTypeIdle); + } + return @(AWSLocationForecastedGeofenceEventTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLocationForecastedGeofenceEventTypeEnter: + return @"ENTER"; + case AWSLocationForecastedGeofenceEventTypeExit: + return @"EXIT"; + case AWSLocationForecastedGeofenceEventTypeIdle: + return @"IDLE"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)forecastedBreachTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + +@end + @implementation AWSLocationGeofenceGeometry + (BOOL)supportsSecureCoding { @@ -2149,6 +2405,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"circle" : @"Circle", + @"geobuf" : @"Geobuf", @"polygon" : @"Polygon", }; } @@ -2486,6 +2743,27 @@ + (NSValueTransformer *)placeJSONTransformer { @end +@implementation AWSLocationInferredState + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"accuracy" : @"Accuracy", + @"deviationDistance" : @"DeviationDistance", + @"position" : @"Position", + @"proxyDetected" : @"ProxyDetected", + }; +} + ++ (NSValueTransformer *)accuracyJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLocationPositionalAccuracy class]]; +} + +@end + @implementation AWSLocationLeg + (BOOL)supportsSecureCoding { @@ -3291,6 +3569,70 @@ + (NSValueTransformer *)updateTimeJSONTransformer { @end +@implementation AWSLocationLteCellDetails + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"cellId" : @"CellId", + @"localId" : @"LocalId", + @"mcc" : @"Mcc", + @"mnc" : @"Mnc", + @"networkMeasurements" : @"NetworkMeasurements", + @"nrCapable" : @"NrCapable", + @"rsrp" : @"Rsrp", + @"rsrq" : @"Rsrq", + @"tac" : @"Tac", + @"timingAdvance" : @"TimingAdvance", + }; +} + ++ (NSValueTransformer *)localIdJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLocationLteLocalId class]]; +} + ++ (NSValueTransformer *)networkMeasurementsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSLocationLteNetworkMeasurements class]]; +} + +@end + +@implementation AWSLocationLteLocalId + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"earfcn" : @"Earfcn", + @"pci" : @"Pci", + }; +} + +@end + +@implementation AWSLocationLteNetworkMeasurements + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"cellId" : @"CellId", + @"earfcn" : @"Earfcn", + @"pci" : @"Pci", + @"rsrp" : @"Rsrp", + @"rsrq" : @"Rsrq", + }; +} + +@end + @implementation AWSLocationMapConfiguration + (BOOL)supportsSecureCoding { @@ -4373,3 +4715,118 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { } @end + +@implementation AWSLocationVerifyDevicePositionRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"deviceState" : @"DeviceState", + @"distanceUnit" : @"DistanceUnit", + @"trackerName" : @"TrackerName", + }; +} + ++ (NSValueTransformer *)deviceStateJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLocationDeviceState class]]; +} + ++ (NSValueTransformer *)distanceUnitJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"Kilometers"] == NSOrderedSame) { + return @(AWSLocationDistanceUnitKilometers); + } + if ([value caseInsensitiveCompare:@"Miles"] == NSOrderedSame) { + return @(AWSLocationDistanceUnitMiles); + } + return @(AWSLocationDistanceUnitUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLocationDistanceUnitKilometers: + return @"Kilometers"; + case AWSLocationDistanceUnitMiles: + return @"Miles"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSLocationVerifyDevicePositionResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"deviceId" : @"DeviceId", + @"distanceUnit" : @"DistanceUnit", + @"inferredState" : @"InferredState", + @"receivedTime" : @"ReceivedTime", + @"sampleTime" : @"SampleTime", + }; +} + ++ (NSValueTransformer *)distanceUnitJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"Kilometers"] == NSOrderedSame) { + return @(AWSLocationDistanceUnitKilometers); + } + if ([value caseInsensitiveCompare:@"Miles"] == NSOrderedSame) { + return @(AWSLocationDistanceUnitMiles); + } + return @(AWSLocationDistanceUnitUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLocationDistanceUnitKilometers: + return @"Kilometers"; + case AWSLocationDistanceUnitMiles: + return @"Miles"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)inferredStateJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLocationInferredState class]]; +} + ++ (NSValueTransformer *)receivedTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)sampleTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + +@end + +@implementation AWSLocationWiFiAccessPoint + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"macAddress" : @"MacAddress", + @"rss" : @"Rss", + }; +} + +@end diff --git a/AWSLocation/AWSLocationResources.m b/AWSLocation/AWSLocationResources.m index 545742382dd..dcaa0dc7a82 100644 --- a/AWSLocation/AWSLocationResources.m +++ b/AWSLocation/AWSLocationResources.m @@ -61,8 +61,8 @@ - (NSString *)definitionString { \"metadata\":{\ \"apiVersion\":\"2020-11-19\",\ \"endpointPrefix\":\"geo\",\ - \"jsonVersion\":\"1.1\",\ \"protocol\":\"rest-json\",\ + \"protocols\":[\"rest-json\"],\ \"serviceFullName\":\"Amazon Location Service\",\ \"serviceId\":\"Location\",\ \"signatureVersion\":\"v4\",\ @@ -622,6 +622,25 @@ - (NSString *)definitionString { \"documentation\":\"

Removes the association between a tracker resource and a geofence collection.

Once you unlink a tracker resource from a geofence collection, the tracker positions will no longer be automatically evaluated against geofences.

\",\ \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"}\ },\ + \"ForecastGeofenceEvents\":{\ + \"name\":\"ForecastGeofenceEvents\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/geofencing/v0/collections/{CollectionName}/forecast-geofence-events\",\ + \"responseCode\":200\ + },\ + \"input\":{\"shape\":\"ForecastGeofenceEventsRequest\"},\ + \"output\":{\"shape\":\"ForecastGeofenceEventsResponse\"},\ + \"errors\":[\ + {\"shape\":\"InternalServerException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ThrottlingException\"}\ + ],\ + \"documentation\":\"

Evaluates device positions against geofence geometries from a given geofence collection. The event forecasts three states for which a device can be in relative to a geofence:

ENTER: If a device is outside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

EXIT: If a device is inside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

IDLE: If a device is inside of a geofence, and the device is not moving.

\",\ + \"endpoint\":{\"hostPrefix\":\"geofencing.\"}\ + },\ \"GetDevicePosition\":{\ \"name\":\"GetDevicePosition\",\ \"http\":{\ @@ -676,7 +695,7 @@ - (NSString *)definitionString { {\"shape\":\"ValidationException\"},\ {\"shape\":\"ThrottlingException\"}\ ],\ - \"documentation\":\"

Retrieves the geofence details from a geofence collection.

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

Retrieves the geofence details from a geofence collection.

The returned geometry will always match the geometry format used when the geofence was created.

\",\ \"endpoint\":{\"hostPrefix\":\"geofencing.\"}\ },\ \"GetMapGlyphs\":{\ @@ -1192,6 +1211,25 @@ - (NSString *)definitionString { \"documentation\":\"

Updates the specified properties of a given tracker resource.

\",\ \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"},\ \"idempotent\":true\ + },\ + \"VerifyDevicePosition\":{\ + \"name\":\"VerifyDevicePosition\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/tracking/v0/trackers/{TrackerName}/positions/verify\",\ + \"responseCode\":200\ + },\ + \"input\":{\"shape\":\"VerifyDevicePositionRequest\"},\ + \"output\":{\"shape\":\"VerifyDevicePositionResponse\"},\ + \"errors\":[\ + {\"shape\":\"InternalServerException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ThrottlingException\"}\ + ],\ + \"documentation\":\"

Verifies the integrity of the device's position by determining if it was reported behind a proxy, and by comparing it to an inferred position estimated based on the device's state.

\",\ + \"endpoint\":{\"hostPrefix\":\"tracking.\"}\ }\ },\ \"shapes\":{\ @@ -1221,7 +1259,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":200,\ \"min\":5,\ - \"pattern\":\"^geo:\\\\w*\\\\*?$\"\ + \"pattern\":\"(geo|geo-routes|geo-places|geo-maps):\\\\w*\\\\*?\"\ },\ \"ApiKeyFilter\":{\ \"type\":\"structure\",\ @@ -1244,13 +1282,13 @@ - (NSString *)definitionString { \"shape\":\"ApiKeyRestrictionsAllowActionsList\",\ \"documentation\":\"

A list of allowed actions that an API key resource grants permissions to perform. You must have at least one action for each type of resource. For example, if you have a place resource, you must include at least one place action.

The following are valid values for the actions.

  • Map actions

    • geo:GetMap* - Allows all actions needed for map rendering.

  • Place actions

    • geo:SearchPlaceIndexForText - Allows geocoding.

    • geo:SearchPlaceIndexForPosition - Allows reverse geocoding.

    • geo:SearchPlaceIndexForSuggestions - Allows generating suggestions from text.

    • GetPlace - Allows finding a place by place ID.

  • Route actions

    • geo:CalculateRoute - Allows point to point routing.

    • geo:CalculateRouteMatrix - Allows calculating a matrix of routes.

You must use these strings exactly. For example, to provide access to map rendering, the only valid action is geo:GetMap* as an input to the list. [\\\"geo:GetMap*\\\"] is valid but [\\\"geo:GetMapTile\\\"] is not. Similarly, you cannot use [\\\"geo:SearchPlaceIndexFor*\\\"] - you must list each of the Place actions separately.

\"\ },\ - \"AllowReferers\":{\ - \"shape\":\"ApiKeyRestrictionsAllowReferersList\",\ - \"documentation\":\"

An optional list of allowed HTTP referers for which requests must originate from. Requests using this API key from other domains will not be allowed.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9) or any symbols in this list $\\\\-._+!*`(),;/?:@=&

  • May contain a percent (%) if followed by 2 hexadecimal digits (A-F, a-f, 0-9); this is used for URL encoding purposes.

  • May contain wildcard characters question mark (?) and asterisk (*).

    Question mark (?) will replace any single character (including hexadecimal digits).

    Asterisk (*) will replace any multiple characters (including multiple hexadecimal digits).

  • No spaces allowed. For example, https://example.com.

\"\ - },\ \"AllowResources\":{\ \"shape\":\"ApiKeyRestrictionsAllowResourcesList\",\ \"documentation\":\"

A list of allowed resource ARNs that a API key bearer can perform actions on.

  • The ARN must be the correct ARN for a map, place, or route ARN. You may include wildcards in the resource-id to match multiple resources of the same type.

  • The resources must be in the same partition, region, and account-id as the key that is being created.

  • Other than wildcards, you must include the full ARN, including the arn, partition, service, region, account-id and resource-id delimited by colons (:).

  • No spaces allowed, even with wildcards. For example, arn:aws:geo:region:account-id:map/ExampleMap*.

For more information about ARN format, see Amazon Resource Names (ARNs).

\"\ + },\ + \"AllowReferers\":{\ + \"shape\":\"ApiKeyRestrictionsAllowReferersList\",\ + \"documentation\":\"

An optional list of allowed HTTP referers for which requests must originate from. Requests using this API key from other domains will not be allowed.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9) or any symbols in this list $\\\\-._+!*`(),;/?:@=&

  • May contain a percent (%) if followed by 2 hexadecimal digits (A-F, a-f, 0-9); this is used for URL encoding purposes.

  • May contain wildcard characters question mark (?) and asterisk (*).

    Question mark (?) will replace any single character (including hexadecimal digits).

    Asterisk (*) will replace any multiple characters (including multiple hexadecimal digits).

  • No spaces allowed. For example, https://example.com.

\"\ }\ },\ \"documentation\":\"

API Restrictions on the allowed actions, resources, and referers for an API key resource.

\"\ @@ -1269,7 +1307,7 @@ - (NSString *)definitionString { },\ \"ApiKeyRestrictionsAllowResourcesList\":{\ \"type\":\"list\",\ - \"member\":{\"shape\":\"GeoArn\"},\ + \"member\":{\"shape\":\"GeoArnV2\"},\ \"max\":5,\ \"min\":1\ },\ @@ -1277,7 +1315,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":1600,\ \"min\":0,\ - \"pattern\":\"^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?$\"\ + \"pattern\":\"arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?\"\ },\ \"ArnList\":{\ \"type\":\"list\",\ @@ -1286,19 +1324,19 @@ - (NSString *)definitionString { \"AssociateTrackerConsumerRequest\":{\ \"type\":\"structure\",\ \"required\":[\ - \"ConsumerArn\",\ - \"TrackerName\"\ + \"TrackerName\",\ + \"ConsumerArn\"\ ],\ \"members\":{\ - \"ConsumerArn\":{\ - \"shape\":\"Arn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) for the geofence collection to be associated to tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer

\"\ - },\ \"TrackerName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the tracker resource to be associated with a geofence collection.

\",\ \"location\":\"uri\",\ \"locationName\":\"TrackerName\"\ + },\ + \"ConsumerArn\":{\ + \"shape\":\"Arn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) for the geofence collection to be associated to tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer

\"\ }\ }\ },\ @@ -1307,6 +1345,12 @@ - (NSString *)definitionString { \"members\":{\ }\ },\ + \"Base64EncodedGeobuf\":{\ + \"type\":\"blob\",\ + \"max\":600000,\ + \"min\":0,\ + \"sensitive\":true\ + },\ \"BatchDeleteDevicePositionHistoryError\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -1329,19 +1373,19 @@ - (NSString *)definitionString { \"BatchDeleteDevicePositionHistoryRequest\":{\ \"type\":\"structure\",\ \"required\":[\ - \"DeviceIds\",\ - \"TrackerName\"\ + \"TrackerName\",\ + \"DeviceIds\"\ ],\ \"members\":{\ - \"DeviceIds\":{\ - \"shape\":\"BatchDeleteDevicePositionHistoryRequestDeviceIdsList\",\ - \"documentation\":\"

Devices whose position history you want to delete.

  • For example, for two devices: “DeviceIds” : [DeviceId1,DeviceId2]

\"\ - },\ \"TrackerName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the tracker resource to delete the device position history from.

\",\ \"location\":\"uri\",\ \"locationName\":\"TrackerName\"\ + },\ + \"DeviceIds\":{\ + \"shape\":\"BatchDeleteDevicePositionHistoryRequestDeviceIdsList\",\ + \"documentation\":\"

Devices whose position history you want to delete.

  • For example, for two devices: “DeviceIds” : [DeviceId1,DeviceId2]

\"\ }\ }\ },\ @@ -1364,17 +1408,17 @@ - (NSString *)definitionString { \"BatchDeleteGeofenceError\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Error\",\ - \"GeofenceId\"\ + \"GeofenceId\",\ + \"Error\"\ ],\ \"members\":{\ - \"Error\":{\ - \"shape\":\"BatchItemError\",\ - \"documentation\":\"

Contains details associated to the batch error.

\"\ - },\ \"GeofenceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The geofence associated with the error message.

\"\ + },\ + \"Error\":{\ + \"shape\":\"BatchItemError\",\ + \"documentation\":\"

Contains details associated to the batch error.

\"\ }\ },\ \"documentation\":\"

Contains error details for each geofence that failed to delete from the geofence collection.

\"\ @@ -1422,21 +1466,21 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"DeviceId\",\ - \"Error\",\ - \"SampleTime\"\ + \"SampleTime\",\ + \"Error\"\ ],\ \"members\":{\ \"DeviceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The device associated with the position evaluation error.

\"\ },\ - \"Error\":{\ - \"shape\":\"BatchItemError\",\ - \"documentation\":\"

Contains details associated to the batch error.

\"\ - },\ \"SampleTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

Specifies a timestamp for when the error occurred in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ + \"Error\":{\ + \"shape\":\"BatchItemError\",\ + \"documentation\":\"

Contains details associated to the batch error.

\"\ }\ },\ \"documentation\":\"

Contains error details for each device that failed to evaluate its position against the geofences in a given geofence collection.

\"\ @@ -1505,19 +1549,19 @@ - (NSString *)definitionString { \"BatchGetDevicePositionRequest\":{\ \"type\":\"structure\",\ \"required\":[\ - \"DeviceIds\",\ - \"TrackerName\"\ + \"TrackerName\",\ + \"DeviceIds\"\ ],\ \"members\":{\ - \"DeviceIds\":{\ - \"shape\":\"BatchGetDevicePositionRequestDeviceIdsList\",\ - \"documentation\":\"

Devices whose position you want to retrieve.

  • For example, for two devices: device-ids=DeviceId1&device-ids=DeviceId2

\"\ - },\ \"TrackerName\":{\ \"shape\":\"BatchGetDevicePositionRequestTrackerNameString\",\ \"documentation\":\"

The tracker resource retrieving the device position.

\",\ \"location\":\"uri\",\ \"locationName\":\"TrackerName\"\ + },\ + \"DeviceIds\":{\ + \"shape\":\"BatchGetDevicePositionRequestDeviceIdsList\",\ + \"documentation\":\"

Devices whose position you want to retrieve.

  • For example, for two devices: device-ids=DeviceId1&device-ids=DeviceId2

\"\ }\ }\ },\ @@ -1530,22 +1574,22 @@ - (NSString *)definitionString { \"BatchGetDevicePositionRequestTrackerNameString\":{\ \"type\":\"string\",\ \"min\":1,\ - \"pattern\":\"^[-._\\\\w]+$\"\ + \"pattern\":\"[-._\\\\w]+\"\ },\ \"BatchGetDevicePositionResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"DevicePositions\",\ - \"Errors\"\ + \"Errors\",\ + \"DevicePositions\"\ ],\ \"members\":{\ - \"DevicePositions\":{\ - \"shape\":\"DevicePositionList\",\ - \"documentation\":\"

Contains device position details such as the device ID, position, and timestamps for when the position was received and sampled.

\"\ - },\ \"Errors\":{\ \"shape\":\"BatchGetDevicePositionErrorList\",\ \"documentation\":\"

Contains error details for each device that failed to send its position to the tracker resource.

\"\ + },\ + \"DevicePositions\":{\ + \"shape\":\"DevicePositionList\",\ + \"documentation\":\"

Contains device position details such as the device ID, position, and timestamps for when the position was received and sampled.

\"\ }\ }\ },\ @@ -1577,17 +1621,17 @@ - (NSString *)definitionString { \"BatchPutGeofenceError\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Error\",\ - \"GeofenceId\"\ + \"GeofenceId\",\ + \"Error\"\ ],\ \"members\":{\ - \"Error\":{\ - \"shape\":\"BatchItemError\",\ - \"documentation\":\"

Contains details associated to the batch error.

\"\ - },\ \"GeofenceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The geofence associated with the error message.

\"\ + },\ + \"Error\":{\ + \"shape\":\"BatchItemError\",\ + \"documentation\":\"

Contains details associated to the batch error.

\"\ }\ },\ \"documentation\":\"

Contains error details for each geofence that failed to be stored in a given geofence collection.

\"\ @@ -1632,13 +1676,13 @@ - (NSString *)definitionString { \"shape\":\"Id\",\ \"documentation\":\"

The identifier for the geofence to be stored in a given geofence collection.

\"\ },\ + \"Geometry\":{\ + \"shape\":\"GeofenceGeometry\",\ + \"documentation\":\"

Contains the details to specify the position of the geofence. Can be a polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

The geofence polygon format supports a maximum of 1,000 vertices. The Geofence geobuf format supports a maximum of 100,000 vertices.

\"\ + },\ \"GeofenceProperties\":{\ \"shape\":\"PropertyMap\",\ \"documentation\":\"

Associates one of more properties with the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \\\"key\\\" : \\\"value\\\"

\"\ - },\ - \"Geometry\":{\ - \"shape\":\"GeofenceGeometry\",\ - \"documentation\":\"

Contains the details of the position of the geofence. Can be either a polygon or a circle. Including both will return a validation error.

Each geofence polygon can have a maximum of 1,000 vertices.

\"\ }\ },\ \"documentation\":\"

Contains geofence geometry details.

\"\ @@ -1646,36 +1690,36 @@ - (NSString *)definitionString { \"BatchPutGeofenceResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Errors\",\ - \"Successes\"\ + \"Successes\",\ + \"Errors\"\ ],\ \"members\":{\ - \"Errors\":{\ - \"shape\":\"BatchPutGeofenceErrorList\",\ - \"documentation\":\"

Contains additional error details for each geofence that failed to be stored in a geofence collection.

\"\ - },\ \"Successes\":{\ \"shape\":\"BatchPutGeofenceSuccessList\",\ \"documentation\":\"

Contains each geofence that was successfully stored in a geofence collection.

\"\ + },\ + \"Errors\":{\ + \"shape\":\"BatchPutGeofenceErrorList\",\ + \"documentation\":\"

Contains additional error details for each geofence that failed to be stored in a geofence collection.

\"\ }\ }\ },\ \"BatchPutGeofenceSuccess\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ \"GeofenceId\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ - },\ \"GeofenceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The geofence successfully stored in a geofence collection.

\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ @@ -1691,21 +1735,21 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"DeviceId\",\ - \"Error\",\ - \"SampleTime\"\ + \"SampleTime\",\ + \"Error\"\ ],\ \"members\":{\ \"DeviceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The device associated with the failed location update.

\"\ },\ - \"Error\":{\ - \"shape\":\"BatchItemError\",\ - \"documentation\":\"

Contains details related to the error code such as the error code and error message.

\"\ - },\ \"SampleTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp at which the device position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ + \"Error\":{\ + \"shape\":\"BatchItemError\",\ + \"documentation\":\"

Contains details related to the error code such as the error code and error message.

\"\ }\ },\ \"documentation\":\"

Contains error details for each device that failed to update its position.

\"\ @@ -1789,43 +1833,43 @@ - (NSString *)definitionString { \"location\":\"uri\",\ \"locationName\":\"CalculatorName\"\ },\ - \"CarModeOptions\":{\ - \"shape\":\"CalculateRouteCarModeOptions\",\ - \"documentation\":\"

Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

Requirements: TravelMode must be specified as Car.

\"\ - },\ - \"DepartNow\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

Sets the time of departure as the current time. Uses the current time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel with the best traffic conditions is used to calculate the route matrix.

Default Value: false

Valid Values: false | true

\"\ - },\ \"DeparturePositions\":{\ \"shape\":\"CalculateRouteMatrixRequestDeparturePositionsList\",\ \"documentation\":\"

The list of departure (origin) positions for the route matrix. An array of points, each of which is itself a 2-value array defined in WGS 84 format: [longitude, latitude]. For example, [-123.115, 49.285].

Depending on the data provider selected in the route calculator resource there may be additional restrictions on the inputs you can choose. See Position restrictions in the Amazon Location Service Developer Guide.

For route calculators that use Esri as the data provider, if you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road. The snapped value is available in the result in SnappedDeparturePositions.

Valid Values: [-180 to 180,-90 to 90]

\"\ },\ + \"DestinationPositions\":{\ + \"shape\":\"CalculateRouteMatrixRequestDestinationPositionsList\",\ + \"documentation\":\"

The list of destination positions for the route matrix. An array of points, each of which is itself a 2-value array defined in WGS 84 format: [longitude, latitude]. For example, [-122.339, 47.615]

Depending on the data provider selected in the route calculator resource there may be additional restrictions on the inputs you can choose. See Position restrictions in the Amazon Location Service Developer Guide.

For route calculators that use Esri as the data provider, if you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road. The snapped value is available in the result in SnappedDestinationPositions.

Valid Values: [-180 to 180,-90 to 90]

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

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

The TravelMode you specify also determines how you specify route preferences:

  • If traveling by Car use the CarModeOptions parameter.

  • If traveling by Truck use the TruckModeOptions parameter.

Bicycle or Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

Truck is not available for Grab.

For more information about using Grab as a data provider, see GrabMaps in the Amazon Location Service Developer Guide.

Default Value: Car

\"\ + },\ \"DepartureTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

Specifies the desired time of departure. Uses the given time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel with the best traffic conditions is used to calculate the route matrix.

Setting a departure time in the past returns a 400 ValidationException error.

  • In ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00

\"\ },\ - \"DestinationPositions\":{\ - \"shape\":\"CalculateRouteMatrixRequestDestinationPositionsList\",\ - \"documentation\":\"

The list of destination positions for the route matrix. An array of points, each of which is itself a 2-value array defined in WGS 84 format: [longitude, latitude]. For example, [-122.339, 47.615]

Depending on the data provider selected in the route calculator resource there may be additional restrictions on the inputs you can choose. See Position restrictions in the Amazon Location Service Developer Guide.

For route calculators that use Esri as the data provider, if you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road. The snapped value is available in the result in SnappedDestinationPositions.

Valid Values: [-180 to 180,-90 to 90]

\"\ + \"DepartNow\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Sets the time of departure as the current time. Uses the current time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel with the best traffic conditions is used to calculate the route matrix.

Default Value: false

Valid Values: false | true

\"\ },\ \"DistanceUnit\":{\ \"shape\":\"DistanceUnit\",\ \"documentation\":\"

Set the unit system to specify the distance.

Default Value: Kilometers

\"\ },\ + \"CarModeOptions\":{\ + \"shape\":\"CalculateRouteCarModeOptions\",\ + \"documentation\":\"

Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

Requirements: TravelMode must be specified as Car.

\"\ + },\ + \"TruckModeOptions\":{\ + \"shape\":\"CalculateRouteTruckModeOptions\",\ + \"documentation\":\"

Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

Requirements: TravelMode must be specified as Truck.

\"\ + },\ \"Key\":{\ \"shape\":\"ApiKey\",\ \"documentation\":\"

The optional API key to authorize the request.

\",\ \"location\":\"querystring\",\ \"locationName\":\"key\"\ - },\ - \"TravelMode\":{\ - \"shape\":\"TravelMode\",\ - \"documentation\":\"

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

The TravelMode you specify also determines how you specify route preferences:

  • If traveling by Car use the CarModeOptions parameter.

  • If traveling by Truck use the TruckModeOptions parameter.

Bicycle or Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

Truck is not available for Grab.

For more information about using Grab as a data provider, see GrabMaps in the Amazon Location Service Developer Guide.

Default Value: Car

\"\ - },\ - \"TruckModeOptions\":{\ - \"shape\":\"CalculateRouteTruckModeOptions\",\ - \"documentation\":\"

Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

Requirements: TravelMode must be specified as Truck.

\"\ }\ }\ },\ @@ -1883,26 +1927,26 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"DataSource\",\ - \"DistanceUnit\",\ + \"RouteCount\",\ \"ErrorCount\",\ - \"RouteCount\"\ + \"DistanceUnit\"\ ],\ \"members\":{\ \"DataSource\":{\ \"shape\":\"String\",\ \"documentation\":\"

The data provider of traffic and road network data used to calculate the routes. Indicates one of the available providers:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ },\ - \"DistanceUnit\":{\ - \"shape\":\"DistanceUnit\",\ - \"documentation\":\"

The unit of measurement for route distances.

\"\ + \"RouteCount\":{\ + \"shape\":\"CalculateRouteMatrixSummaryRouteCountInteger\",\ + \"documentation\":\"

The count of cells in the route matrix. Equal to the number of DeparturePositions multiplied by the number of DestinationPositions.

\"\ },\ \"ErrorCount\":{\ \"shape\":\"CalculateRouteMatrixSummaryErrorCountInteger\",\ \"documentation\":\"

The count of error results in the route matrix. If this number is 0, all routes were calculated successfully.

\"\ },\ - \"RouteCount\":{\ - \"shape\":\"CalculateRouteMatrixSummaryRouteCountInteger\",\ - \"documentation\":\"

The count of cells in the route matrix. Equal to the number of DeparturePositions multiplied by the number of DestinationPositions.

\"\ + \"DistanceUnit\":{\ + \"shape\":\"DistanceUnit\",\ + \"documentation\":\"

The unit of measurement for route distances.

\"\ }\ },\ \"documentation\":\"

A summary of the calculated route matrix.

\"\ @@ -1927,35 +1971,35 @@ - (NSString *)definitionString { \"DestinationPosition\"\ ],\ \"members\":{\ - \"ArrivalTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

ArrivalTime is not supported Esri.

\"\ - },\ \"CalculatorName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the route calculator resource that you want to use to calculate the route.

\",\ \"location\":\"uri\",\ \"locationName\":\"CalculatorName\"\ },\ - \"CarModeOptions\":{\ - \"shape\":\"CalculateRouteCarModeOptions\",\ - \"documentation\":\"

Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

Requirements: TravelMode must be specified as Car.

\"\ - },\ - \"DepartNow\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

Default Value: false

Valid Values: false | true

\"\ - },\ \"DeparturePosition\":{\ \"shape\":\"Position\",\ \"documentation\":\"

The start position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

  • For example, [-123.115, 49.285]

If you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

Valid Values: [-180 to 180,-90 to 90]

\"\ },\ + \"DestinationPosition\":{\ + \"shape\":\"Position\",\ + \"documentation\":\"

The finish position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

  • For example, [-122.339, 47.615]

If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road.

Valid Values: [-180 to 180,-90 to 90]

\"\ + },\ + \"WaypointPositions\":{\ + \"shape\":\"CalculateRouteRequestWaypointPositionsList\",\ + \"documentation\":\"

Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure position and destination position.

  • For example, from the DeparturePosition [-123.115, 49.285], the route follows the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]]

If you specify a waypoint position that's not located on a road, Amazon Location moves the position to the nearest road.

Specifying more than 23 waypoints returns a 400 ValidationException error.

If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

Valid Values: [-180 to 180,-90 to 90]

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

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, Walking, Bicycle or Motorcycle as options for the TravelMode.

Bicycle and Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

Truck is not available for Grab.

For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon Location Service Developer Guide.

The TravelMode you specify also determines how you specify route preferences:

  • If traveling by Car use the CarModeOptions parameter.

  • If traveling by Truck use the TruckModeOptions parameter.

Default Value: Car

\"\ + },\ \"DepartureTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

  • In ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00

\"\ },\ - \"DestinationPosition\":{\ - \"shape\":\"Position\",\ - \"documentation\":\"

The finish position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

  • For example, [-122.339, 47.615]

If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road.

Valid Values: [-180 to 180,-90 to 90]

\"\ + \"DepartNow\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

Default Value: false

Valid Values: false | true

\"\ },\ \"DistanceUnit\":{\ \"shape\":\"DistanceUnit\",\ @@ -1965,27 +2009,27 @@ - (NSString *)definitionString { \"shape\":\"Boolean\",\ \"documentation\":\"

Set to include the geometry details in the result for each path between a pair of positions.

Default Value: false

Valid Values: false | true

\"\ },\ - \"Key\":{\ - \"shape\":\"ApiKey\",\ - \"documentation\":\"

The optional API key to authorize the request.

\",\ - \"location\":\"querystring\",\ - \"locationName\":\"key\"\ - },\ - \"OptimizeFor\":{\ - \"shape\":\"OptimizationMode\",\ - \"documentation\":\"

Specifies the distance to optimize for when calculating a route.

\"\ - },\ - \"TravelMode\":{\ - \"shape\":\"TravelMode\",\ - \"documentation\":\"

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, Walking, Bicycle or Motorcycle as options for the TravelMode.

Bicycle and Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

Truck is not available for Grab.

For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon Location Service Developer Guide.

The TravelMode you specify also determines how you specify route preferences:

  • If traveling by Car use the CarModeOptions parameter.

  • If traveling by Truck use the TruckModeOptions parameter.

Default Value: Car

\"\ + \"CarModeOptions\":{\ + \"shape\":\"CalculateRouteCarModeOptions\",\ + \"documentation\":\"

Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

Requirements: TravelMode must be specified as Car.

\"\ },\ \"TruckModeOptions\":{\ \"shape\":\"CalculateRouteTruckModeOptions\",\ \"documentation\":\"

Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

Requirements: TravelMode must be specified as Truck.

\"\ },\ - \"WaypointPositions\":{\ - \"shape\":\"CalculateRouteRequestWaypointPositionsList\",\ - \"documentation\":\"

Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure position and destination position.

  • For example, from the DeparturePosition [-123.115, 49.285], the route follows the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]]

If you specify a waypoint position that's not located on a road, Amazon Location moves the position to the nearest road.

Specifying more than 23 waypoints returns a 400 ValidationException error.

If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

Valid Values: [-180 to 180,-90 to 90]

\"\ + \"ArrivalTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

ArrivalTime is not supported Esri.

\"\ + },\ + \"OptimizeFor\":{\ + \"shape\":\"OptimizationMode\",\ + \"documentation\":\"

Specifies the distance to optimize for when calculating a route.

\"\ + },\ + \"Key\":{\ + \"shape\":\"ApiKey\",\ + \"documentation\":\"

The optional API key to authorize the request.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"key\"\ }\ }\ },\ @@ -2016,32 +2060,32 @@ - (NSString *)definitionString { \"CalculateRouteSummary\":{\ \"type\":\"structure\",\ \"required\":[\ + \"RouteBBox\",\ \"DataSource\",\ \"Distance\",\ - \"DistanceUnit\",\ \"DurationSeconds\",\ - \"RouteBBox\"\ + \"DistanceUnit\"\ ],\ \"members\":{\ - \"DataSource\":{\ - \"shape\":\"String\",\ + \"RouteBBox\":{\ + \"shape\":\"BoundingBox\",\ + \"documentation\":\"

Specifies a geographical box surrounding a route. Used to zoom into a route when displaying it in a map. For example, [min x, min y, max x, max y].

The first 2 bbox parameters describe the lower southwest corner:

  • The first bbox position is the X coordinate or longitude of the lower southwest corner.

  • The second bbox position is the Y coordinate or latitude of the lower southwest corner.

The next 2 bbox parameters describe the upper northeast corner:

  • The third bbox position is the X coordinate, or longitude of the upper northeast corner.

  • The fourth bbox position is the Y coordinate, or latitude of the upper northeast corner.

\"\ + },\ + \"DataSource\":{\ + \"shape\":\"String\",\ \"documentation\":\"

The data provider of traffic and road network data used to calculate the route. Indicates one of the available providers:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ },\ \"Distance\":{\ \"shape\":\"CalculateRouteSummaryDistanceDouble\",\ \"documentation\":\"

The total distance covered by the route. The sum of the distance travelled between every stop on the route.

If Esri is the data source for the route calculator, the route distance can’t be greater than 400 km. If the route exceeds 400 km, the response is a 400 RoutesValidationException error.

\"\ },\ - \"DistanceUnit\":{\ - \"shape\":\"DistanceUnit\",\ - \"documentation\":\"

The unit of measurement for route distances.

\"\ - },\ \"DurationSeconds\":{\ \"shape\":\"CalculateRouteSummaryDurationSecondsDouble\",\ \"documentation\":\"

The total travel time for the route measured in seconds. The sum of the travel time between every stop on the route.

\"\ },\ - \"RouteBBox\":{\ - \"shape\":\"BoundingBox\",\ - \"documentation\":\"

Specifies a geographical box surrounding a route. Used to zoom into a route when displaying it in a map. For example, [min x, min y, max x, max y].

The first 2 bbox parameters describe the lower southwest corner:

  • The first bbox position is the X coordinate or longitude of the lower southwest corner.

  • The second bbox position is the Y coordinate or latitude of the lower southwest corner.

The next 2 bbox parameters describe the upper northeast corner:

  • The third bbox position is the X coordinate, or longitude of the upper northeast corner.

  • The fourth bbox position is the Y coordinate, or latitude of the upper northeast corner.

\"\ + \"DistanceUnit\":{\ + \"shape\":\"DistanceUnit\",\ + \"documentation\":\"

The unit of measurement for route distances.

\"\ }\ },\ \"documentation\":\"

A summary of the calculated route.

\"\ @@ -2078,6 +2122,23 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Contains details about additional route preferences for requests that specify TravelMode as Truck.

\"\ },\ + \"CellSignals\":{\ + \"type\":\"structure\",\ + \"required\":[\"LteCellDetails\"],\ + \"members\":{\ + \"LteCellDetails\":{\ + \"shape\":\"CellSignalsLteCellDetailsList\",\ + \"documentation\":\"

Information about the Long-Term Evolution (LTE) network the device is connected to.

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

The cellular network communication infrastructure that the device uses.

\"\ + },\ + \"CellSignalsLteCellDetailsList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"LteCellDetails\"},\ + \"max\":16,\ + \"min\":1\ + },\ \"Circle\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -2113,25 +2174,21 @@ - (NSString *)definitionString { },\ \"exception\":true\ },\ - \"CountryCode\":{\ - \"type\":\"string\",\ - \"pattern\":\"^[A-Z]{3}$\"\ - },\ \"CountryCode3\":{\ \"type\":\"string\",\ \"max\":3,\ \"min\":3,\ - \"pattern\":\"^[A-Z]{3}$\"\ + \"pattern\":\"[A-Z]{3}\"\ },\ \"CountryCode3OrEmpty\":{\ \"type\":\"string\",\ \"max\":3,\ \"min\":0,\ - \"pattern\":\"^[A-Z]{3}$|^$\"\ + \"pattern\":\"[A-Z]{3}$|^\"\ },\ \"CountryCodeList\":{\ \"type\":\"list\",\ - \"member\":{\"shape\":\"CountryCode\"},\ + \"member\":{\"shape\":\"CountryCode3\"},\ \"max\":100,\ \"min\":1\ },\ @@ -2143,14 +2200,6 @@ - (NSString *)definitionString { \"shape\":\"ResourceName\",\ \"documentation\":\"

A custom name for the geofence collection.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

  • Must be a unique geofence collection name.

  • No spaces allowed. For example, ExampleGeofenceCollection.

\"\ },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

An optional description for the geofence collection.

\"\ - },\ - \"KmsKeyId\":{\ - \"shape\":\"KmsKeyId\",\ - \"documentation\":\"

A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

\"\ - },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ \"documentation\":\"

No longer used. If included, the only allowed value is RequestBasedUsage.

\",\ @@ -2163,28 +2212,36 @@ - (NSString *)definitionString { \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. No longer allowed.\"\ },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

An optional description for the geofence collection.

\"\ + },\ \"Tags\":{\ \"shape\":\"TagMap\",\ \"documentation\":\"

Applies one or more tags to the geofence collection. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

Format: \\\"key\\\" : \\\"value\\\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \\\"aws:\\\" as a prefix for a key.

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

A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

\"\ }\ }\ },\ \"CreateGeofenceCollectionResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CollectionArn\",\ \"CollectionName\",\ + \"CollectionArn\",\ \"CreateTime\"\ ],\ \"members\":{\ - \"CollectionArn\":{\ - \"shape\":\"Arn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) for the geofence collection resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection

\"\ - },\ \"CollectionName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name for the geofence collection.

\"\ },\ + \"CollectionArn\":{\ + \"shape\":\"Arn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) for the geofence collection resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection

\"\ + },\ \"CreateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ @@ -2198,6 +2255,14 @@ - (NSString *)definitionString { \"Restrictions\"\ ],\ \"members\":{\ + \"KeyName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

A custom name for the API key resource.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

  • Must be a unique API key name.

  • No spaces allowed. For example, ExampleAPIKey.

\"\ + },\ + \"Restrictions\":{\ + \"shape\":\"ApiKeyRestrictions\",\ + \"documentation\":\"

The API key restrictions for the API key resource.

\"\ + },\ \"Description\":{\ \"shape\":\"ResourceDescription\",\ \"documentation\":\"

An optional description for the API key resource.

\"\ @@ -2206,18 +2271,10 @@ - (NSString *)definitionString { \"shape\":\"Timestamp\",\ \"documentation\":\"

The optional timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. One of NoExpiry or ExpireTime must be set.

\"\ },\ - \"KeyName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

A custom name for the API key resource.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

  • Must be a unique API key name.

  • No spaces allowed. For example, ExampleAPIKey.

\"\ - },\ \"NoExpiry\":{\ \"shape\":\"Boolean\",\ \"documentation\":\"

Optionally set to true to set no expiration time for the API key. One of NoExpiry or ExpireTime must be set.

\"\ },\ - \"Restrictions\":{\ - \"shape\":\"ApiKeyRestrictions\",\ - \"documentation\":\"

The API key restrictions for the API key resource.

\"\ - },\ \"Tags\":{\ \"shape\":\"TagMap\",\ \"documentation\":\"

Applies one or more tags to the map resource. A tag is a key-value pair that helps manage, identify, search, and filter your resources by labelling them.

Format: \\\"key\\\" : \\\"value\\\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \\\"aws:\\\" as a prefix for a key.

\"\ @@ -2227,16 +2284,12 @@ - (NSString *)definitionString { \"CreateKeyResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ \"Key\",\ \"KeyArn\",\ - \"KeyName\"\ + \"KeyName\",\ + \"CreateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the API key resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ \"Key\":{\ \"shape\":\"ApiKey\",\ \"documentation\":\"

The key value/string of an API key. This value is used when making API calls to authorize the call. For example, see GetMapGlyphs.

\"\ @@ -2248,34 +2301,38 @@ - (NSString *)definitionString { \"KeyName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the API key resource.

\"\ + },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the API key resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ }\ }\ },\ \"CreateMapRequest\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Configuration\",\ - \"MapName\"\ + \"MapName\",\ + \"Configuration\"\ ],\ \"members\":{\ - \"Configuration\":{\ - \"shape\":\"MapConfiguration\",\ - \"documentation\":\"

Specifies the MapConfiguration, including the map style, for the map resource that you create. The map style defines the look of maps and the data provider for your map resource.

\"\ - },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

An optional description for the map resource.

\"\ - },\ \"MapName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name for the map resource.

Requirements:

  • Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

  • Must be a unique map resource name.

  • No spaces allowed. For example, ExampleMap.

\"\ },\ + \"Configuration\":{\ + \"shape\":\"MapConfiguration\",\ + \"documentation\":\"

Specifies the MapConfiguration, including the map style, for the map resource that you create. The map style defines the look of maps and the data provider for your map resource.

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

No longer used. If included, the only allowed value is RequestBasedUsage.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. If included, the only allowed value is RequestBasedUsage.\"\ },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

An optional description for the map resource.

\"\ + },\ \"Tags\":{\ \"shape\":\"TagMap\",\ \"documentation\":\"

Applies one or more tags to the map resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

Format: \\\"key\\\" : \\\"value\\\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \\\"aws:\\\" as a prefix for a key.

\"\ @@ -2285,54 +2342,54 @@ - (NSString *)definitionString { \"CreateMapResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ + \"MapName\",\ \"MapArn\",\ - \"MapName\"\ + \"CreateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + \"MapName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the map resource.

\"\ },\ \"MapArn\":{\ \"shape\":\"GeoArn\",\ \"documentation\":\"

The Amazon Resource Name (ARN) for the map resource. Used to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:map/ExampleMap

\"\ },\ - \"MapName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the map resource.

\"\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ }\ }\ },\ \"CreatePlaceIndexRequest\":{\ \"type\":\"structure\",\ \"required\":[\ - \"DataSource\",\ - \"IndexName\"\ + \"IndexName\",\ + \"DataSource\"\ ],\ \"members\":{\ - \"DataSource\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

Specifies the geospatial data provider for the new place index.

This field is case-sensitive. Enter the valid values as shown. For example, entering HERE returns an error.

Valid values include:

For additional information , see Data providers on the Amazon Location Service Developer Guide.

\"\ - },\ - \"DataSourceConfiguration\":{\ - \"shape\":\"DataSourceConfiguration\",\ - \"documentation\":\"

Specifies the data storage option requesting Places.

\"\ - },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

The optional description for the place index resource.

\"\ - },\ \"IndexName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the place index resource.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

  • Must be a unique place index resource name.

  • No spaces allowed. For example, ExamplePlaceIndex.

\"\ },\ + \"DataSource\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Specifies the geospatial data provider for the new place index.

This field is case-sensitive. Enter the valid values as shown. For example, entering HERE returns an error.

Valid values include:

For additional information , see Data providers on the Amazon Location Service Developer Guide.

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

No longer used. If included, the only allowed value is RequestBasedUsage.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. If included, the only allowed value is RequestBasedUsage.\"\ },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

The optional description for the place index resource.

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

Specifies the data storage option requesting Places.

\"\ + },\ \"Tags\":{\ \"shape\":\"TagMap\",\ \"documentation\":\"

Applies one or more tags to the place index resource. A tag is a key-value pair that helps you manage, identify, search, and filter your resources.

Format: \\\"key\\\" : \\\"value\\\"

Restrictions:

  • Maximum 50 tags per resource.

  • Each tag key must be unique and must have exactly one associated value.

  • Maximum key length: 128 Unicode characters in UTF-8.

  • Maximum value length: 256 Unicode characters in UTF-8.

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @

  • Cannot use \\\"aws:\\\" as a prefix for a key.

\"\ @@ -2342,22 +2399,22 @@ - (NSString *)definitionString { \"CreatePlaceIndexResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ + \"IndexName\",\ \"IndexArn\",\ - \"IndexName\"\ + \"CreateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + \"IndexName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name for the place index resource.

\"\ },\ \"IndexArn\":{\ \"shape\":\"GeoArn\",\ \"documentation\":\"

The Amazon Resource Name (ARN) for the place index resource. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex

\"\ },\ - \"IndexName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name for the place index resource.

\"\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ }\ }\ },\ @@ -2376,16 +2433,16 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"

Specifies the data provider of traffic and road network data.

This field is case-sensitive. Enter the valid values as shown. For example, entering HERE returns an error.

Valid values include:

For additional information , see Data providers on the Amazon Location Service Developer Guide.

\"\ },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

The optional description for the route calculator resource.

\"\ - },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ \"documentation\":\"

No longer used. If included, the only allowed value is RequestBasedUsage.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. If included, the only allowed value is RequestBasedUsage.\"\ },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

The optional description for the route calculator resource.

\"\ + },\ \"Tags\":{\ \"shape\":\"TagMap\",\ \"documentation\":\"

Applies one or more tags to the route calculator resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

  • For example: { \\\"tag1\\\" : \\\"value1\\\", \\\"tag2\\\" : \\\"value2\\\"}

Format: \\\"key\\\" : \\\"value\\\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \\\"aws:\\\" as a prefix for a key.

\"\ @@ -2395,19 +2452,19 @@ - (NSString *)definitionString { \"CreateRouteCalculatorResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CalculatorArn\",\ \"CalculatorName\",\ + \"CalculatorArn\",\ \"CreateTime\"\ ],\ \"members\":{\ - \"CalculatorArn\":{\ - \"shape\":\"GeoArn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) for the route calculator resource. Use the ARN when you specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:route-calculator/ExampleCalculator

\"\ - },\ \"CalculatorName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the route calculator resource.

  • For example, ExampleRouteCalculator.

\"\ },\ + \"CalculatorArn\":{\ + \"shape\":\"GeoArn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) for the route calculator resource. Use the ARN when you specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:route-calculator/ExampleCalculator

\"\ + },\ \"CreateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp when the route calculator resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

\"\ @@ -2418,25 +2475,9 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"TrackerName\"],\ \"members\":{\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

An optional description for the tracker resource.

\"\ - },\ - \"EventBridgeEnabled\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

\"\ - },\ - \"KmsKeyEnableGeospatialQueries\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

This parameter is only used if you are using a KMS customer managed key.

If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to true when creating or updating a Tracker.

\"\ - },\ - \"KmsKeyId\":{\ - \"shape\":\"KmsKeyId\",\ - \"documentation\":\"

A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

\"\ - },\ - \"PositionFiltering\":{\ - \"shape\":\"PositionFiltering\",\ - \"documentation\":\"

Specifies the position filtering for the tracker resource.

Valid values:

  • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

  • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this area are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.

  • AccuracyBased - If the device has moved less than the measured accuracy, location updates are ignored. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device has moved less than 15 m. Ignored location updates are neither evaluated against linked geofence collections, nor stored. This can reduce the effects of GPS noise when displaying device trajectories on a map, and can help control your costs by reducing the number of geofence evaluations.

This field is optional. If not specified, the default value is TimeBased.

\"\ + \"TrackerName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name for the tracker resource.

Requirements:

  • Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), periods (.), and underscores (_).

  • Must be a unique tracker resource name.

  • No spaces allowed. For example, ExampleTracker.

\"\ },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ @@ -2444,41 +2485,57 @@ - (NSString *)definitionString { \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. If included, the only allowed value is RequestBasedUsage.\"\ },\ + \"KmsKeyId\":{\ + \"shape\":\"KmsKeyId\",\ + \"documentation\":\"

A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

\"\ + },\ \"PricingPlanDataSource\":{\ \"shape\":\"String\",\ \"documentation\":\"

This parameter is no longer used.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. No longer allowed.\"\ },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

An optional description for the tracker resource.

\"\ + },\ \"Tags\":{\ \"shape\":\"TagMap\",\ \"documentation\":\"

Applies one or more tags to the tracker resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

Format: \\\"key\\\" : \\\"value\\\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \\\"aws:\\\" as a prefix for a key.

\"\ },\ - \"TrackerName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name for the tracker resource.

Requirements:

  • Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), periods (.), and underscores (_).

  • Must be a unique tracker resource name.

  • No spaces allowed. For example, ExampleTracker.

\"\ + \"PositionFiltering\":{\ + \"shape\":\"PositionFiltering\",\ + \"documentation\":\"

Specifies the position filtering for the tracker resource.

Valid values:

  • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

  • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this area are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.

  • AccuracyBased - If the device has moved less than the measured accuracy, location updates are ignored. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device has moved less than 15 m. Ignored location updates are neither evaluated against linked geofence collections, nor stored. This can reduce the effects of GPS noise when displaying device trajectories on a map, and can help control your costs by reducing the number of geofence evaluations.

This field is optional. If not specified, the default value is TimeBased.

\"\ + },\ + \"EventBridgeEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

\"\ + },\ + \"KmsKeyEnableGeospatialQueries\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

This parameter is only used if you are using a KMS customer managed key.

If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to true when creating or updating a Tracker.

\"\ }\ }\ },\ \"CreateTrackerResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ + \"TrackerName\",\ \"TrackerArn\",\ - \"TrackerName\"\ + \"CreateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + \"TrackerName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the tracker resource.

\"\ },\ \"TrackerArn\":{\ \"shape\":\"Arn\",\ \"documentation\":\"

The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

\"\ },\ - \"TrackerName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the tracker resource.

\"\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ }\ }\ },\ @@ -2486,7 +2543,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":100,\ \"min\":1,\ - \"pattern\":\"^[-._\\\\w]+$\"\ + \"pattern\":\"[-._\\\\w]+\"\ },\ \"CustomLayerList\":{\ \"type\":\"list\",\ @@ -2525,17 +2582,17 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"KeyName\"],\ \"members\":{\ - \"ForceDelete\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

ForceDelete bypasses an API key's expiry conditions and deletes the key. Set the parameter true to delete the key or to false to not preemptively delete the API key.

Valid values: true, or false.

Required: No

This action is irreversible. Only use ForceDelete if you are certain the key is no longer in use.

\",\ - \"location\":\"querystring\",\ - \"locationName\":\"forceDelete\"\ - },\ \"KeyName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the API key to delete.

\",\ \"location\":\"uri\",\ \"locationName\":\"KeyName\"\ + },\ + \"ForceDelete\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

ForceDelete bypasses an API key's expiry conditions and deletes the key. Set the parameter true to delete the key or to false to not preemptively delete the API key.

Valid values: true, or false.

Required: No

This action is irreversible. Only use ForceDelete if you are certain the key is no longer in use.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"forceDelete\"\ }\ }\ },\ @@ -2627,37 +2684,25 @@ - (NSString *)definitionString { \"DescribeGeofenceCollectionResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CollectionArn\",\ \"CollectionName\",\ - \"CreateTime\",\ + \"CollectionArn\",\ \"Description\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CollectionArn\":{\ - \"shape\":\"Arn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) for the geofence collection resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection

\"\ - },\ \"CollectionName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the geofence collection.

\"\ },\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the geofence resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ - },\ - \"Description\":{\ + \"CollectionArn\":{\ + \"shape\":\"Arn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) for the geofence collection resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection

\"\ + },\ + \"Description\":{\ \"shape\":\"ResourceDescription\",\ \"documentation\":\"

The optional description for the geofence collection.

\"\ },\ - \"GeofenceCount\":{\ - \"shape\":\"DescribeGeofenceCollectionResponseGeofenceCountInteger\",\ - \"documentation\":\"

The number of geofences in the geofence collection.

\"\ - },\ - \"KmsKeyId\":{\ - \"shape\":\"KmsKeyId\",\ - \"documentation\":\"

A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource

\"\ - },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ \"documentation\":\"

No longer used. Always returns RequestBasedUsage.

\",\ @@ -2670,13 +2715,25 @@ - (NSString *)definitionString { \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. Unused.\"\ },\ + \"KmsKeyId\":{\ + \"shape\":\"KmsKeyId\",\ + \"documentation\":\"

A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource

\"\ + },\ \"Tags\":{\ \"shape\":\"TagMap\",\ \"documentation\":\"

Displays the key, value pairs of tags associated with this resource.

\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the geofence resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the geofence collection was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ + \"GeofenceCount\":{\ + \"shape\":\"DescribeGeofenceCollectionResponseGeofenceCountInteger\",\ + \"documentation\":\"

The number of geofences in the geofence collection.

\"\ }\ }\ },\ @@ -2700,27 +2757,15 @@ - (NSString *)definitionString { \"DescribeKeyResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ - \"ExpireTime\",\ \"Key\",\ \"KeyArn\",\ \"KeyName\",\ \"Restrictions\",\ + \"CreateTime\",\ + \"ExpireTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the API key resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

The optional description for the API key resource.

\"\ - },\ - \"ExpireTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ \"Key\":{\ \"shape\":\"ApiKey\",\ \"documentation\":\"

The key value/string of an API key.

\"\ @@ -2734,13 +2779,25 @@ - (NSString *)definitionString { \"documentation\":\"

The name of the API key resource.

\"\ },\ \"Restrictions\":{\"shape\":\"ApiKeyRestrictions\"},\ - \"Tags\":{\ - \"shape\":\"TagMap\",\ - \"documentation\":\"

Tags associated with the API key resource.

\"\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the API key resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ + \"ExpireTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the API key resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

The optional description for the API key resource.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

Tags associated with the API key resource.

\"\ }\ }\ },\ @@ -2759,49 +2816,49 @@ - (NSString *)definitionString { \"DescribeMapResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Configuration\",\ - \"CreateTime\",\ + \"MapName\",\ + \"MapArn\",\ \"DataSource\",\ + \"Configuration\",\ \"Description\",\ - \"MapArn\",\ - \"MapName\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"Configuration\":{\ - \"shape\":\"MapConfiguration\",\ - \"documentation\":\"

Specifies the map tile style selected from a partner data provider.

\"\ - },\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ - \"DataSource\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

Specifies the data provider for the associated map tiles.

\"\ - },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

The optional description for the map resource.

\"\ + \"MapName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The map style selected from an available provider.

\"\ },\ \"MapArn\":{\ \"shape\":\"GeoArn\",\ \"documentation\":\"

The Amazon Resource Name (ARN) for the map resource. Used to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:map/ExampleMap

\"\ },\ - \"MapName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The map style selected from an available provider.

\"\ - },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ \"documentation\":\"

No longer used. Always returns RequestBasedUsage.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. Always returns RequestBasedUsage.\"\ },\ + \"DataSource\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Specifies the data provider for the associated map tiles.

\"\ + },\ + \"Configuration\":{\ + \"shape\":\"MapConfiguration\",\ + \"documentation\":\"

Specifies the map tile style selected from a partner data provider.

\"\ + },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

The optional description for the map resource.

\"\ + },\ \"Tags\":{\ \"shape\":\"TagMap\",\ \"documentation\":\"

Tags associated with the map resource.

\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the map resource was last update in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ @@ -2823,52 +2880,52 @@ - (NSString *)definitionString { \"DescribePlaceIndexResponse\":{\ \"type\":\"structure\",\ \"required\":[\ + \"IndexName\",\ + \"IndexArn\",\ + \"Description\",\ \"CreateTime\",\ + \"UpdateTime\",\ \"DataSource\",\ - \"DataSourceConfiguration\",\ - \"Description\",\ - \"IndexArn\",\ - \"IndexName\",\ - \"UpdateTime\"\ + \"DataSourceConfiguration\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ - \"DataSource\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The data provider of geospatial data. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ - },\ - \"DataSourceConfiguration\":{\ - \"shape\":\"DataSourceConfiguration\",\ - \"documentation\":\"

The specified data storage option for requesting Places.

\"\ - },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

The optional description for the place index resource.

\"\ + \"IndexName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the place index resource being described.

\"\ },\ \"IndexArn\":{\ \"shape\":\"GeoArn\",\ \"documentation\":\"

The Amazon Resource Name (ARN) for the place index resource. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex

\"\ },\ - \"IndexName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the place index resource being described.

\"\ - },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ \"documentation\":\"

No longer used. Always returns RequestBasedUsage.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. Always returns RequestBasedUsage.\"\ },\ - \"Tags\":{\ - \"shape\":\"TagMap\",\ - \"documentation\":\"

Tags associated with place index resource.

\"\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

The optional description for the place index resource.

\"\ + },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the place index resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ + \"DataSource\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The data provider of geospatial data. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

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

The specified data storage option for requesting Places.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

Tags associated with place index resource.

\"\ }\ }\ },\ @@ -2887,47 +2944,47 @@ - (NSString *)definitionString { \"DescribeRouteCalculatorResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CalculatorArn\",\ \"CalculatorName\",\ - \"CreateTime\",\ - \"DataSource\",\ + \"CalculatorArn\",\ \"Description\",\ - \"UpdateTime\"\ + \"CreateTime\",\ + \"UpdateTime\",\ + \"DataSource\"\ ],\ \"members\":{\ + \"CalculatorName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the route calculator resource being described.

\"\ + },\ \"CalculatorArn\":{\ \"shape\":\"GeoArn\",\ \"documentation\":\"

The Amazon Resource Name (ARN) for the Route calculator resource. Use the ARN when you specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:route-calculator/ExampleCalculator

\"\ },\ - \"CalculatorName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the route calculator resource being described.

\"\ + \"PricingPlan\":{\ + \"shape\":\"PricingPlan\",\ + \"documentation\":\"

Always returns RequestBasedUsage.

\",\ + \"deprecated\":true,\ + \"deprecatedMessage\":\"Deprecated. Always returns RequestBasedUsage.\"\ + },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

The optional description of the route calculator resource.

\"\ },\ \"CreateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp when the route calculator resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

\"\ },\ + \"UpdateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp when the route calculator resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

\"\ + },\ \"DataSource\":{\ \"shape\":\"String\",\ \"documentation\":\"

The data provider of traffic and road network data. Indicates one of the available providers:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

The optional description of the route calculator resource.

\"\ - },\ - \"PricingPlan\":{\ - \"shape\":\"PricingPlan\",\ - \"documentation\":\"

Always returns RequestBasedUsage.

\",\ - \"deprecated\":true,\ - \"deprecatedMessage\":\"Deprecated. Always returns RequestBasedUsage.\"\ - },\ \"Tags\":{\ \"shape\":\"TagMap\",\ \"documentation\":\"

Tags associated with route calculator resource.

\"\ - },\ - \"UpdateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp when the route calculator resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

\"\ }\ }\ },\ @@ -2946,37 +3003,25 @@ - (NSString *)definitionString { \"DescribeTrackerResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ - \"Description\",\ - \"TrackerArn\",\ \"TrackerName\",\ + \"TrackerArn\",\ + \"Description\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + \"TrackerName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the tracker resource.

\"\ + },\ + \"TrackerArn\":{\ + \"shape\":\"Arn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

\"\ },\ \"Description\":{\ \"shape\":\"ResourceDescription\",\ \"documentation\":\"

The optional description for the tracker resource.

\"\ },\ - \"EventBridgeEnabled\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

Whether UPDATE events from this tracker in EventBridge are enabled. If set to true these events will be sent to EventBridge.

\"\ - },\ - \"KmsKeyEnableGeospatialQueries\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

This parameter is only used if you are using a KMS customer managed key.

If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to true when creating or updating a Tracker.

\"\ - },\ - \"KmsKeyId\":{\ - \"shape\":\"KmsKeyId\",\ - \"documentation\":\"

A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource.

\"\ - },\ - \"PositionFiltering\":{\ - \"shape\":\"PositionFiltering\",\ - \"documentation\":\"

The position filtering method of the tracker resource.

\"\ - },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ \"documentation\":\"

Always returns RequestBasedUsage.

\",\ @@ -2993,51 +3038,63 @@ - (NSString *)definitionString { \"shape\":\"TagMap\",\ \"documentation\":\"

The tags associated with the tracker resource.

\"\ },\ - \"TrackerArn\":{\ - \"shape\":\"Arn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

\"\ - },\ - \"TrackerName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the tracker resource.

\"\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the tracker resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

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

A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource.

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

The position filtering method of the tracker resource.

\"\ + },\ + \"EventBridgeEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Whether UPDATE events from this tracker in EventBridge are enabled. If set to true these events will be sent to EventBridge.

\"\ + },\ + \"KmsKeyEnableGeospatialQueries\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

This parameter is only used if you are using a KMS customer managed key.

If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to true when creating or updating a Tracker.

\"\ }\ }\ },\ \"DevicePosition\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Position\",\ + \"SampleTime\",\ \"ReceivedTime\",\ - \"SampleTime\"\ + \"Position\"\ ],\ \"members\":{\ - \"Accuracy\":{\ - \"shape\":\"PositionalAccuracy\",\ - \"documentation\":\"

The accuracy of the device position.

\"\ - },\ \"DeviceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The device whose position you retrieved.

\"\ },\ + \"SampleTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ + \"ReceivedTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

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

The last known device position.

\"\ },\ + \"Accuracy\":{\ + \"shape\":\"PositionalAccuracy\",\ + \"documentation\":\"

The accuracy of the device position.

\"\ + },\ \"PositionProperties\":{\ \"shape\":\"PropertyMap\",\ \"documentation\":\"

The properties associated with the position.

\"\ - },\ - \"ReceivedTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ - \"SampleTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ }\ },\ \"documentation\":\"

Contains the device position details.

\"\ @@ -3050,32 +3107,72 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"DeviceId\",\ - \"Position\",\ - \"SampleTime\"\ + \"SampleTime\",\ + \"Position\"\ ],\ \"members\":{\ + \"DeviceId\":{\ + \"shape\":\"Id\",\ + \"documentation\":\"

The device associated to the position update.

\"\ + },\ + \"SampleTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

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

The latest device position defined in WGS 84 format: [X or longitude, Y or latitude].

\"\ + },\ \"Accuracy\":{\ \"shape\":\"PositionalAccuracy\",\ \"documentation\":\"

The accuracy of the device position.

\"\ },\ + \"PositionProperties\":{\ + \"shape\":\"PropertyMap\",\ + \"documentation\":\"

Associates one of more properties with the position update. A property is a key-value pair stored with the position update and added to any geofence event the update may trigger.

Format: \\\"key\\\" : \\\"value\\\"

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

Contains the position update details for a device.

\"\ + },\ + \"DeviceState\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"DeviceId\",\ + \"SampleTime\",\ + \"Position\"\ + ],\ + \"members\":{\ \"DeviceId\":{\ \"shape\":\"Id\",\ - \"documentation\":\"

The device associated to the position update.

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

The device identifier.

\"\ + },\ + \"SampleTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ },\ \"Position\":{\ \"shape\":\"Position\",\ - \"documentation\":\"

The latest device position defined in WGS 84 format: [X or longitude, Y or latitude].

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

The last known device position.

\"\ },\ - \"PositionProperties\":{\ - \"shape\":\"PropertyMap\",\ - \"documentation\":\"

Associates one of more properties with the position update. A property is a key-value pair stored with the position update and added to any geofence event the update may trigger.

Format: \\\"key\\\" : \\\"value\\\"

\"\ + \"Accuracy\":{\"shape\":\"PositionalAccuracy\"},\ + \"Ipv4Address\":{\ + \"shape\":\"DeviceStateIpv4AddressString\",\ + \"documentation\":\"

The device's Ipv4 address.

\"\ },\ - \"SampleTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + \"WiFiAccessPoints\":{\ + \"shape\":\"WiFiAccessPointList\",\ + \"documentation\":\"

The Wi-Fi access points the device is using.

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

The cellular network infrastructure that the device is connected to.

\"\ }\ },\ - \"documentation\":\"

Contains the position update details for a device.

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

The device's position, IP address, and Wi-Fi access points.

\"\ + },\ + \"DeviceStateIpv4AddressString\":{\ + \"type\":\"string\",\ + \"pattern\":\"(?:(?:25[0-5]|(?:2[0-4]|1\\\\d|[0-9]|)\\\\d)\\\\.?\\\\b){4}\"\ },\ \"DimensionUnit\":{\ \"type\":\"string\",\ @@ -3087,21 +3184,21 @@ - (NSString *)definitionString { \"DisassociateTrackerConsumerRequest\":{\ \"type\":\"structure\",\ \"required\":[\ - \"ConsumerArn\",\ - \"TrackerName\"\ + \"TrackerName\",\ + \"ConsumerArn\"\ ],\ \"members\":{\ - \"ConsumerArn\":{\ - \"shape\":\"Arn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) for the geofence collection to be disassociated from the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer

\",\ - \"location\":\"uri\",\ - \"locationName\":\"ConsumerArn\"\ - },\ \"TrackerName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the tracker resource to be dissociated from the consumer.

\",\ \"location\":\"uri\",\ \"locationName\":\"TrackerName\"\ + },\ + \"ConsumerArn\":{\ + \"shape\":\"Arn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) for the geofence collection to be disassociated from the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer

\",\ + \"location\":\"uri\",\ + \"locationName\":\"ConsumerArn\"\ }\ }\ },\ @@ -3121,53 +3218,220 @@ - (NSString *)definitionString { \"type\":\"double\",\ \"box\":true\ },\ + \"Earfcn\":{\ + \"type\":\"integer\",\ + \"max\":262143,\ + \"min\":0\ + },\ + \"EutranCellId\":{\ + \"type\":\"integer\",\ + \"max\":268435455,\ + \"min\":0\ + },\ \"FilterPlaceCategoryList\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"PlaceCategory\"},\ \"max\":5,\ \"min\":1\ },\ + \"ForecastGeofenceEventsDeviceState\":{\ + \"type\":\"structure\",\ + \"required\":[\"Position\"],\ + \"members\":{\ + \"Position\":{\ + \"shape\":\"Position\",\ + \"documentation\":\"

The device's position.

\"\ + },\ + \"Speed\":{\ + \"shape\":\"ForecastGeofenceEventsDeviceStateSpeedDouble\",\ + \"documentation\":\"

The device's speed.

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

The device's position, IP address, and WiFi access points.

\"\ + },\ + \"ForecastGeofenceEventsDeviceStateSpeedDouble\":{\ + \"type\":\"double\",\ + \"box\":true,\ + \"min\":0\ + },\ + \"ForecastGeofenceEventsRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"CollectionName\",\ + \"DeviceState\"\ + ],\ + \"members\":{\ + \"CollectionName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the geofence collection.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"CollectionName\"\ + },\ + \"DeviceState\":{\ + \"shape\":\"ForecastGeofenceEventsDeviceState\",\ + \"documentation\":\"

The device's state, including current position and speed.

\"\ + },\ + \"TimeHorizonMinutes\":{\ + \"shape\":\"ForecastGeofenceEventsRequestTimeHorizonMinutesDouble\",\ + \"documentation\":\"

Specifies the time horizon in minutes for the forecasted events.

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

The distance unit used for the NearestDistance property returned in a forecasted event. The measurement system must match for DistanceUnit and SpeedUnit; if Kilometers is specified for DistanceUnit, then SpeedUnit must be KilometersPerHour.

Default Value: Kilometers

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

The speed unit for the device captured by the device state. The measurement system must match for DistanceUnit and SpeedUnit; if Kilometers is specified for DistanceUnit, then SpeedUnit must be KilometersPerHour.

Default Value: KilometersPerHour.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"LargeToken\",\ + \"documentation\":\"

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"ForecastGeofenceEventsRequestMaxResultsInteger\",\ + \"documentation\":\"

An optional limit for the number of resources returned in a single call.

Default value: 20

\"\ + }\ + }\ + },\ + \"ForecastGeofenceEventsRequestMaxResultsInteger\":{\ + \"type\":\"integer\",\ + \"box\":true,\ + \"max\":20,\ + \"min\":1\ + },\ + \"ForecastGeofenceEventsRequestTimeHorizonMinutesDouble\":{\ + \"type\":\"double\",\ + \"box\":true,\ + \"min\":0\ + },\ + \"ForecastGeofenceEventsResponse\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"ForecastedEvents\",\ + \"DistanceUnit\",\ + \"SpeedUnit\"\ + ],\ + \"members\":{\ + \"ForecastedEvents\":{\ + \"shape\":\"ForecastedEventsList\",\ + \"documentation\":\"

The list of forecasted events.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"LargeToken\",\ + \"documentation\":\"

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

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

The distance unit for the forecasted events.

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

The speed unit for the forecasted events.

\"\ + }\ + }\ + },\ + \"ForecastedEvent\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"EventId\",\ + \"GeofenceId\",\ + \"IsDeviceInGeofence\",\ + \"NearestDistance\",\ + \"EventType\"\ + ],\ + \"members\":{\ + \"EventId\":{\ + \"shape\":\"Uuid\",\ + \"documentation\":\"

The forecasted event identifier.

\"\ + },\ + \"GeofenceId\":{\ + \"shape\":\"Id\",\ + \"documentation\":\"

The geofence identifier pertaining to the forecasted event.

\"\ + },\ + \"IsDeviceInGeofence\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates if the device is located within the geofence.

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

The closest distance from the device's position to the geofence.

\"\ + },\ + \"EventType\":{\ + \"shape\":\"ForecastedGeofenceEventType\",\ + \"documentation\":\"

The event type, forecasting three states for which a device can be in relative to a geofence:

ENTER: If a device is outside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

EXIT: If a device is inside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

IDLE: If a device is inside of a geofence, and the device is not moving.

\"\ + },\ + \"ForecastedBreachTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The forecasted time the device will breach the geofence in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ + \"GeofenceProperties\":{\ + \"shape\":\"PropertyMap\",\ + \"documentation\":\"

The geofence properties.

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

A forecasted event represents a geofence event in relation to the requested device state, that may occur given the provided device state and time horizon.

\"\ + },\ + \"ForecastedEventsList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ForecastedEvent\"}\ + },\ + \"ForecastedGeofenceEventType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"ENTER\",\ + \"EXIT\",\ + \"IDLE\"\ + ]\ + },\ \"GeoArn\":{\ \"type\":\"string\",\ \"max\":1600,\ \"min\":0,\ - \"pattern\":\"^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\\\*)|([-a-z]+[/][*-._\\\\w]+))$\"\ + \"pattern\":\"arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\\\*)|([-a-z]+[/][*-._\\\\w]+))\"\ + },\ + \"GeoArnV2\":{\ + \"type\":\"string\",\ + \"max\":1600,\ + \"min\":0,\ + \"pattern\":\".*(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):geo(:([a-z0-9]+([.-][a-z0-9]+)*))(:[0-9]+):((\\\\*)|([-a-z]+[/][*-._\\\\w]+))$)|(^arn(:[a-z0-9]+([.-][a-z0-9]+)*):(geo-routes|geo-places|geo-maps)(:((\\\\*)|([a-z0-9]+([.-][a-z0-9]+)*)))::((provider[\\\\/][*-._\\\\w]+))$).*\"\ },\ \"GeofenceGeometry\":{\ \"type\":\"structure\",\ \"members\":{\ + \"Polygon\":{\ + \"shape\":\"LinearRings\",\ + \"documentation\":\"

A polygon is a list of linear rings which are each made up of a list of vertices.

Each vertex is a 2-dimensional point of the form: [longitude, latitude]. This is represented as an array of doubles of length 2 (so [double, double]).

An array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary), is called a linear ring. The linear ring vertices must be listed in counter-clockwise order around the ring’s interior. The linear ring is represented as an array of vertices, or an array of arrays of doubles ([[double, double], ...]).

A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ([[[double, double], ...], ...]).

A linear ring for use in geofences can consist of between 4 and 1,000 vertices.

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

A circle on the earth, as defined by a center point and a radius.

\"\ },\ - \"Polygon\":{\ - \"shape\":\"LinearRings\",\ - \"documentation\":\"

A polygon is a list of linear rings which are each made up of a list of vertices.

Each vertex is a 2-dimensional point of the form: [longitude, latitude]. This is represented as an array of doubles of length 2 (so [double, double]).

An array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary), is called a linear ring. The linear ring vertices must be listed in counter-clockwise order around the ring’s interior. The linear ring is represented as an array of vertices, or an array of arrays of doubles ([[double, double], ...]).

A geofence consists of a single linear ring. To allow for future expansion, the Polygon parameter takes an array of linear rings, which is represented as an array of arrays of arrays of doubles ([[[double, double], ...], ...]).

A linear ring for use in geofences can consist of between 4 and 1,000 vertices.

\"\ + \"Geobuf\":{\ + \"shape\":\"Base64EncodedGeobuf\",\ + \"documentation\":\"

Geobuf is a compact binary encoding for geographic data that provides lossless compression of GeoJSON polygons. The Geobuf must be Base64-encoded.

A polygon in Geobuf format can have up to 100,000 vertices.

\"\ }\ },\ - \"documentation\":\"

Contains the geofence geometry details.

A geofence geometry is made up of either a polygon or a circle. Can be either a polygon or a circle. Including both will return a validation error.

Amazon Location doesn't currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.

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

Contains the geofence geometry details.

A geofence geometry is made up of either a polygon or a circle. Can be a polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

Amazon Location doesn't currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.

\"\ },\ \"GetDevicePositionHistoryRequest\":{\ \"type\":\"structure\",\ \"required\":[\ - \"DeviceId\",\ - \"TrackerName\"\ + \"TrackerName\",\ + \"DeviceId\"\ ],\ \"members\":{\ + \"TrackerName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The tracker resource receiving the request for the device position history.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"TrackerName\"\ + },\ \"DeviceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The device whose position history you want to retrieve.

\",\ \"location\":\"uri\",\ \"locationName\":\"DeviceId\"\ },\ - \"EndTimeExclusive\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

Specify the end time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time that the request is made.

Requirement:

  • The time specified for EndTimeExclusive must be after the time for StartTimeInclusive.

\"\ - },\ - \"MaxResults\":{\ - \"shape\":\"GetDevicePositionHistoryRequestMaxResultsInteger\",\ - \"documentation\":\"

An optional limit for the number of device positions returned in a single call.

Default value: 100

\"\ - },\ \"NextToken\":{\ \"shape\":\"Token\",\ \"documentation\":\"

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

\"\ @@ -3176,11 +3440,13 @@ - (NSString *)definitionString { \"shape\":\"Timestamp\",\ \"documentation\":\"

Specify the start time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 hours prior to the time that the request is made.

Requirement:

  • The time specified for StartTimeInclusive must be before EndTimeExclusive.

\"\ },\ - \"TrackerName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The tracker resource receiving the request for the device position history.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"TrackerName\"\ + \"EndTimeExclusive\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

Specify the end time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time that the request is made.

Requirement:

  • The time specified for EndTimeExclusive must be after the time for StartTimeInclusive.

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"GetDevicePositionHistoryRequestMaxResultsInteger\",\ + \"documentation\":\"

An optional limit for the number of device positions returned in a single call.

Default value: 100

\"\ }\ }\ },\ @@ -3207,55 +3473,55 @@ - (NSString *)definitionString { \"GetDevicePositionRequest\":{\ \"type\":\"structure\",\ \"required\":[\ - \"DeviceId\",\ - \"TrackerName\"\ + \"TrackerName\",\ + \"DeviceId\"\ ],\ \"members\":{\ - \"DeviceId\":{\ - \"shape\":\"Id\",\ - \"documentation\":\"

The device whose position you want to retrieve.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"DeviceId\"\ - },\ \"TrackerName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The tracker resource receiving the position update.

\",\ \"location\":\"uri\",\ \"locationName\":\"TrackerName\"\ + },\ + \"DeviceId\":{\ + \"shape\":\"Id\",\ + \"documentation\":\"

The device whose position you want to retrieve.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"DeviceId\"\ }\ }\ },\ \"GetDevicePositionResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Position\",\ + \"SampleTime\",\ \"ReceivedTime\",\ - \"SampleTime\"\ + \"Position\"\ ],\ \"members\":{\ - \"Accuracy\":{\ - \"shape\":\"PositionalAccuracy\",\ - \"documentation\":\"

The accuracy of the device position.

\"\ - },\ \"DeviceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The device whose position you retrieved.

\"\ },\ + \"SampleTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ + \"ReceivedTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the tracker resource received the device position. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

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

The last known device position.

\"\ },\ + \"Accuracy\":{\ + \"shape\":\"PositionalAccuracy\",\ + \"documentation\":\"

The accuracy of the device position.

\"\ + },\ \"PositionProperties\":{\ \"shape\":\"PropertyMap\",\ \"documentation\":\"

The properties associated with the position.

\"\ - },\ - \"ReceivedTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ - \"SampleTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ }\ }\ },\ @@ -3283,25 +3549,17 @@ - (NSString *)definitionString { \"GetGeofenceResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ \"GeofenceId\",\ \"Geometry\",\ \"Status\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ - },\ \"GeofenceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The geofence identifier.

\"\ },\ - \"GeofenceProperties\":{\ - \"shape\":\"PropertyMap\",\ - \"documentation\":\"

User defined properties of the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \\\"key\\\" : \\\"value\\\"

\"\ - },\ \"Geometry\":{\ \"shape\":\"GeofenceGeometry\",\ \"documentation\":\"

Contains the geofence geometry details describing a polygon or a circle.

\"\ @@ -3310,23 +3568,37 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"

Identifies the state of the geofence. A geofence will hold one of the following states:

  • ACTIVE — The geofence has been indexed by the system.

  • PENDING — The geofence is being processed by the system.

  • FAILED — The geofence failed to be indexed by the system.

  • DELETED — The geofence has been deleted from the system index.

  • DELETING — The geofence is being deleted from the system index.

\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the geofence collection was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ + \"GeofenceProperties\":{\ + \"shape\":\"PropertyMap\",\ + \"documentation\":\"

User defined properties of the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \\\"key\\\" : \\\"value\\\"

\"\ }\ }\ },\ \"GetMapGlyphsRequest\":{\ \"type\":\"structure\",\ \"required\":[\ + \"MapName\",\ \"FontStack\",\ - \"FontUnicodeRange\",\ - \"MapName\"\ + \"FontUnicodeRange\"\ ],\ \"members\":{\ + \"MapName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The map resource associated with the glyph file.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"MapName\"\ + },\ \"FontStack\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

Valid font stacks for Esri styles:

  • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

  • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

  • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

  • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

  • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold | Arial Unicode MS Bold | Arial Unicode MS Regular

Valid font stacks for HERE Technologies styles:

  • VectorHereContrast – Fira GO Regular | Fira GO Bold

  • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

Valid font stacks for GrabMaps styles:

  • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

Valid font stacks for Open Data styles:

  • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

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

A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

Valid font stacks for Esri styles:

  • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

  • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

  • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

  • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

  • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold

Valid font stacks for HERE Technologies styles:

  • VectorHereContrast – Fira GO Regular | Fira GO Bold

  • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

Valid font stacks for GrabMaps styles:

  • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

Valid font stacks for Open Data styles:

  • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

\",\ \"location\":\"uri\",\ \"locationName\":\"FontStack\"\ },\ @@ -3341,18 +3613,12 @@ - (NSString *)definitionString { \"documentation\":\"

The optional API key to authorize the request.

\",\ \"location\":\"querystring\",\ \"locationName\":\"key\"\ - },\ - \"MapName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The map resource associated with the glyph file.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"MapName\"\ }\ }\ },\ \"GetMapGlyphsRequestFontUnicodeRangeString\":{\ \"type\":\"string\",\ - \"pattern\":\"^[0-9]+-[0-9]+\\\\.pbf$\"\ + \"pattern\":\"[0-9]+-[0-9]+\\\\.pbf\"\ },\ \"GetMapGlyphsResponse\":{\ \"type\":\"structure\",\ @@ -3361,17 +3627,17 @@ - (NSString *)definitionString { \"shape\":\"Blob\",\ \"documentation\":\"

The glyph, as binary blob.

\"\ },\ - \"CacheControl\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The HTTP Cache-Control directive for the value.

\",\ - \"location\":\"header\",\ - \"locationName\":\"Cache-Control\"\ - },\ \"ContentType\":{\ \"shape\":\"String\",\ \"documentation\":\"

The map glyph content type. For example, application/octet-stream.

\",\ \"location\":\"header\",\ \"locationName\":\"Content-Type\"\ + },\ + \"CacheControl\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The HTTP Cache-Control directive for the value.

\",\ + \"location\":\"header\",\ + \"locationName\":\"Cache-Control\"\ }\ },\ \"payload\":\"Blob\"\ @@ -3379,33 +3645,33 @@ - (NSString *)definitionString { \"GetMapSpritesRequest\":{\ \"type\":\"structure\",\ \"required\":[\ - \"FileName\",\ - \"MapName\"\ + \"MapName\",\ + \"FileName\"\ ],\ \"members\":{\ + \"MapName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The map resource associated with the sprite file.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"MapName\"\ + },\ \"FileName\":{\ \"shape\":\"GetMapSpritesRequestFileNameString\",\ \"documentation\":\"

The name of the sprite file. Use the following file names for the sprite sheet:

  • sprites.png

  • sprites@2x.png for high pixel density displays

For the JSON document containing image offsets. Use the following file names:

  • sprites.json

  • sprites@2x.json for high pixel density displays

\",\ \"location\":\"uri\",\ \"locationName\":\"FileName\"\ },\ - \"Key\":{\ - \"shape\":\"ApiKey\",\ - \"documentation\":\"

The optional API key to authorize the request.

\",\ - \"location\":\"querystring\",\ - \"locationName\":\"key\"\ - },\ - \"MapName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The map resource associated with the sprite file.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"MapName\"\ + \"Key\":{\ + \"shape\":\"ApiKey\",\ + \"documentation\":\"

The optional API key to authorize the request.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"key\"\ }\ }\ },\ \"GetMapSpritesRequestFileNameString\":{\ \"type\":\"string\",\ - \"pattern\":\"^sprites(@2x)?\\\\.(png|json)$\"\ + \"pattern\":\"sprites(@2x)?\\\\.(png|json)\"\ },\ \"GetMapSpritesResponse\":{\ \"type\":\"structure\",\ @@ -3414,17 +3680,17 @@ - (NSString *)definitionString { \"shape\":\"Blob\",\ \"documentation\":\"

Contains the body of the sprite sheet or JSON offset file.

\"\ },\ - \"CacheControl\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The HTTP Cache-Control directive for the value.

\",\ - \"location\":\"header\",\ - \"locationName\":\"Cache-Control\"\ - },\ \"ContentType\":{\ \"shape\":\"String\",\ \"documentation\":\"

The content type of the sprite sheet and offsets. For example, the sprite sheet content type is image/png, and the sprite offset JSON document is application/json.

\",\ \"location\":\"header\",\ \"locationName\":\"Content-Type\"\ + },\ + \"CacheControl\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The HTTP Cache-Control directive for the value.

\",\ + \"location\":\"header\",\ + \"locationName\":\"Cache-Control\"\ }\ },\ \"payload\":\"Blob\"\ @@ -3433,17 +3699,17 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"MapName\"],\ \"members\":{\ - \"Key\":{\ - \"shape\":\"ApiKey\",\ - \"documentation\":\"

The optional API key to authorize the request.

\",\ - \"location\":\"querystring\",\ - \"locationName\":\"key\"\ - },\ \"MapName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The map resource to retrieve the style descriptor from.

\",\ \"location\":\"uri\",\ \"locationName\":\"MapName\"\ + },\ + \"Key\":{\ + \"shape\":\"ApiKey\",\ + \"documentation\":\"

The optional API key to authorize the request.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"key\"\ }\ }\ },\ @@ -3454,17 +3720,17 @@ - (NSString *)definitionString { \"shape\":\"Blob\",\ \"documentation\":\"

Contains the body of the style descriptor.

\"\ },\ - \"CacheControl\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The HTTP Cache-Control directive for the value.

\",\ - \"location\":\"header\",\ - \"locationName\":\"Cache-Control\"\ - },\ \"ContentType\":{\ \"shape\":\"String\",\ \"documentation\":\"

The style descriptor's content type. For example, application/json.

\",\ \"location\":\"header\",\ \"locationName\":\"Content-Type\"\ + },\ + \"CacheControl\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The HTTP Cache-Control directive for the value.

\",\ + \"location\":\"header\",\ + \"locationName\":\"Cache-Control\"\ }\ },\ \"payload\":\"Blob\"\ @@ -3473,23 +3739,23 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"MapName\",\ + \"Z\",\ \"X\",\ - \"Y\",\ - \"Z\"\ + \"Y\"\ ],\ \"members\":{\ - \"Key\":{\ - \"shape\":\"ApiKey\",\ - \"documentation\":\"

The optional API key to authorize the request.

\",\ - \"location\":\"querystring\",\ - \"locationName\":\"key\"\ - },\ \"MapName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The map resource to retrieve the map tiles from.

\",\ \"location\":\"uri\",\ \"locationName\":\"MapName\"\ },\ + \"Z\":{\ + \"shape\":\"GetMapTileRequestZString\",\ + \"documentation\":\"

The zoom value for the map tile.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"Z\"\ + },\ \"X\":{\ \"shape\":\"GetMapTileRequestXString\",\ \"documentation\":\"

The X axis value for the map tile.

\",\ @@ -3502,25 +3768,25 @@ - (NSString *)definitionString { \"location\":\"uri\",\ \"locationName\":\"Y\"\ },\ - \"Z\":{\ - \"shape\":\"GetMapTileRequestZString\",\ - \"documentation\":\"

The zoom value for the map tile.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"Z\"\ + \"Key\":{\ + \"shape\":\"ApiKey\",\ + \"documentation\":\"

The optional API key to authorize the request.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"key\"\ }\ }\ },\ \"GetMapTileRequestXString\":{\ \"type\":\"string\",\ - \"pattern\":\"\\\\d+\"\ + \"pattern\":\".*\\\\d+.*\"\ },\ \"GetMapTileRequestYString\":{\ \"type\":\"string\",\ - \"pattern\":\"\\\\d+\"\ + \"pattern\":\".*\\\\d+.*\"\ },\ \"GetMapTileRequestZString\":{\ \"type\":\"string\",\ - \"pattern\":\"\\\\d+\"\ + \"pattern\":\".*\\\\d+.*\"\ },\ \"GetMapTileResponse\":{\ \"type\":\"structure\",\ @@ -3529,17 +3795,17 @@ - (NSString *)definitionString { \"shape\":\"Blob\",\ \"documentation\":\"

Contains Mapbox Vector Tile (MVT) data.

\"\ },\ - \"CacheControl\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The HTTP Cache-Control directive for the value.

\",\ - \"location\":\"header\",\ - \"locationName\":\"Cache-Control\"\ - },\ \"ContentType\":{\ \"shape\":\"String\",\ \"documentation\":\"

The map tile's content type. For example, application/vnd.mapbox-vector-tile.

\",\ \"location\":\"header\",\ \"locationName\":\"Content-Type\"\ + },\ + \"CacheControl\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The HTTP Cache-Control directive for the value.

\",\ + \"location\":\"header\",\ + \"locationName\":\"Cache-Control\"\ }\ },\ \"payload\":\"Blob\"\ @@ -3557,11 +3823,11 @@ - (NSString *)definitionString { \"location\":\"uri\",\ \"locationName\":\"IndexName\"\ },\ - \"Key\":{\ - \"shape\":\"ApiKey\",\ - \"documentation\":\"

The optional API key to authorize the request.

\",\ - \"location\":\"querystring\",\ - \"locationName\":\"key\"\ + \"PlaceId\":{\ + \"shape\":\"PlaceId\",\ + \"documentation\":\"

The identifier of the place to find.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"PlaceId\"\ },\ \"Language\":{\ \"shape\":\"LanguageTag\",\ @@ -3569,11 +3835,11 @@ - (NSString *)definitionString { \"location\":\"querystring\",\ \"locationName\":\"language\"\ },\ - \"PlaceId\":{\ - \"shape\":\"PlaceId\",\ - \"documentation\":\"

The identifier of the place to find.

While you can use PlaceID in subsequent requests, PlaceID is not intended to be a permanent identifier and the ID can change between consecutive API calls. Please see the following PlaceID behaviour for each data provider:

  • Esri: Place IDs will change every quarter at a minimum. The typical time period for these changes would be March, June, September, and December. Place IDs might also change between the typical quarterly change but that will be much less frequent.

  • HERE: We recommend that you cache data for no longer than a week to keep your data data fresh. You can assume that less than 1% ID shifts will release over release which is approximately 1 - 2 times per week.

  • Grab: Place IDs can expire or become invalid in the following situations.

    • Data operations: The POI may be removed from Grab POI database by Grab Map Ops based on the ground-truth, such as being closed in the real world, being detected as a duplicate POI, or having incorrect information. Grab will synchronize data to the Waypoint environment on weekly basis.

    • Interpolated POI: Interpolated POI is a temporary POI generated in real time when serving a request, and it will be marked as derived in the place.result_type field in the response. The information of interpolated POIs will be retained for at least 30 days, which means that within 30 days, you are able to obtain POI details by Place ID from Place Details API. After 30 days, the interpolated POIs(both Place ID and details) may expire and inaccessible from the Places Details API.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"PlaceId\"\ + \"Key\":{\ + \"shape\":\"ApiKey\",\ + \"documentation\":\"

The optional API key to authorize the request.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"key\"\ }\ }\ },\ @@ -3591,7 +3857,30 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":100,\ \"min\":1,\ - \"pattern\":\"^[-._\\\\p{L}\\\\p{N}]+$\"\ + \"pattern\":\"[-._\\\\p{L}\\\\p{N}]+\"\ + },\ + \"InferredState\":{\ + \"type\":\"structure\",\ + \"required\":[\"ProxyDetected\"],\ + \"members\":{\ + \"Position\":{\ + \"shape\":\"Position\",\ + \"documentation\":\"

The device position inferred by the provided position, IP address, cellular signals, and Wi-Fi- access points.

\"\ + },\ + \"Accuracy\":{\ + \"shape\":\"PositionalAccuracy\",\ + \"documentation\":\"

The level of certainty of the inferred position.

\"\ + },\ + \"DeviationDistance\":{\ + \"shape\":\"Double\",\ + \"documentation\":\"

The distance between the inferred position and the device's self-reported position.

\"\ + },\ + \"ProxyDetected\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates if a proxy was used.

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

The inferred state of the device, given the provided position, IP address, cellular signals, and Wi-Fi- access points.

\"\ },\ \"Integer\":{\ \"type\":\"integer\",\ @@ -3629,16 +3918,29 @@ - (NSString *)definitionString { \"max\":35,\ \"min\":2\ },\ + \"LargeToken\":{\ + \"type\":\"string\",\ + \"max\":60000,\ + \"min\":1\ + },\ \"Leg\":{\ \"type\":\"structure\",\ \"required\":[\ + \"StartPosition\",\ + \"EndPosition\",\ \"Distance\",\ \"DurationSeconds\",\ - \"EndPosition\",\ - \"StartPosition\",\ \"Steps\"\ ],\ \"members\":{\ + \"StartPosition\":{\ + \"shape\":\"Position\",\ + \"documentation\":\"

The starting position of the leg. Follows the format [longitude,latitude].

If the StartPosition isn't located on a road, it's snapped to a nearby road.

\"\ + },\ + \"EndPosition\":{\ + \"shape\":\"Position\",\ + \"documentation\":\"

The terminating position of the leg. Follows the format [longitude,latitude].

If the EndPosition isn't located on a road, it's snapped to a nearby road.

\"\ + },\ \"Distance\":{\ \"shape\":\"LegDistanceDouble\",\ \"documentation\":\"

The distance between the leg's StartPosition and EndPosition along a calculated route.

  • The default measurement is Kilometers unless the request specifies a DistanceUnit of Miles.

\"\ @@ -3647,18 +3949,10 @@ - (NSString *)definitionString { \"shape\":\"LegDurationSecondsDouble\",\ \"documentation\":\"

The estimated travel time between the leg's StartPosition and EndPosition. The travel mode and departure time that you specify in the request determines the calculated time.

\"\ },\ - \"EndPosition\":{\ - \"shape\":\"Position\",\ - \"documentation\":\"

The terminating position of the leg. Follows the format [longitude,latitude].

If the EndPosition isn't located on a road, it's snapped to a nearby road.

\"\ - },\ \"Geometry\":{\ \"shape\":\"LegGeometry\",\ \"documentation\":\"

Contains the calculated route's path as a linestring geometry.

\"\ },\ - \"StartPosition\":{\ - \"shape\":\"Position\",\ - \"documentation\":\"

The starting position of the leg. Follows the format [longitude,latitude].

If the StartPosition isn't located on a road, it's snapped to a nearby road.

\"\ - },\ \"Steps\":{\ \"shape\":\"StepList\",\ \"documentation\":\"

Contains a list of steps, which represent subsections of a leg. Each step provides instructions for how to move to the next step in the leg such as the step's start position, end position, travel distance, travel duration, and geometry offset.

\"\ @@ -3709,9 +4003,11 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"TrackerName\"],\ \"members\":{\ - \"FilterGeometry\":{\ - \"shape\":\"TrackingFilterGeometry\",\ - \"documentation\":\"

The geometry used to filter device positions.

\"\ + \"TrackerName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The tracker resource containing the requested devices.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"TrackerName\"\ },\ \"MaxResults\":{\ \"shape\":\"ListDevicePositionsRequestMaxResultsInteger\",\ @@ -3721,11 +4017,9 @@ - (NSString *)definitionString { \"shape\":\"Token\",\ \"documentation\":\"

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

\"\ },\ - \"TrackerName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The tracker resource containing the requested devices.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"TrackerName\"\ + \"FilterGeometry\":{\ + \"shape\":\"TrackingFilterGeometry\",\ + \"documentation\":\"

The geometry used to filter device positions.

\"\ }\ }\ },\ @@ -3753,29 +4047,29 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"DeviceId\",\ - \"Position\",\ - \"SampleTime\"\ + \"SampleTime\",\ + \"Position\"\ ],\ \"members\":{\ - \"Accuracy\":{\ - \"shape\":\"PositionalAccuracy\",\ - \"documentation\":\"

The accuracy of the device position.

\"\ - },\ \"DeviceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The ID of the device for this position.

\"\ },\ + \"SampleTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp at which the device position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

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

The last known device position. Empty if no positions currently stored.

\"\ },\ + \"Accuracy\":{\ + \"shape\":\"PositionalAccuracy\",\ + \"documentation\":\"

The accuracy of the device position.

\"\ + },\ \"PositionProperties\":{\ \"shape\":\"PropertyMap\",\ \"documentation\":\"

The properties associated with the position.

\"\ - },\ - \"SampleTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp at which the device position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ }\ },\ \"documentation\":\"

Contains the tracker resource details.

\"\ @@ -3821,8 +4115,8 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"CollectionName\",\ - \"CreateTime\",\ \"Description\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ @@ -3830,10 +4124,6 @@ - (NSString *)definitionString { \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the geofence collection.

\"\ },\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ - },\ \"Description\":{\ \"shape\":\"ResourceDescription\",\ \"documentation\":\"

The description for the geofence collection

\"\ @@ -3850,12 +4140,16 @@ - (NSString *)definitionString { \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. Unused.\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

Specifies a timestamp for when the resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ }\ },\ - \"documentation\":\"

Contains the geofence collection details.

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

Contains the geofence collection details.

The returned geometry will always match the geometry format used when the geofence was created.

\"\ },\ \"ListGeofenceCollectionsResponseEntryList\":{\ \"type\":\"list\",\ @@ -3864,25 +4158,17 @@ - (NSString *)definitionString { \"ListGeofenceResponseEntry\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ \"GeofenceId\",\ \"Geometry\",\ \"Status\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ - },\ \"GeofenceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The geofence identifier.

\"\ },\ - \"GeofenceProperties\":{\ - \"shape\":\"PropertyMap\",\ - \"documentation\":\"

User defined properties of the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \\\"key\\\" : \\\"value\\\"

\"\ - },\ \"Geometry\":{\ \"shape\":\"GeofenceGeometry\",\ \"documentation\":\"

Contains the geofence geometry details describing a polygon or a circle.

\"\ @@ -3891,12 +4177,20 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"

Identifies the state of the geofence. A geofence will hold one of the following states:

  • ACTIVE — The geofence has been indexed by the system.

  • PENDING — The geofence is being processed by the system.

  • FAILED — The geofence failed to be indexed by the system.

  • DELETED — The geofence has been deleted from the system index.

  • DELETING — The geofence is being deleted from the system index.

\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ + \"GeofenceProperties\":{\ + \"shape\":\"PropertyMap\",\ + \"documentation\":\"

User defined properties of the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \\\"key\\\" : \\\"value\\\"

\"\ }\ },\ - \"documentation\":\"

Contains a list of geofences stored in a given geofence collection.

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

Contains a list of geofences stored in a given geofence collection.

The returned geometry will always match the geometry format used when the geofence was created.

\"\ },\ \"ListGeofenceResponseEntryList\":{\ \"type\":\"list\",\ @@ -3912,13 +4206,13 @@ - (NSString *)definitionString { \"location\":\"uri\",\ \"locationName\":\"CollectionName\"\ },\ + \"NextToken\":{\ + \"shape\":\"LargeToken\",\ + \"documentation\":\"

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

\"\ + },\ \"MaxResults\":{\ \"shape\":\"ListGeofencesRequestMaxResultsInteger\",\ \"documentation\":\"

An optional limit for the number of geofences returned in a single call.

Default value: 100

\"\ - },\ - \"NextToken\":{\ - \"shape\":\"Token\",\ - \"documentation\":\"

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

\"\ }\ }\ },\ @@ -3937,7 +4231,7 @@ - (NSString *)definitionString { \"documentation\":\"

Contains a list of geofences stored in the geofence collection.

\"\ },\ \"NextToken\":{\ - \"shape\":\"Token\",\ + \"shape\":\"LargeToken\",\ \"documentation\":\"

A pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.

\"\ }\ }\ @@ -3945,10 +4239,6 @@ - (NSString *)definitionString { \"ListKeysRequest\":{\ \"type\":\"structure\",\ \"members\":{\ - \"Filter\":{\ - \"shape\":\"ApiKeyFilter\",\ - \"documentation\":\"

Optionally filter the list to only Active or Expired API keys.

\"\ - },\ \"MaxResults\":{\ \"shape\":\"ListKeysRequestMaxResultsInteger\",\ \"documentation\":\"

An optional limit for the number of resources returned in a single call.

Default value: 100

\"\ @@ -3956,6 +4246,10 @@ - (NSString *)definitionString { \"NextToken\":{\ \"shape\":\"Token\",\ \"documentation\":\"

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

\"\ + },\ + \"Filter\":{\ + \"shape\":\"ApiKeyFilter\",\ + \"documentation\":\"

Optionally filter the list to only Active or Expired API keys.

\"\ }\ }\ },\ @@ -3982,30 +4276,30 @@ - (NSString *)definitionString { \"ListKeysResponseEntry\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ - \"ExpireTime\",\ \"KeyName\",\ + \"ExpireTime\",\ \"Restrictions\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ + \"KeyName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the API key resource.

\"\ + },\ + \"ExpireTime\":{\ \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp of when the API key was created, in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

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

The timestamp for when the API key resource will expire, in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ },\ \"Description\":{\ \"shape\":\"ResourceDescription\",\ \"documentation\":\"

The optional description for the API key resource.

\"\ },\ - \"ExpireTime\":{\ + \"Restrictions\":{\"shape\":\"ApiKeyRestrictions\"},\ + \"CreateTime\":{\ \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the API key resource will expire, in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ - \"KeyName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the API key resource.

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

The timestamp of when the API key was created, in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ },\ - \"Restrictions\":{\"shape\":\"ApiKeyRestrictions\"},\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp of when the API key was last updated, in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ @@ -4053,28 +4347,24 @@ - (NSString *)definitionString { \"ListMapsResponseEntry\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ - \"DataSource\",\ - \"Description\",\ \"MapName\",\ + \"Description\",\ + \"DataSource\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ - \"DataSource\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

Specifies the data provider for the associated map tiles.

\"\ + \"MapName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the associated map resource.

\"\ },\ \"Description\":{\ \"shape\":\"ResourceDescription\",\ \"documentation\":\"

The description for the map resource.

\"\ },\ - \"MapName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the associated map resource.

\"\ + \"DataSource\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Specifies the data provider for the associated map tiles.

\"\ },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ @@ -4082,6 +4372,10 @@ - (NSString *)definitionString { \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. Always returns RequestBasedUsage.\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the map resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ @@ -4129,28 +4423,24 @@ - (NSString *)definitionString { \"ListPlaceIndexesResponseEntry\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ - \"DataSource\",\ - \"Description\",\ \"IndexName\",\ + \"Description\",\ + \"DataSource\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ - },\ - \"DataSource\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The data provider of geospatial data. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ + \"IndexName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the place index resource.

\"\ },\ \"Description\":{\ \"shape\":\"ResourceDescription\",\ \"documentation\":\"

The optional description for the place index resource.

\"\ },\ - \"IndexName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the place index resource.

\"\ + \"DataSource\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The data provider of geospatial data. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ @@ -4158,6 +4448,10 @@ - (NSString *)definitionString { \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. Always returns RequestBasedUsage.\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the place index resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ @@ -4206,9 +4500,9 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\ \"CalculatorName\",\ - \"CreateTime\",\ - \"DataSource\",\ \"Description\",\ + \"DataSource\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ @@ -4216,24 +4510,24 @@ - (NSString *)definitionString { \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the route calculator resource.

\"\ },\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp when the route calculator resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

\"\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

The optional description of the route calculator resource.

\"\ },\ \"DataSource\":{\ \"shape\":\"String\",\ \"documentation\":\"

The data provider of traffic and road network data. Indicates one of the available providers:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

The optional description of the route calculator resource.

\"\ - },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ \"documentation\":\"

Always returns RequestBasedUsage.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. Always returns RequestBasedUsage.\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp when the route calculator resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp when the route calculator resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

\"\ @@ -4270,6 +4564,12 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"TrackerName\"],\ \"members\":{\ + \"TrackerName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The tracker resource whose associated geofence collections you want to list.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"TrackerName\"\ + },\ \"MaxResults\":{\ \"shape\":\"ListTrackerConsumersRequestMaxResultsInteger\",\ \"documentation\":\"

An optional limit for the number of resources returned in a single call.

Default value: 100

\"\ @@ -4277,12 +4577,6 @@ - (NSString *)definitionString { \"NextToken\":{\ \"shape\":\"Token\",\ \"documentation\":\"

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

\"\ - },\ - \"TrackerName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The tracker resource whose associated geofence collections you want to list.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"TrackerName\"\ }\ }\ },\ @@ -4342,15 +4636,15 @@ - (NSString *)definitionString { \"ListTrackersResponseEntry\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ - \"Description\",\ \"TrackerName\",\ + \"Description\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + \"TrackerName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the tracker resource.

\"\ },\ \"Description\":{\ \"shape\":\"ResourceDescription\",\ @@ -4368,9 +4662,9 @@ - (NSString *)definitionString { \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. Unused.\"\ },\ - \"TrackerName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the tracker resource.

\"\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ @@ -4383,21 +4677,151 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"ListTrackersResponseEntry\"}\ },\ + \"LteCellDetails\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"CellId\",\ + \"Mcc\",\ + \"Mnc\"\ + ],\ + \"members\":{\ + \"CellId\":{\ + \"shape\":\"EutranCellId\",\ + \"documentation\":\"

The E-UTRAN Cell Identifier (ECI).

\"\ + },\ + \"Mcc\":{\ + \"shape\":\"LteCellDetailsMccInteger\",\ + \"documentation\":\"

The Mobile Country Code (MCC).

\"\ + },\ + \"Mnc\":{\ + \"shape\":\"LteCellDetailsMncInteger\",\ + \"documentation\":\"

The Mobile Network Code (MNC)

\"\ + },\ + \"LocalId\":{\ + \"shape\":\"LteLocalId\",\ + \"documentation\":\"

The LTE local identification information (local ID).

\"\ + },\ + \"NetworkMeasurements\":{\ + \"shape\":\"LteCellDetailsNetworkMeasurementsList\",\ + \"documentation\":\"

The network measurements.

\"\ + },\ + \"TimingAdvance\":{\ + \"shape\":\"LteCellDetailsTimingAdvanceInteger\",\ + \"documentation\":\"

Timing Advance (TA).

\"\ + },\ + \"NrCapable\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether the LTE object is capable of supporting NR (new radio).

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

Signal power of the reference signal received, measured in decibel-milliwatts (dBm).

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

Signal quality of the reference Signal received, measured in decibels (dB).

\"\ + },\ + \"Tac\":{\ + \"shape\":\"LteCellDetailsTacInteger\",\ + \"documentation\":\"

LTE Tracking Area Code (TAC).

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

Details about the Long-Term Evolution (LTE) network.

\"\ + },\ + \"LteCellDetailsMccInteger\":{\ + \"type\":\"integer\",\ + \"box\":true,\ + \"max\":999,\ + \"min\":200\ + },\ + \"LteCellDetailsMncInteger\":{\ + \"type\":\"integer\",\ + \"box\":true,\ + \"max\":999,\ + \"min\":0\ + },\ + \"LteCellDetailsNetworkMeasurementsList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"LteNetworkMeasurements\"},\ + \"max\":32,\ + \"min\":1\ + },\ + \"LteCellDetailsTacInteger\":{\ + \"type\":\"integer\",\ + \"box\":true,\ + \"max\":65535,\ + \"min\":0\ + },\ + \"LteCellDetailsTimingAdvanceInteger\":{\ + \"type\":\"integer\",\ + \"box\":true,\ + \"max\":1282,\ + \"min\":0\ + },\ + \"LteLocalId\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"Earfcn\",\ + \"Pci\"\ + ],\ + \"members\":{\ + \"Earfcn\":{\ + \"shape\":\"Earfcn\",\ + \"documentation\":\"

E-UTRA (Evolved Universal Terrestrial Radio Access) absolute radio frequency channel number (EARFCN).

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

Physical Cell ID (PCI).

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

LTE local identification information (local ID).

\"\ + },\ + \"LteNetworkMeasurements\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"Earfcn\",\ + \"CellId\",\ + \"Pci\"\ + ],\ + \"members\":{\ + \"Earfcn\":{\ + \"shape\":\"Earfcn\",\ + \"documentation\":\"

E-UTRA (Evolved Universal Terrestrial Radio Access) absolute radio frequency channel number (EARFCN).

\"\ + },\ + \"CellId\":{\ + \"shape\":\"EutranCellId\",\ + \"documentation\":\"

E-UTRAN Cell Identifier (ECI).

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

Physical Cell ID (PCI).

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

Signal power of the reference signal received, measured in dBm (decibel-milliwatts).

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

Signal quality of the reference Signal received, measured in decibels (dB).

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

LTE network measurements.

\"\ + },\ \"MapConfiguration\":{\ \"type\":\"structure\",\ \"required\":[\"Style\"],\ \"members\":{\ - \"CustomLayers\":{\ - \"shape\":\"CustomLayerList\",\ - \"documentation\":\"

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Currenlty only VectorEsriNavigation supports CustomLayers. For more information, see Custom Layers.

\"\ + \"Style\":{\ + \"shape\":\"MapStyle\",\ + \"documentation\":\"

Specifies the map style selected from an available data provider.

Valid Esri map styles:

  • VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A vector basemap with a dark gray, neutral background with minimal colors, labels, and features that's designed to draw attention to your thematic content.

  • RasterEsriImagery – The Esri Imagery map style. A raster basemap that provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide.

  • VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.

  • VectorEsriTopographic – The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.

  • VectorEsriStreets – The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map style. The vector tile layer is similar in content and style to the World Street Map raster map.

  • VectorEsriNavigation – The Esri Navigation map style, which provides a detailed basemap for the world symbolized with a custom navigation map style that's designed for use during the day in mobile devices.

Valid HERE Technologies map styles:

  • VectorHereContrast – The HERE Contrast (Berlin) map style is a high contrast detailed base map of the world that blends 3D and 2D rendering.

    The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin has been deprecated, but will continue to work in applications that use it.

  • VectorHereExplore – A default HERE map style containing a neutral, global map and its features including roads, buildings, landmarks, and water features. It also now includes a fully designed map of Japan.

  • VectorHereExploreTruck – A global map containing truck restrictions and attributes (e.g. width / height / HAZMAT) symbolized with highlighted segments and icons on top of HERE Explore to support use cases within transport and logistics.

  • RasterHereExploreSatellite – A global map containing high resolution satellite imagery.

  • HybridHereExploreSatellite – A global map displaying the road network, street names, and city labels over satellite imagery. This style will automatically retrieve both raster and vector tiles, and your charges will be based on total tiles retrieved.

    Hybrid styles use both vector and raster tiles when rendering the map that you see. This means that more tiles are retrieved than when using either vector or raster tiles alone. Your charges will include all tiles retrieved.

Valid GrabMaps map styles:

  • VectorGrabStandardLight – The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.

  • VectorGrabStandardDark – The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.

Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

Valid Open Data map styles:

  • VectorOpenDataStandardLight – The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataStandardDark – Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataVisualizationLight – The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.

  • VectorOpenDataVisualizationDark – The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.

\"\ },\ \"PoliticalView\":{\ \"shape\":\"CountryCode3\",\ \"documentation\":\"

Specifies the political view for the style. Leave unset to not use a political view, or, for styles that support specific political views, you can choose a view, such as IND for the Indian view.

Default is unset.

Not all map resources or styles support political view styles. See Political views for more information.

\"\ },\ - \"Style\":{\ - \"shape\":\"MapStyle\",\ - \"documentation\":\"

Specifies the map style selected from an available data provider.

Valid Esri map styles:

  • VectorEsriNavigation – The Esri Navigation map style, which provides a detailed basemap for the world symbolized with a custom navigation map style that's designed for use during the day in mobile devices. It also includes a richer set of places, such as shops, services, restaurants, attractions, and other points of interest. Enable the POI layer by setting it in CustomLayers to leverage the additional places data.

  • RasterEsriImagery – The Esri Imagery map style. A raster basemap that provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide.

  • VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.

  • VectorEsriTopographic – The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.

  • VectorEsriStreets – The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map style. The vector tile layer is similar in content and style to the World Street Map raster map.

  • VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A vector basemap with a dark gray, neutral background with minimal colors, labels, and features that's designed to draw attention to your thematic content.

Valid HERE Technologies map styles:

  • VectorHereExplore – A default HERE map style containing a neutral, global map and its features including roads, buildings, landmarks, and water features. It also now includes a fully designed map of Japan.

  • RasterHereExploreSatellite – A global map containing high resolution satellite imagery.

  • HybridHereExploreSatellite – A global map displaying the road network, street names, and city labels over satellite imagery. This style will automatically retrieve both raster and vector tiles, and your charges will be based on total tiles retrieved.

    Hybrid styles use both vector and raster tiles when rendering the map that you see. This means that more tiles are retrieved than when using either vector or raster tiles alone. Your charges will include all tiles retrieved.

  • VectorHereContrast – The HERE Contrast (Berlin) map style is a high contrast detailed base map of the world that blends 3D and 2D rendering.

    The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin has been deprecated, but will continue to work in applications that use it.

  • VectorHereExploreTruck – A global map containing truck restrictions and attributes (e.g. width / height / HAZMAT) symbolized with highlighted segments and icons on top of HERE Explore to support use cases within transport and logistics.

Valid GrabMaps map styles:

  • VectorGrabStandardLight – The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.

  • VectorGrabStandardDark – The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.

Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

Valid Open Data map styles:

  • VectorOpenDataStandardLight – The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataStandardDark – Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataVisualizationLight – The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.

  • VectorOpenDataVisualizationDark – The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.

\"\ + \"CustomLayers\":{\ + \"shape\":\"CustomLayerList\",\ + \"documentation\":\"

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Not all map resources or styles support custom layers. See Custom Layers for more information.

\"\ }\ },\ \"documentation\":\"

Specifies the map tile style selected from an available provider.

\"\ @@ -4405,13 +4829,13 @@ - (NSString *)definitionString { \"MapConfigurationUpdate\":{\ \"type\":\"structure\",\ \"members\":{\ - \"CustomLayers\":{\ - \"shape\":\"CustomLayerList\",\ - \"documentation\":\"

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Currenlty only VectorEsriNavigation supports CustomLayers. For more information, see Custom Layers.

\"\ - },\ \"PoliticalView\":{\ \"shape\":\"CountryCode3OrEmpty\",\ \"documentation\":\"

Specifies the political view for the style. Set to an empty string to not use a political view, or, for styles that support specific political views, you can choose a view, such as IND for the Indian view.

Not all map resources or styles support political view styles. See Political views for more information.

\"\ + },\ + \"CustomLayers\":{\ + \"shape\":\"CustomLayerList\",\ + \"documentation\":\"

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Not all map resources or styles support custom layers. See Custom Layers for more information.

\"\ }\ },\ \"documentation\":\"

Specifies the political view for the style.

\"\ @@ -4420,7 +4844,11 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":100,\ \"min\":1,\ - \"pattern\":\"^[-._\\\\w]+$\"\ + \"pattern\":\"[-._\\\\w]+\"\ + },\ + \"NearestDistance\":{\ + \"type\":\"double\",\ + \"min\":0\ },\ \"OptimizationMode\":{\ \"type\":\"string\",\ @@ -4429,74 +4857,79 @@ - (NSString *)definitionString { \"ShortestRoute\"\ ]\ },\ + \"Pci\":{\ + \"type\":\"integer\",\ + \"max\":503,\ + \"min\":0\ + },\ \"Place\":{\ \"type\":\"structure\",\ \"required\":[\"Geometry\"],\ \"members\":{\ + \"Label\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The full name and address of the point of interest such as a city, region, or country. For example, 123 Any Street, Any Town, USA.

\"\ + },\ + \"Geometry\":{\"shape\":\"PlaceGeometry\"},\ \"AddressNumber\":{\ \"shape\":\"String\",\ \"documentation\":\"

The numerical portion of an address, such as a building number.

\"\ },\ - \"Categories\":{\ - \"shape\":\"PlaceCategoryList\",\ - \"documentation\":\"

The Amazon Location categories that describe this Place.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

\"\ - },\ - \"Country\":{\ + \"Street\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A country/region specified using ISO 3166 3-digit country/region code. For example, CAN.

\"\ - },\ - \"Geometry\":{\"shape\":\"PlaceGeometry\"},\ - \"Interpolated\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

True if the result is interpolated from other known places.

False if the Place is a known place.

Not returned when the partner does not provide the information.

For example, returns False for an address location that is found in the partner data, but returns True if an address does not exist in the partner data and its location is calculated by interpolating between other known addresses.

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

The name for a street or a road to identify a location. For example, Main Street.

\"\ },\ - \"Label\":{\ + \"Neighborhood\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The full name and address of the point of interest such as a city, region, or country. For example, 123 Any Street, Any Town, USA.

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

The name of a community district. For example, Downtown.

\"\ },\ \"Municipality\":{\ \"shape\":\"String\",\ \"documentation\":\"

A name for a local area, such as a city or town name. For example, Toronto.

\"\ },\ - \"Neighborhood\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The name of a community district. For example, Downtown.

\"\ - },\ - \"PostalCode\":{\ + \"SubRegion\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A group of numbers and letters in a country-specific format, which accompanies the address for the purpose of identifying a location.

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

A county, or an area that's part of a larger region. For example, Metro Vancouver.

\"\ },\ \"Region\":{\ \"shape\":\"String\",\ \"documentation\":\"

A name for an area or geographical division, such as a province or state name. For example, British Columbia.

\"\ },\ - \"Street\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The name for a street or a road to identify a location. For example, Main Street.

\"\ - },\ - \"SubMunicipality\":{\ + \"Country\":{\ \"shape\":\"String\",\ - \"documentation\":\"

An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

This property is only returned for a place index that uses Esri as a data provider. The property is represented as a district.

For more information about data providers, see Amazon Location Service data providers.

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

A country/region specified using ISO 3166 3-digit country/region code. For example, CAN.

\"\ },\ - \"SubRegion\":{\ + \"PostalCode\":{\ \"shape\":\"String\",\ - \"documentation\":\"

A county, or an area that's part of a larger region. For example, Metro Vancouver.

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

A group of numbers and letters in a country-specific format, which accompanies the address for the purpose of identifying a location.

\"\ },\ - \"SupplementalCategories\":{\ - \"shape\":\"PlaceSupplementalCategoryList\",\ - \"documentation\":\"

Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.

\"\ + \"Interpolated\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

True if the result is interpolated from other known places.

False if the Place is a known place.

Not returned when the partner does not provide the information.

For example, returns False for an address location that is found in the partner data, but returns True if an address does not exist in the partner data and its location is calculated by interpolating between other known addresses.

\"\ },\ \"TimeZone\":{\ \"shape\":\"TimeZone\",\ \"documentation\":\"

The time zone in which the Place is located. Returned only when using HERE or Grab as the selected partner.

\"\ },\ + \"UnitType\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

For addresses with a UnitNumber, the type of unit. For example, Apartment.

Returned only for a place index that uses Esri as a data provider.

\"\ + },\ \"UnitNumber\":{\ \"shape\":\"String\",\ - \"documentation\":\"

For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

This property is returned only for a place index that uses Esri or Grab as a data provider. It is not returned for SearchPlaceIndexForPosition.

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

For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

Returned only for a place index that uses Esri or Grab as a data provider. Is not returned for SearchPlaceIndexForPosition.

\"\ },\ - \"UnitType\":{\ + \"Categories\":{\ + \"shape\":\"PlaceCategoryList\",\ + \"documentation\":\"

The Amazon Location categories that describe this Place.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

\"\ + },\ + \"SupplementalCategories\":{\ + \"shape\":\"PlaceSupplementalCategoryList\",\ + \"documentation\":\"

Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.

\"\ + },\ + \"SubMunicipality\":{\ \"shape\":\"String\",\ - \"documentation\":\"

For addresses with a UnitNumber, the type of unit. For example, Apartment.

This property is returned only for a place index that uses Esri as a data provider.

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

An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

This property supported by Esri and OpenData. The Esri property is district, and the OpenData property is borough.

\"\ }\ },\ \"documentation\":\"

Contains details about addresses or points of interest that match the search criteria.

Not all details are included with all responses. Some details may only be returned by specific data partners.

\"\ @@ -4569,7 +5002,7 @@ - (NSString *)definitionString { \"PositionalAccuracyHorizontalDouble\":{\ \"type\":\"double\",\ \"box\":true,\ - \"max\":10000,\ + \"max\":10000000,\ \"min\":0\ },\ \"PricingPlan\":{\ @@ -4618,32 +5051,32 @@ - (NSString *)definitionString { \"location\":\"uri\",\ \"locationName\":\"GeofenceId\"\ },\ + \"Geometry\":{\ + \"shape\":\"GeofenceGeometry\",\ + \"documentation\":\"

Contains the details to specify the position of the geofence. Can be a polygon, a circle or a polygon encoded in Geobuf format. Including multiple selections will return a validation error.

The geofence polygon format supports a maximum of 1,000 vertices. The Geofence Geobuf format supports a maximum of 100,000 vertices.

\"\ + },\ \"GeofenceProperties\":{\ \"shape\":\"PropertyMap\",\ \"documentation\":\"

Associates one of more properties with the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \\\"key\\\" : \\\"value\\\"

\"\ - },\ - \"Geometry\":{\ - \"shape\":\"GeofenceGeometry\",\ - \"documentation\":\"

Contains the details to specify the position of the geofence. Can be either a polygon or a circle. Including both will return a validation error.

Each geofence polygon can have a maximum of 1,000 vertices.

\"\ }\ }\ },\ \"PutGeofenceResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CreateTime\",\ \"GeofenceId\",\ + \"CreateTime\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CreateTime\":{\ - \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp for when the geofence was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ - },\ \"GeofenceId\":{\ \"shape\":\"Id\",\ \"documentation\":\"

The geofence identifier entered in the request.

\"\ },\ + \"CreateTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the geofence was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ @@ -4654,7 +5087,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":253,\ \"min\":0,\ - \"pattern\":\"^([$\\\\-._+!*\\\\x{60}(),;/?:@=&\\\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+$\"\ + \"pattern\":\"([$\\\\-._+!*\\\\x{60}(),;/?:@=&\\\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+\"\ },\ \"ResourceDescription\":{\ \"type\":\"string\",\ @@ -4665,7 +5098,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":100,\ \"min\":1,\ - \"pattern\":\"^[-._\\\\w]+$\"\ + \"pattern\":\"[-._\\\\w]+\"\ },\ \"ResourceNotFoundException\":{\ \"type\":\"structure\",\ @@ -4745,21 +5178,33 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"RouteMatrixEntry\"}\ },\ + \"Rsrp\":{\ + \"type\":\"integer\",\ + \"box\":true,\ + \"max\":-44,\ + \"min\":-140\ + },\ + \"Rsrq\":{\ + \"type\":\"float\",\ + \"box\":true,\ + \"max\":-3,\ + \"min\":-19.5\ + },\ \"SearchForPositionResult\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Distance\",\ - \"Place\"\ + \"Place\",\ + \"Distance\"\ ],\ \"members\":{\ - \"Distance\":{\ - \"shape\":\"SearchForPositionResultDistanceDouble\",\ - \"documentation\":\"

The distance in meters of a great-circle arc between the query position and the result.

A great-circle arc is the shortest path on a sphere, in this case the Earth. This returns the shortest distance between two locations.

\"\ - },\ \"Place\":{\ \"shape\":\"Place\",\ \"documentation\":\"

Details about the search result, such as its address and position.

\"\ },\ + \"Distance\":{\ + \"shape\":\"SearchForPositionResultDistanceDouble\",\ + \"documentation\":\"

The distance in meters of a great-circle arc between the query position and the result.

A great-circle arc is the shortest path on a sphere, in this case the Earth. This returns the shortest distance between two locations.

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

The unique identifier of the place. You can use this with the GetPlace operation to find the place again later.

For SearchPlaceIndexForPosition operations, the PlaceId is returned only by place indexes that use HERE or Grab as a data provider.

\"\ @@ -4780,21 +5225,21 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"Text\"],\ \"members\":{\ - \"Categories\":{\ - \"shape\":\"PlaceCategoryList\",\ - \"documentation\":\"

The Amazon Location categories that describe the Place.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

\"\ + \"Text\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The text of the place suggestion, typically formatted as an address string.

\"\ },\ \"PlaceId\":{\ \"shape\":\"PlaceId\",\ - \"documentation\":\"

The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.

The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.

For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.

While you can use PlaceID in subsequent requests, PlaceID is not intended to be a permanent identifier and the ID can change between consecutive API calls. Please see the following PlaceID behaviour for each data provider:

  • Esri: Place IDs will change every quarter at a minimum. The typical time period for these changes would be March, June, September, and December. Place IDs might also change between the typical quarterly change but that will be much less frequent.

  • HERE: We recommend that you cache data for no longer than a week to keep your data data fresh. You can assume that less than 1% ID shifts will release over release which is approximately 1 - 2 times per week.

  • Grab: Place IDs can expire or become invalid in the following situations.

    • Data operations: The POI may be removed from Grab POI database by Grab Map Ops based on the ground-truth, such as being closed in the real world, being detected as a duplicate POI, or having incorrect information. Grab will synchronize data to the Waypoint environment on weekly basis.

    • Interpolated POI: Interpolated POI is a temporary POI generated in real time when serving a request, and it will be marked as derived in the place.result_type field in the response. The information of interpolated POIs will be retained for at least 30 days, which means that within 30 days, you are able to obtain POI details by Place ID from Place Details API. After 30 days, the interpolated POIs(both Place ID and details) may expire and inaccessible from the Places Details API.

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

The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.

The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.

For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.

\"\ + },\ + \"Categories\":{\ + \"shape\":\"PlaceCategoryList\",\ + \"documentation\":\"

The Amazon Location categories that describe the Place.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

\"\ },\ \"SupplementalCategories\":{\ \"shape\":\"PlaceSupplementalCategoryList\",\ \"documentation\":\"

Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.

\"\ - },\ - \"Text\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The text of the place suggestion, typically formatted as an address string.

\"\ }\ },\ \"documentation\":\"

Contains a place suggestion resulting from a place suggestion query that is run on a place index resource.

\"\ @@ -4805,23 +5250,23 @@ - (NSString *)definitionString { },\ \"SearchForTextResult\":{\ \"type\":\"structure\",\ - \"required\":[\"Place\"],\ - \"members\":{\ - \"Distance\":{\ - \"shape\":\"SearchForTextResultDistanceDouble\",\ - \"documentation\":\"

The distance in meters of a great-circle arc between the bias position specified and the result. Distance will be returned only if a bias position was specified in the query.

A great-circle arc is the shortest path on a sphere, in this case the Earth. This returns the shortest distance between two locations.

\"\ - },\ + \"required\":[\"Place\"],\ + \"members\":{\ \"Place\":{\ \"shape\":\"Place\",\ \"documentation\":\"

Details about the search result, such as its address and position.

\"\ },\ - \"PlaceId\":{\ - \"shape\":\"PlaceId\",\ - \"documentation\":\"

The unique identifier of the place. You can use this with the GetPlace operation to find the place again later.

For SearchPlaceIndexForText operations, the PlaceId is returned only by place indexes that use HERE or Grab as a data provider.

\"\ + \"Distance\":{\ + \"shape\":\"SearchForTextResultDistanceDouble\",\ + \"documentation\":\"

The distance in meters of a great-circle arc between the bias position specified and the result. Distance will be returned only if a bias position was specified in the query.

A great-circle arc is the shortest path on a sphere, in this case the Earth. This returns the shortest distance between two locations.

\"\ },\ \"Relevance\":{\ \"shape\":\"SearchForTextResultRelevanceDouble\",\ \"documentation\":\"

The relative confidence in the match for a result among the results returned. For example, if more fields for an address match (including house number, street, city, country/region, and postal code), the relevance score is closer to 1.

Returned only when the partner selected is Esri or Grab.

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

The unique identifier of the place. You can use this with the GetPlace operation to find the place again later.

For SearchPlaceIndexForText operations, the PlaceId is returned only by place indexes that use HERE or Grab as a data provider.

\"\ }\ },\ \"documentation\":\"

Contains a search result from a text search query that is run on a place index resource.

\"\ @@ -4854,50 +5299,58 @@ - (NSString *)definitionString { \"location\":\"uri\",\ \"locationName\":\"IndexName\"\ },\ - \"Key\":{\ - \"shape\":\"ApiKey\",\ - \"documentation\":\"

The optional API key to authorize the request.

\",\ - \"location\":\"querystring\",\ - \"locationName\":\"key\"\ - },\ - \"Language\":{\ - \"shape\":\"LanguageTag\",\ - \"documentation\":\"

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

This setting affects the languages used in the results, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for a location around Athens, Greece, with the language parameter set to en. The city in the results will most likely be returned as Athens.

If you set the language parameter to el, for Greek, then the city in the results will more likely be returned as Αθήνα.

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

\"\ + \"Position\":{\ + \"shape\":\"Position\",\ + \"documentation\":\"

Specifies the longitude and latitude of the position to query.

This parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

For example, [-123.1174, 49.2847] represents a position with longitude -123.1174 and latitude 49.2847.

\"\ },\ \"MaxResults\":{\ \"shape\":\"PlaceIndexSearchResultLimit\",\ \"documentation\":\"

An optional parameter. The maximum number of results returned per request.

Default value: 50

\"\ },\ - \"Position\":{\ - \"shape\":\"Position\",\ - \"documentation\":\"

Specifies the longitude and latitude of the position to query.

This parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

For example, [-123.1174, 49.2847] represents a position with longitude -123.1174 and latitude 49.2847.

\"\ + \"Language\":{\ + \"shape\":\"LanguageTag\",\ + \"documentation\":\"

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

This setting affects the languages used in the results, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for a location around Athens, Greece, with the language parameter set to en. The city in the results will most likely be returned as Athens.

If you set the language parameter to el, for Greek, then the city in the results will more likely be returned as Αθήνα.

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

\"\ + },\ + \"Key\":{\ + \"shape\":\"ApiKey\",\ + \"documentation\":\"

The optional API key to authorize the request.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"key\"\ }\ }\ },\ \"SearchPlaceIndexForPositionResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Results\",\ - \"Summary\"\ + \"Summary\",\ + \"Results\"\ ],\ \"members\":{\ - \"Results\":{\ - \"shape\":\"SearchForPositionResultList\",\ - \"documentation\":\"

Returns a list of Places closest to the specified position. Each result contains additional information about the Places returned.

\"\ - },\ \"Summary\":{\ \"shape\":\"SearchPlaceIndexForPositionSummary\",\ \"documentation\":\"

Contains a summary of the request. Echoes the input values for Position, Language, MaxResults, and the DataSource of the place index.

\"\ + },\ + \"Results\":{\ + \"shape\":\"SearchForPositionResultList\",\ + \"documentation\":\"

Returns a list of Places closest to the specified position. Each result contains additional information about the Places returned.

\"\ }\ }\ },\ \"SearchPlaceIndexForPositionSummary\":{\ \"type\":\"structure\",\ \"required\":[\ - \"DataSource\",\ - \"Position\"\ + \"Position\",\ + \"DataSource\"\ ],\ \"members\":{\ + \"Position\":{\ + \"shape\":\"Position\",\ + \"documentation\":\"

The position specified in the request.

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"PlaceIndexSearchResultLimit\",\ + \"documentation\":\"

Contains the optional result count limit that is specified in the request.

Default value: 50

\"\ + },\ \"DataSource\":{\ \"shape\":\"String\",\ \"documentation\":\"

The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ @@ -4905,14 +5358,6 @@ - (NSString *)definitionString { \"Language\":{\ \"shape\":\"LanguageTag\",\ \"documentation\":\"

The preferred language used to return results. Matches the language in the request. The value is a valid BCP 47 language tag, for example, en for English.

\"\ - },\ - \"MaxResults\":{\ - \"shape\":\"PlaceIndexSearchResultLimit\",\ - \"documentation\":\"

Contains the optional result count limit that is specified in the request.

Default value: 50

\"\ - },\ - \"Position\":{\ - \"shape\":\"Position\",\ - \"documentation\":\"

The position specified in the request.

\"\ }\ },\ \"documentation\":\"

A summary of the request sent by using SearchPlaceIndexForPosition.

\"\ @@ -4924,6 +5369,16 @@ - (NSString *)definitionString { \"Text\"\ ],\ \"members\":{\ + \"IndexName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the place index resource you want to use for the search.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"IndexName\"\ + },\ + \"Text\":{\ + \"shape\":\"SearchPlaceIndexForSuggestionsRequestTextString\",\ + \"documentation\":\"

The free-form partial text to use to generate place suggestions. For example, eiffel tow.

\"\ + },\ \"BiasPosition\":{\ \"shape\":\"Position\",\ \"documentation\":\"

An optional parameter that indicates a preference for place suggestions that are closer to a specified position.

If provided, this parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

For example, [-123.1174, 49.2847] represents the position with longitude -123.1174 and latitude 49.2847.

BiasPosition and FilterBBox are mutually exclusive. Specifying both options results in an error.

\"\ @@ -4932,37 +5387,27 @@ - (NSString *)definitionString { \"shape\":\"BoundingBox\",\ \"documentation\":\"

An optional parameter that limits the search results by returning only suggestions within a specified bounding box.

If provided, this parameter must contain a total of four consecutive numbers in two pairs. The first pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the southwest corner of the bounding box; the second pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the northeast corner of the bounding box.

For example, [-12.7935, -37.4835, -12.0684, -36.9542] represents a bounding box where the southwest corner has longitude -12.7935 and latitude -37.4835, and the northeast corner has longitude -12.0684 and latitude -36.9542.

FilterBBox and BiasPosition are mutually exclusive. Specifying both options results in an error.

\"\ },\ - \"FilterCategories\":{\ - \"shape\":\"FilterPlaceCategoryList\",\ - \"documentation\":\"

A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

\"\ - },\ \"FilterCountries\":{\ \"shape\":\"CountryCodeList\",\ \"documentation\":\"

An optional parameter that limits the search results by returning only suggestions within the provided list of countries.

  • Use the ISO 3166 3-digit country code. For example, Australia uses three upper-case characters: AUS.

\"\ },\ - \"IndexName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the place index resource you want to use for the search.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"IndexName\"\ - },\ - \"Key\":{\ - \"shape\":\"ApiKey\",\ - \"documentation\":\"

The optional API key to authorize the request.

\",\ - \"location\":\"querystring\",\ - \"locationName\":\"key\"\ + \"MaxResults\":{\ + \"shape\":\"SearchPlaceIndexForSuggestionsRequestMaxResultsInteger\",\ + \"documentation\":\"

An optional parameter. The maximum number of results returned per request.

The default: 5

\"\ },\ \"Language\":{\ \"shape\":\"LanguageTag\",\ \"documentation\":\"

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

This setting affects the languages used in the results. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for Athens, Gr to get suggestions with the language parameter set to en. The results found will most likely be returned as Athens, Greece.

If you set the language parameter to el, for Greek, then the result found will more likely be returned as Αθήνα, Ελλάδα.

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

\"\ },\ - \"MaxResults\":{\ - \"shape\":\"SearchPlaceIndexForSuggestionsRequestMaxResultsInteger\",\ - \"documentation\":\"

An optional parameter. The maximum number of results returned per request.

The default: 5

\"\ + \"FilterCategories\":{\ + \"shape\":\"FilterPlaceCategoryList\",\ + \"documentation\":\"

A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

\"\ },\ - \"Text\":{\ - \"shape\":\"SearchPlaceIndexForSuggestionsRequestTextString\",\ - \"documentation\":\"

The free-form partial text to use to generate place suggestions. For example, eiffel tow.

\"\ + \"Key\":{\ + \"shape\":\"ApiKey\",\ + \"documentation\":\"

The optional API key to authorize the request.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"key\"\ }\ }\ },\ @@ -4981,58 +5426,58 @@ - (NSString *)definitionString { \"SearchPlaceIndexForSuggestionsResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Results\",\ - \"Summary\"\ + \"Summary\",\ + \"Results\"\ ],\ \"members\":{\ - \"Results\":{\ - \"shape\":\"SearchForSuggestionsResultList\",\ - \"documentation\":\"

A list of place suggestions that best match the search text.

\"\ - },\ \"Summary\":{\ \"shape\":\"SearchPlaceIndexForSuggestionsSummary\",\ \"documentation\":\"

Contains a summary of the request. Echoes the input values for BiasPosition, FilterBBox, FilterCountries, Language, MaxResults, and Text. Also includes the DataSource of the place index.

\"\ + },\ + \"Results\":{\ + \"shape\":\"SearchForSuggestionsResultList\",\ + \"documentation\":\"

A list of place suggestions that best match the search text.

\"\ }\ }\ },\ \"SearchPlaceIndexForSuggestionsSummary\":{\ \"type\":\"structure\",\ \"required\":[\ - \"DataSource\",\ - \"Text\"\ + \"Text\",\ + \"DataSource\"\ ],\ \"members\":{\ + \"Text\":{\ + \"shape\":\"SensitiveString\",\ + \"documentation\":\"

The free-form partial text input specified in the request.

\"\ + },\ \"BiasPosition\":{\ \"shape\":\"Position\",\ \"documentation\":\"

Contains the coordinates for the optional bias position specified in the request.

This parameter contains a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

For example, [-123.1174, 49.2847] represents the position with longitude -123.1174 and latitude 49.2847.

\"\ },\ - \"DataSource\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ - },\ \"FilterBBox\":{\ \"shape\":\"BoundingBox\",\ \"documentation\":\"

Contains the coordinates for the optional bounding box specified in the request.

\"\ },\ - \"FilterCategories\":{\ - \"shape\":\"FilterPlaceCategoryList\",\ - \"documentation\":\"

The optional category filter specified in the request.

\"\ - },\ \"FilterCountries\":{\ \"shape\":\"CountryCodeList\",\ \"documentation\":\"

Contains the optional country filter specified in the request.

\"\ },\ - \"Language\":{\ - \"shape\":\"LanguageTag\",\ - \"documentation\":\"

The preferred language used to return results. Matches the language in the request. The value is a valid BCP 47 language tag, for example, en for English.

\"\ - },\ \"MaxResults\":{\ \"shape\":\"Integer\",\ \"documentation\":\"

Contains the optional result count limit specified in the request.

\"\ },\ - \"Text\":{\ - \"shape\":\"SensitiveString\",\ - \"documentation\":\"

The free-form partial text input specified in the request.

\"\ + \"DataSource\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ + },\ + \"Language\":{\ + \"shape\":\"LanguageTag\",\ + \"documentation\":\"

The preferred language used to return results. Matches the language in the request. The value is a valid BCP 47 language tag, for example, en for English.

\"\ + },\ + \"FilterCategories\":{\ + \"shape\":\"FilterPlaceCategoryList\",\ + \"documentation\":\"

The optional category filter specified in the request.

\"\ }\ },\ \"documentation\":\"

A summary of the request sent by using SearchPlaceIndexForSuggestions.

\"\ @@ -5044,6 +5489,16 @@ - (NSString *)definitionString { \"Text\"\ ],\ \"members\":{\ + \"IndexName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the place index resource you want to use for the search.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"IndexName\"\ + },\ + \"Text\":{\ + \"shape\":\"SearchPlaceIndexForTextRequestTextString\",\ + \"documentation\":\"

The address, name, city, or region to be used in the search in free-form text format. For example, 123 Any Street.

\"\ + },\ \"BiasPosition\":{\ \"shape\":\"Position\",\ \"documentation\":\"

An optional parameter that indicates a preference for places that are closer to a specified position.

If provided, this parameter must contain a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

For example, [-123.1174, 49.2847] represents the position with longitude -123.1174 and latitude 49.2847.

BiasPosition and FilterBBox are mutually exclusive. Specifying both options results in an error.

\"\ @@ -5052,37 +5507,27 @@ - (NSString *)definitionString { \"shape\":\"BoundingBox\",\ \"documentation\":\"

An optional parameter that limits the search results by returning only places that are within the provided bounding box.

If provided, this parameter must contain a total of four consecutive numbers in two pairs. The first pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the southwest corner of the bounding box; the second pair of numbers represents the X and Y coordinates (longitude and latitude, respectively) of the northeast corner of the bounding box.

For example, [-12.7935, -37.4835, -12.0684, -36.9542] represents a bounding box where the southwest corner has longitude -12.7935 and latitude -37.4835, and the northeast corner has longitude -12.0684 and latitude -36.9542.

FilterBBox and BiasPosition are mutually exclusive. Specifying both options results in an error.

\"\ },\ - \"FilterCategories\":{\ - \"shape\":\"FilterPlaceCategoryList\",\ - \"documentation\":\"

A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

\"\ - },\ \"FilterCountries\":{\ \"shape\":\"CountryCodeList\",\ \"documentation\":\"

An optional parameter that limits the search results by returning only places that are in a specified list of countries.

  • Valid values include ISO 3166 3-digit country codes. For example, Australia uses three upper-case characters: AUS.

\"\ },\ - \"IndexName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the place index resource you want to use for the search.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"IndexName\"\ - },\ - \"Key\":{\ - \"shape\":\"ApiKey\",\ - \"documentation\":\"

The optional API key to authorize the request.

\",\ - \"location\":\"querystring\",\ - \"locationName\":\"key\"\ + \"MaxResults\":{\ + \"shape\":\"PlaceIndexSearchResultLimit\",\ + \"documentation\":\"

An optional parameter. The maximum number of results returned per request.

The default: 50

\"\ },\ \"Language\":{\ \"shape\":\"LanguageTag\",\ \"documentation\":\"

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example, en for English.

This setting affects the languages used in the results, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for Athens, Greece, with the language parameter set to en. The result found will most likely be returned as Athens.

If you set the language parameter to el, for Greek, then the result found will more likely be returned as Αθήνα.

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

\"\ },\ - \"MaxResults\":{\ - \"shape\":\"PlaceIndexSearchResultLimit\",\ - \"documentation\":\"

An optional parameter. The maximum number of results returned per request.

The default: 50

\"\ + \"FilterCategories\":{\ + \"shape\":\"FilterPlaceCategoryList\",\ + \"documentation\":\"

A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service Developer Guide.

\"\ },\ - \"Text\":{\ - \"shape\":\"SearchPlaceIndexForTextRequestTextString\",\ - \"documentation\":\"

The address, name, city, or region to be used in the search in free-form text format. For example, 123 Any Street.

\"\ + \"Key\":{\ + \"shape\":\"ApiKey\",\ + \"documentation\":\"

The optional API key to authorize the request.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"key\"\ }\ }\ },\ @@ -5095,51 +5540,43 @@ - (NSString *)definitionString { \"SearchPlaceIndexForTextResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Results\",\ - \"Summary\"\ + \"Summary\",\ + \"Results\"\ ],\ \"members\":{\ - \"Results\":{\ - \"shape\":\"SearchForTextResultList\",\ - \"documentation\":\"

A list of Places matching the input text. Each result contains additional information about the specific point of interest.

Not all response properties are included with all responses. Some properties may only be returned by specific data partners.

\"\ - },\ \"Summary\":{\ \"shape\":\"SearchPlaceIndexForTextSummary\",\ \"documentation\":\"

Contains a summary of the request. Echoes the input values for BiasPosition, FilterBBox, FilterCountries, Language, MaxResults, and Text. Also includes the DataSource of the place index and the bounding box, ResultBBox, which surrounds the search results.

\"\ + },\ + \"Results\":{\ + \"shape\":\"SearchForTextResultList\",\ + \"documentation\":\"

A list of Places matching the input text. Each result contains additional information about the specific point of interest.

Not all response properties are included with all responses. Some properties may only be returned by specific data partners.

\"\ }\ }\ },\ \"SearchPlaceIndexForTextSummary\":{\ \"type\":\"structure\",\ \"required\":[\ - \"DataSource\",\ - \"Text\"\ + \"Text\",\ + \"DataSource\"\ ],\ \"members\":{\ + \"Text\":{\ + \"shape\":\"SensitiveString\",\ + \"documentation\":\"

The search text specified in the request.

\"\ + },\ \"BiasPosition\":{\ \"shape\":\"Position\",\ \"documentation\":\"

Contains the coordinates for the optional bias position specified in the request.

This parameter contains a pair of numbers. The first number represents the X coordinate, or longitude; the second number represents the Y coordinate, or latitude.

For example, [-123.1174, 49.2847] represents the position with longitude -123.1174 and latitude 49.2847.

\"\ },\ - \"DataSource\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ - },\ \"FilterBBox\":{\ \"shape\":\"BoundingBox\",\ \"documentation\":\"

Contains the coordinates for the optional bounding box specified in the request.

\"\ },\ - \"FilterCategories\":{\ - \"shape\":\"FilterPlaceCategoryList\",\ - \"documentation\":\"

The optional category filter specified in the request.

\"\ - },\ \"FilterCountries\":{\ \"shape\":\"CountryCodeList\",\ \"documentation\":\"

Contains the optional country filter specified in the request.

\"\ },\ - \"Language\":{\ - \"shape\":\"LanguageTag\",\ - \"documentation\":\"

The preferred language used to return results. Matches the language in the request. The value is a valid BCP 47 language tag, for example, en for English.

\"\ - },\ \"MaxResults\":{\ \"shape\":\"PlaceIndexSearchResultLimit\",\ \"documentation\":\"

Contains the optional result count limit specified in the request.

\"\ @@ -5148,9 +5585,17 @@ - (NSString *)definitionString { \"shape\":\"BoundingBox\",\ \"documentation\":\"

The bounding box that fully contains all search results.

If you specified the optional FilterBBox parameter in the request, ResultBBox is contained within FilterBBox.

\"\ },\ - \"Text\":{\ - \"shape\":\"SensitiveString\",\ - \"documentation\":\"

The search text specified in the request.

\"\ + \"DataSource\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

\"\ + },\ + \"Language\":{\ + \"shape\":\"LanguageTag\",\ + \"documentation\":\"

The preferred language used to return results. Matches the language in the request. The value is a valid BCP 47 language tag, for example, en for English.

\"\ + },\ + \"FilterCategories\":{\ + \"shape\":\"FilterPlaceCategoryList\",\ + \"documentation\":\"

The optional category filter specified in the request.

\"\ }\ },\ \"documentation\":\"

A summary of the request sent by using SearchPlaceIndexForText.

\"\ @@ -5176,6 +5621,13 @@ - (NSString *)definitionString { },\ \"exception\":true\ },\ + \"SpeedUnit\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"KilometersPerHour\",\ + \"MilesPerHour\"\ + ]\ + },\ \"Status\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -5186,31 +5638,31 @@ - (NSString *)definitionString { \"Step\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Distance\",\ - \"DurationSeconds\",\ + \"StartPosition\",\ \"EndPosition\",\ - \"StartPosition\"\ + \"Distance\",\ + \"DurationSeconds\"\ ],\ \"members\":{\ - \"Distance\":{\ - \"shape\":\"StepDistanceDouble\",\ - \"documentation\":\"

The travel distance between the step's StartPosition and EndPosition.

\"\ - },\ - \"DurationSeconds\":{\ - \"shape\":\"StepDurationSecondsDouble\",\ - \"documentation\":\"

The estimated travel time, in seconds, from the step's StartPosition to the EndPosition. . The travel mode and departure time that you specify in the request determines the calculated time.

\"\ + \"StartPosition\":{\ + \"shape\":\"Position\",\ + \"documentation\":\"

The starting position of a step. If the position is the first step in the leg, this position is the same as the start position of the leg.

\"\ },\ \"EndPosition\":{\ \"shape\":\"Position\",\ \"documentation\":\"

The end position of a step. If the position the last step in the leg, this position is the same as the end position of the leg.

\"\ },\ + \"Distance\":{\ + \"shape\":\"StepDistanceDouble\",\ + \"documentation\":\"

The travel distance between the step's StartPosition and EndPosition.

\"\ + },\ + \"DurationSeconds\":{\ + \"shape\":\"StepDurationSecondsDouble\",\ + \"documentation\":\"

The estimated travel time, in seconds, from the step's StartPosition to the EndPosition. . The travel mode and departure time that you specify in the request determines the calculated time.

\"\ + },\ \"GeometryOffset\":{\ \"shape\":\"StepGeometryOffsetInteger\",\ \"documentation\":\"

Represents the start position, or index, in a sequence of steps within the leg's line string geometry. For example, the index of the first step in a leg geometry is 0.

Included in the response for queries that set IncludeLegGeometry to True.

\"\ - },\ - \"StartPosition\":{\ - \"shape\":\"Position\",\ - \"documentation\":\"

The starting position of a step. If the position is the first step in the leg, this position is the same as the start position of the leg.

\"\ }\ },\ \"documentation\":\"

Represents an element of a leg within a route. A step contains instructions for how to move to the next step in the leg.

\"\ @@ -5239,7 +5691,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":128,\ \"min\":1,\ - \"pattern\":\"^[a-zA-Z+-=._:/]+$\"\ + \"pattern\":\"[a-zA-Z+-=._:/]+\"\ },\ \"TagKeys\":{\ \"type\":\"list\",\ @@ -5282,7 +5734,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":256,\ \"min\":0,\ - \"pattern\":\"^[A-Za-z0-9 _=@:.+-/]*$\"\ + \"pattern\":\"[A-Za-z0-9 _=@:.+-/]*\"\ },\ \"ThrottlingException\":{\ \"type\":\"structure\",\ @@ -5348,21 +5800,21 @@ - (NSString *)definitionString { \"TruckDimensions\":{\ \"type\":\"structure\",\ \"members\":{\ - \"Height\":{\ - \"shape\":\"TruckDimensionsHeightDouble\",\ - \"documentation\":\"

The height of the truck.

  • For example, 4.5.

For routes calculated with a HERE resource, this value must be between 0 and 50 meters.

\"\ - },\ \"Length\":{\ \"shape\":\"TruckDimensionsLengthDouble\",\ \"documentation\":\"

The length of the truck.

  • For example, 15.5.

For routes calculated with a HERE resource, this value must be between 0 and 300 meters.

\"\ },\ - \"Unit\":{\ - \"shape\":\"DimensionUnit\",\ - \"documentation\":\"

Specifies the unit of measurement for the truck dimensions.

Default Value: Meters

\"\ + \"Height\":{\ + \"shape\":\"TruckDimensionsHeightDouble\",\ + \"documentation\":\"

The height of the truck.

  • For example, 4.5.

For routes calculated with a HERE resource, this value must be between 0 and 50 meters.

\"\ },\ \"Width\":{\ \"shape\":\"TruckDimensionsWidthDouble\",\ \"documentation\":\"

The width of the truck.

  • For example, 4.5.

For routes calculated with a HERE resource, this value must be between 0 and 50 meters.

\"\ + },\ + \"Unit\":{\ + \"shape\":\"DimensionUnit\",\ + \"documentation\":\"

Specifies the unit of measurement for the truck dimensions.

Default Value: Meters

\"\ }\ },\ \"documentation\":\"

Contains details about the truck dimensions in the unit of measurement that you specify. Used to filter out roads that can't support or allow the specified dimensions for requests that specify TravelMode as Truck.

\"\ @@ -5437,10 +5889,6 @@ - (NSString *)definitionString { \"location\":\"uri\",\ \"locationName\":\"CollectionName\"\ },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

Updates the description for the geofence collection.

\"\ - },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ \"documentation\":\"

No longer used. If included, the only allowed value is RequestBasedUsage.

\",\ @@ -5452,25 +5900,29 @@ - (NSString *)definitionString { \"documentation\":\"

This parameter is no longer used.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. No longer allowed.\"\ + },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

Updates the description for the geofence collection.

\"\ }\ }\ },\ \"UpdateGeofenceCollectionResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CollectionArn\",\ \"CollectionName\",\ + \"CollectionArn\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CollectionArn\":{\ - \"shape\":\"Arn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the updated geofence collection. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection

\"\ - },\ \"CollectionName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the updated geofence collection.

\"\ },\ + \"CollectionArn\":{\ + \"shape\":\"Arn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the updated geofence collection. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The time when the geofence collection was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

\"\ @@ -5481,6 +5933,12 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"KeyName\"],\ \"members\":{\ + \"KeyName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the API key resource to update.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"KeyName\"\ + },\ \"Description\":{\ \"shape\":\"ResourceDescription\",\ \"documentation\":\"

Updates the description for the API key resource.

\"\ @@ -5489,20 +5947,14 @@ - (NSString *)definitionString { \"shape\":\"Timestamp\",\ \"documentation\":\"

Updates the timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ },\ - \"ForceUpdate\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

The boolean flag to be included for updating ExpireTime or Restrictions details.

Must be set to true to update an API key resource that has been used in the past 7 days.

False if force update is not preferred

Default value: False

\"\ - },\ - \"KeyName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the API key resource to update.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"KeyName\"\ - },\ \"NoExpiry\":{\ \"shape\":\"Boolean\",\ \"documentation\":\"

Whether the API key should expire. Set to true to set the API key to have no expiration time.

\"\ },\ + \"ForceUpdate\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

The boolean flag to be included for updating ExpireTime or Restrictions details.

Must be set to true to update an API key resource that has been used in the past 7 days.

False if force update is not preferred

Default value: False

\"\ + },\ \"Restrictions\":{\ \"shape\":\"ApiKeyRestrictions\",\ \"documentation\":\"

Updates the API key restrictions for the API key resource.

\"\ @@ -5535,14 +5987,6 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"MapName\"],\ \"members\":{\ - \"ConfigurationUpdate\":{\ - \"shape\":\"MapConfigurationUpdate\",\ - \"documentation\":\"

Updates the parts of the map configuration that can be updated, including the political view.

\"\ - },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

Updates the description for the map resource.

\"\ - },\ \"MapName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the map resource to update.

\",\ @@ -5554,25 +5998,33 @@ - (NSString *)definitionString { \"documentation\":\"

No longer used. If included, the only allowed value is RequestBasedUsage.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. If included, the only allowed value is RequestBasedUsage.\"\ + },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

Updates the description for the map resource.

\"\ + },\ + \"ConfigurationUpdate\":{\ + \"shape\":\"MapConfigurationUpdate\",\ + \"documentation\":\"

Updates the parts of the map configuration that can be updated, including the political view.

\"\ }\ }\ },\ \"UpdateMapResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"MapArn\",\ \"MapName\",\ + \"MapArn\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"MapArn\":{\ - \"shape\":\"GeoArn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the updated map resource. Used to specify a resource across AWS.

  • Format example: arn:aws:geo:region:account-id:map/ExampleMap

\"\ - },\ \"MapName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the updated map resource.

\"\ },\ + \"MapArn\":{\ + \"shape\":\"GeoArn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the updated map resource. Used to specify a resource across AWS.

  • Format example: arn:aws:geo:region:account-id:map/ExampleMap

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the map resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ @@ -5583,14 +6035,6 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"IndexName\"],\ \"members\":{\ - \"DataSourceConfiguration\":{\ - \"shape\":\"DataSourceConfiguration\",\ - \"documentation\":\"

Updates the data storage option for the place index resource.

\"\ - },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

Updates the description for the place index resource.

\"\ - },\ \"IndexName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the place index resource to update.

\",\ @@ -5602,25 +6046,33 @@ - (NSString *)definitionString { \"documentation\":\"

No longer used. If included, the only allowed value is RequestBasedUsage.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. If included, the only allowed value is RequestBasedUsage.\"\ + },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

Updates the description for the place index resource.

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

Updates the data storage option for the place index resource.

\"\ }\ }\ },\ \"UpdatePlaceIndexResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"IndexArn\",\ \"IndexName\",\ + \"IndexArn\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"IndexArn\":{\ - \"shape\":\"GeoArn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the upated place index resource. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:place- index/ExamplePlaceIndex

\"\ - },\ \"IndexName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the updated place index resource.

\"\ },\ + \"IndexArn\":{\ + \"shape\":\"GeoArn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the upated place index resource. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:place- index/ExamplePlaceIndex

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the place index resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ @@ -5637,34 +6089,34 @@ - (NSString *)definitionString { \"location\":\"uri\",\ \"locationName\":\"CalculatorName\"\ },\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

Updates the description for the route calculator resource.

\"\ - },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ \"documentation\":\"

No longer used. If included, the only allowed value is RequestBasedUsage.

\",\ \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. If included, the only allowed value is RequestBasedUsage.\"\ + },\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

Updates the description for the route calculator resource.

\"\ }\ }\ },\ \"UpdateRouteCalculatorResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"CalculatorArn\",\ \"CalculatorName\",\ + \"CalculatorArn\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"CalculatorArn\":{\ - \"shape\":\"GeoArn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the updated route calculator resource. Used to specify a resource across AWS.

  • Format example: arn:aws:geo:region:account-id:route- calculator/ExampleCalculator

\"\ - },\ \"CalculatorName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the updated route calculator resource.

\"\ },\ + \"CalculatorArn\":{\ + \"shape\":\"GeoArn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the updated route calculator resource. Used to specify a resource across AWS.

  • Format example: arn:aws:geo:region:account-id:route- calculator/ExampleCalculator

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the route calculator was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ @@ -5675,21 +6127,11 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"TrackerName\"],\ \"members\":{\ - \"Description\":{\ - \"shape\":\"ResourceDescription\",\ - \"documentation\":\"

Updates the description for the tracker resource.

\"\ - },\ - \"EventBridgeEnabled\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

\"\ - },\ - \"KmsKeyEnableGeospatialQueries\":{\ - \"shape\":\"Boolean\",\ - \"documentation\":\"

Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

This parameter is only used if you are using a KMS customer managed key.

\"\ - },\ - \"PositionFiltering\":{\ - \"shape\":\"PositionFiltering\",\ - \"documentation\":\"

Updates the position filtering for the tracker resource.

Valid values:

  • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

  • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this distance are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.

  • AccuracyBased - If the device has moved less than the measured accuracy, location updates are ignored. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device has moved less than 15 m. Ignored location updates are neither evaluated against linked geofence collections, nor stored. This helps educe the effects of GPS noise when displaying device trajectories on a map, and can help control costs by reducing the number of geofence evaluations.

\"\ + \"TrackerName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the tracker resource to update.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"TrackerName\"\ },\ \"PricingPlan\":{\ \"shape\":\"PricingPlan\",\ @@ -5703,49 +6145,58 @@ - (NSString *)definitionString { \"deprecated\":true,\ \"deprecatedMessage\":\"Deprecated. No longer allowed.\"\ },\ - \"TrackerName\":{\ - \"shape\":\"ResourceName\",\ - \"documentation\":\"

The name of the tracker resource to update.

\",\ - \"location\":\"uri\",\ - \"locationName\":\"TrackerName\"\ + \"Description\":{\ + \"shape\":\"ResourceDescription\",\ + \"documentation\":\"

Updates the description for the tracker resource.

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

Updates the position filtering for the tracker resource.

Valid values:

  • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

  • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this distance are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.

  • AccuracyBased - If the device has moved less than the measured accuracy, location updates are ignored. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device has moved less than 15 m. Ignored location updates are neither evaluated against linked geofence collections, nor stored. This helps educe the effects of GPS noise when displaying device trajectories on a map, and can help control costs by reducing the number of geofence evaluations.

\"\ + },\ + \"EventBridgeEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

\"\ + },\ + \"KmsKeyEnableGeospatialQueries\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

This parameter is only used if you are using a KMS customer managed key.

\"\ }\ }\ },\ \"UpdateTrackerResponse\":{\ \"type\":\"structure\",\ \"required\":[\ - \"TrackerArn\",\ \"TrackerName\",\ + \"TrackerArn\",\ \"UpdateTime\"\ ],\ \"members\":{\ - \"TrackerArn\":{\ - \"shape\":\"Arn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the updated tracker resource. Used to specify a resource across AWS.

  • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

\"\ - },\ \"TrackerName\":{\ \"shape\":\"ResourceName\",\ \"documentation\":\"

The name of the updated tracker resource.

\"\ },\ + \"TrackerArn\":{\ + \"shape\":\"Arn\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the updated tracker resource. Used to specify a resource across AWS.

  • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

\"\ + },\ \"UpdateTime\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The timestamp for when the tracker resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ }\ }\ },\ + \"Uuid\":{\ + \"type\":\"string\",\ + \"pattern\":\"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\"\ + },\ \"ValidationException\":{\ \"type\":\"structure\",\ \"required\":[\ - \"FieldList\",\ \"Message\",\ - \"Reason\"\ + \"Reason\",\ + \"FieldList\"\ ],\ \"members\":{\ - \"FieldList\":{\ - \"shape\":\"ValidationExceptionFieldList\",\ - \"documentation\":\"

The field where the invalid entry was detected.

\",\ - \"locationName\":\"fieldList\"\ - },\ \"Message\":{\ \"shape\":\"String\",\ \"locationName\":\"message\"\ @@ -5754,6 +6205,11 @@ - (NSString *)definitionString { \"shape\":\"ValidationExceptionReason\",\ \"documentation\":\"

A message with the reason for the validation exception error.

\",\ \"locationName\":\"reason\"\ + },\ + \"FieldList\":{\ + \"shape\":\"ValidationExceptionFieldList\",\ + \"documentation\":\"

The field where the invalid entry was detected.

\",\ + \"locationName\":\"fieldList\"\ }\ },\ \"documentation\":\"

The input failed to meet the constraints specified by the AWS service.

\",\ @@ -5766,19 +6222,19 @@ - (NSString *)definitionString { \"ValidationExceptionField\":{\ \"type\":\"structure\",\ \"required\":[\ - \"Message\",\ - \"Name\"\ + \"Name\",\ + \"Message\"\ ],\ \"members\":{\ - \"Message\":{\ - \"shape\":\"String\",\ - \"documentation\":\"

A message with the reason for the validation exception error.

\",\ - \"locationName\":\"message\"\ - },\ \"Name\":{\ \"shape\":\"String\",\ \"documentation\":\"

The field name where the invalid entry was detected.

\",\ \"locationName\":\"name\"\ + },\ + \"Message\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

A message with the reason for the validation exception error.

\",\ + \"locationName\":\"message\"\ }\ },\ \"documentation\":\"

The input failed to meet the constraints specified by the AWS service in a specified field.

\"\ @@ -5803,6 +6259,95 @@ - (NSString *)definitionString { \"Kilograms\",\ \"Pounds\"\ ]\ + },\ + \"VerifyDevicePositionRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"TrackerName\",\ + \"DeviceState\"\ + ],\ + \"members\":{\ + \"TrackerName\":{\ + \"shape\":\"ResourceName\",\ + \"documentation\":\"

The name of the tracker resource to be associated with verification request.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"TrackerName\"\ + },\ + \"DeviceState\":{\ + \"shape\":\"DeviceState\",\ + \"documentation\":\"

The device's state, including position, IP address, cell signals and Wi-Fi access points.

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

The distance unit for the verification request.

Default Value: Kilometers

\"\ + }\ + }\ + },\ + \"VerifyDevicePositionResponse\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InferredState\",\ + \"DeviceId\",\ + \"SampleTime\",\ + \"ReceivedTime\",\ + \"DistanceUnit\"\ + ],\ + \"members\":{\ + \"InferredState\":{\ + \"shape\":\"InferredState\",\ + \"documentation\":\"

The inferred state of the device, given the provided position, IP address, cellular signals, and Wi-Fi- access points.

\"\ + },\ + \"DeviceId\":{\ + \"shape\":\"Id\",\ + \"documentation\":\"

The device identifier.

\"\ + },\ + \"SampleTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

\"\ + },\ + \"ReceivedTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

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

The distance unit for the verification response.

\"\ + }\ + }\ + },\ + \"WiFiAccessPoint\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"MacAddress\",\ + \"Rss\"\ + ],\ + \"members\":{\ + \"MacAddress\":{\ + \"shape\":\"WiFiAccessPointMacAddressString\",\ + \"documentation\":\"

Medium access control address (Mac).

\"\ + },\ + \"Rss\":{\ + \"shape\":\"WiFiAccessPointRssInteger\",\ + \"documentation\":\"

Received signal strength (dBm) of the WLAN measurement data.

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

Wi-Fi access point.

\"\ + },\ + \"WiFiAccessPointList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"WiFiAccessPoint\"}\ + },\ + \"WiFiAccessPointMacAddressString\":{\ + \"type\":\"string\",\ + \"max\":17,\ + \"min\":12,\ + \"pattern\":\"([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})\"\ + },\ + \"WiFiAccessPointRssInteger\":{\ + \"type\":\"integer\",\ + \"box\":true,\ + \"max\":0,\ + \"min\":-128\ }\ },\ \"documentation\":\"

\\\"Suite of geospatial services including Maps, Places, Routes, Tracking, and Geofencing\\\"

\"\ diff --git a/AWSLocation/AWSLocationService.h b/AWSLocation/AWSLocationService.h index 688784bafa2..ce7178213d1 100644 --- a/AWSLocation/AWSLocationService.h +++ b/AWSLocation/AWSLocationService.h @@ -874,6 +874,31 @@ FOUNDATION_EXPORT NSString *const AWSLocationSDKVersion; */ - (void)disassociateTrackerConsumer:(AWSLocationDisassociateTrackerConsumerRequest *)request completionHandler:(void (^ _Nullable)(AWSLocationDisassociateTrackerConsumerResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Evaluates device positions against geofence geometries from a given geofence collection. The event forecasts three states for which a device can be in relative to a geofence:

ENTER: If a device is outside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

EXIT: If a device is inside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

IDLE: If a device is inside of a geofence, and the device is not moving.

+ + @param request A container for the necessary parameters to execute the ForecastGeofenceEvents service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSLocationForecastGeofenceEventsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSLocationErrorDomain` domain and the following error code: `AWSLocationErrorInternalServer`, `AWSLocationErrorResourceNotFound`, `AWSLocationErrorAccessDenied`, `AWSLocationErrorValidation`, `AWSLocationErrorThrottling`. + + @see AWSLocationForecastGeofenceEventsRequest + @see AWSLocationForecastGeofenceEventsResponse + */ +- (AWSTask *)forecastGeofenceEvents:(AWSLocationForecastGeofenceEventsRequest *)request; + +/** +

Evaluates device positions against geofence geometries from a given geofence collection. The event forecasts three states for which a device can be in relative to a geofence:

ENTER: If a device is outside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

EXIT: If a device is inside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

IDLE: If a device is inside of a geofence, and the device is not moving.

+ + @param request A container for the necessary parameters to execute the ForecastGeofenceEvents 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 `AWSLocationErrorDomain` domain and the following error code: `AWSLocationErrorInternalServer`, `AWSLocationErrorResourceNotFound`, `AWSLocationErrorAccessDenied`, `AWSLocationErrorValidation`, `AWSLocationErrorThrottling`. + + @see AWSLocationForecastGeofenceEventsRequest + @see AWSLocationForecastGeofenceEventsResponse + */ +- (void)forecastGeofenceEvents:(AWSLocationForecastGeofenceEventsRequest *)request completionHandler:(void (^ _Nullable)(AWSLocationForecastGeofenceEventsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Retrieves a device's most recent position according to its sample time.

Device positions are deleted after 30 days.

@@ -925,7 +950,7 @@ FOUNDATION_EXPORT NSString *const AWSLocationSDKVersion; - (void)getDevicePositionHistory:(AWSLocationGetDevicePositionHistoryRequest *)request completionHandler:(void (^ _Nullable)(AWSLocationGetDevicePositionHistoryResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Retrieves the geofence details from a geofence collection.

+

Retrieves the geofence details from a geofence collection.

The returned geometry will always match the geometry format used when the geofence was created.

@param request A container for the necessary parameters to execute the GetGeofence service method. @@ -937,7 +962,7 @@ FOUNDATION_EXPORT NSString *const AWSLocationSDKVersion; - (AWSTask *)getGeofence:(AWSLocationGetGeofenceRequest *)request; /** -

Retrieves the geofence details from a geofence collection.

+

Retrieves the geofence details from a geofence collection.

The returned geometry will always match the geometry format used when the geofence was created.

@param request A container for the necessary parameters to execute the GetGeofence service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1624,6 +1649,31 @@ FOUNDATION_EXPORT NSString *const AWSLocationSDKVersion; */ - (void)updateTracker:(AWSLocationUpdateTrackerRequest *)request completionHandler:(void (^ _Nullable)(AWSLocationUpdateTrackerResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Verifies the integrity of the device's position by determining if it was reported behind a proxy, and by comparing it to an inferred position estimated based on the device's state.

+ + @param request A container for the necessary parameters to execute the VerifyDevicePosition service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSLocationVerifyDevicePositionResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSLocationErrorDomain` domain and the following error code: `AWSLocationErrorInternalServer`, `AWSLocationErrorResourceNotFound`, `AWSLocationErrorAccessDenied`, `AWSLocationErrorValidation`, `AWSLocationErrorThrottling`. + + @see AWSLocationVerifyDevicePositionRequest + @see AWSLocationVerifyDevicePositionResponse + */ +- (AWSTask *)verifyDevicePosition:(AWSLocationVerifyDevicePositionRequest *)request; + +/** +

Verifies the integrity of the device's position by determining if it was reported behind a proxy, and by comparing it to an inferred position estimated based on the device's state.

+ + @param request A container for the necessary parameters to execute the VerifyDevicePosition 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 `AWSLocationErrorDomain` domain and the following error code: `AWSLocationErrorInternalServer`, `AWSLocationErrorResourceNotFound`, `AWSLocationErrorAccessDenied`, `AWSLocationErrorValidation`, `AWSLocationErrorThrottling`. + + @see AWSLocationVerifyDevicePositionRequest + @see AWSLocationVerifyDevicePositionResponse + */ +- (void)verifyDevicePosition:(AWSLocationVerifyDevicePositionRequest *)request completionHandler:(void (^ _Nullable)(AWSLocationVerifyDevicePositionResponse * _Nullable response, NSError * _Nullable error))completionHandler; + @end NS_ASSUME_NONNULL_END diff --git a/AWSLocation/AWSLocationService.m b/AWSLocation/AWSLocationService.m index 4f931a7e235..fed7cc0b48c 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.36.3"; +NSString *const AWSLocationSDKVersion = @"2.36.4"; @interface AWSLocationResponseSerializer : AWSJSONResponseSerializer @@ -242,7 +242,7 @@ - (instancetype)initWithConfiguration:(AWSServiceConfiguration *)configuration { _configuration.baseURL = _configuration.endpoint.URL; _configuration.retryHandler = [[AWSLocationRequestRetryHandler alloc] initWithMaximumRetryCount:_configuration.maxRetryCount]; - _configuration.headers = @{@"Content-Type" : @"application/x-amz-json-1.1"}; + _configuration.headers = @{@"Content-Type" : @"application/x-amz-json-1.0"}; _networking = [[AWSNetworking alloc] initWithConfiguration:_configuration]; } @@ -926,6 +926,29 @@ - (void)disassociateTrackerConsumer:(AWSLocationDisassociateTrackerConsumerReque }]; } +- (AWSTask *)forecastGeofenceEvents:(AWSLocationForecastGeofenceEventsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"/geofencing/v0/collections/{CollectionName}/forecast-geofence-events" + targetPrefix:@"" + operationName:@"ForecastGeofenceEvents" + outputClass:[AWSLocationForecastGeofenceEventsResponse class]]; +} + +- (void)forecastGeofenceEvents:(AWSLocationForecastGeofenceEventsRequest *)request + completionHandler:(void (^)(AWSLocationForecastGeofenceEventsResponse *response, NSError *error))completionHandler { + [[self forecastGeofenceEvents:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSLocationForecastGeofenceEventsResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getDevicePosition:(AWSLocationGetDevicePositionRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodGET @@ -1616,6 +1639,29 @@ - (void)updateTracker:(AWSLocationUpdateTrackerRequest *)request }]; } +- (AWSTask *)verifyDevicePosition:(AWSLocationVerifyDevicePositionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"/tracking/v0/trackers/{TrackerName}/positions/verify" + targetPrefix:@"" + operationName:@"VerifyDevicePosition" + outputClass:[AWSLocationVerifyDevicePositionResponse class]]; +} + +- (void)verifyDevicePosition:(AWSLocationVerifyDevicePositionRequest *)request + completionHandler:(void (^)(AWSLocationVerifyDevicePositionResponse *response, NSError *error))completionHandler { + [[self verifyDevicePosition:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSLocationVerifyDevicePositionResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + #pragma mark - @end diff --git a/AWSLocation/Info.plist b/AWSLocation/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSLocation/Info.plist +++ b/AWSLocation/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocationUnitTests/AWSGeneralLocationTests.m b/AWSLocationUnitTests/AWSGeneralLocationTests.m index df60686f089..d018fb4cf0f 100644 --- a/AWSLocationUnitTests/AWSGeneralLocationTests.m +++ b/AWSLocationUnitTests/AWSGeneralLocationTests.m @@ -1401,6 +1401,54 @@ - (void)testDisassociateTrackerConsumerCompletionHandler { [AWSLocation removeLocationForKey:key]; } +- (void)testForecastGeofenceEvents { + NSString *key = @"testForecastGeofenceEvents"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSLocation registerLocationWithConfiguration:configuration forKey:key]; + + AWSLocation *awsClient = [AWSLocation LocationForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSLocation LocationForKey:key] forecastGeofenceEvents:[AWSLocationForecastGeofenceEventsRequest 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]]); + + [AWSLocation removeLocationForKey:key]; +} + +- (void)testForecastGeofenceEventsCompletionHandler { + NSString *key = @"testForecastGeofenceEvents"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSLocation registerLocationWithConfiguration:configuration forKey:key]; + + AWSLocation *awsClient = [AWSLocation LocationForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSLocation LocationForKey:key] forecastGeofenceEvents:[AWSLocationForecastGeofenceEventsRequest new] completionHandler:^(AWSLocationForecastGeofenceEventsResponse* _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]]); + + [AWSLocation removeLocationForKey:key]; +} + - (void)testGetDevicePosition { NSString *key = @"testGetDevicePosition"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -2841,4 +2889,52 @@ - (void)testUpdateTrackerCompletionHandler { [AWSLocation removeLocationForKey:key]; } +- (void)testVerifyDevicePosition { + NSString *key = @"testVerifyDevicePosition"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSLocation registerLocationWithConfiguration:configuration forKey:key]; + + AWSLocation *awsClient = [AWSLocation LocationForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSLocation LocationForKey:key] verifyDevicePosition:[AWSLocationVerifyDevicePositionRequest 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]]); + + [AWSLocation removeLocationForKey:key]; +} + +- (void)testVerifyDevicePositionCompletionHandler { + NSString *key = @"testVerifyDevicePosition"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSLocation registerLocationWithConfiguration:configuration forKey:key]; + + AWSLocation *awsClient = [AWSLocation LocationForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSLocation LocationForKey:key] verifyDevicePosition:[AWSLocationVerifyDevicePositionRequest new] completionHandler:^(AWSLocationVerifyDevicePositionResponse* _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]]); + + [AWSLocation removeLocationForKey:key]; +} + @end diff --git a/AWSLocationUnitTests/AWSLocationNSSecureCodingTests.m b/AWSLocationUnitTests/AWSLocationNSSecureCodingTests.m index 21b910a5de9..4a910244be1 100644 --- a/AWSLocationUnitTests/AWSLocationNSSecureCodingTests.m +++ b/AWSLocationUnitTests/AWSLocationNSSecureCodingTests.m @@ -52,6 +52,7 @@ - (void) test_AWSLocationCalculateRouteRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationCalculateRouteResponse API_AVAILABLE(ios(11)); - (void) test_AWSLocationCalculateRouteSummary API_AVAILABLE(ios(11)); - (void) test_AWSLocationCalculateRouteTruckModeOptions API_AVAILABLE(ios(11)); +- (void) test_AWSLocationCellSignals API_AVAILABLE(ios(11)); - (void) test_AWSLocationCircle API_AVAILABLE(ios(11)); - (void) test_AWSLocationCreateGeofenceCollectionRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationCreateGeofenceCollectionResponse API_AVAILABLE(ios(11)); @@ -92,8 +93,13 @@ - (void) test_AWSLocationDescribeTrackerRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationDescribeTrackerResponse API_AVAILABLE(ios(11)); - (void) test_AWSLocationDevicePosition API_AVAILABLE(ios(11)); - (void) test_AWSLocationDevicePositionUpdate API_AVAILABLE(ios(11)); +- (void) test_AWSLocationDeviceState API_AVAILABLE(ios(11)); - (void) test_AWSLocationDisassociateTrackerConsumerRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationDisassociateTrackerConsumerResponse API_AVAILABLE(ios(11)); +- (void) test_AWSLocationForecastGeofenceEventsDeviceState API_AVAILABLE(ios(11)); +- (void) test_AWSLocationForecastGeofenceEventsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSLocationForecastGeofenceEventsResponse API_AVAILABLE(ios(11)); +- (void) test_AWSLocationForecastedEvent API_AVAILABLE(ios(11)); - (void) test_AWSLocationGeofenceGeometry API_AVAILABLE(ios(11)); - (void) test_AWSLocationGetDevicePositionHistoryRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationGetDevicePositionHistoryResponse API_AVAILABLE(ios(11)); @@ -111,6 +117,7 @@ - (void) test_AWSLocationGetMapTileRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationGetMapTileResponse API_AVAILABLE(ios(11)); - (void) test_AWSLocationGetPlaceRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationGetPlaceResponse API_AVAILABLE(ios(11)); +- (void) test_AWSLocationInferredState API_AVAILABLE(ios(11)); - (void) test_AWSLocationLeg API_AVAILABLE(ios(11)); - (void) test_AWSLocationLegGeometry API_AVAILABLE(ios(11)); - (void) test_AWSLocationListDevicePositionsRequest API_AVAILABLE(ios(11)); @@ -141,6 +148,9 @@ - (void) test_AWSLocationListTrackerConsumersResponse API_AVAILABLE(ios(11)); - (void) test_AWSLocationListTrackersRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationListTrackersResponse API_AVAILABLE(ios(11)); - (void) test_AWSLocationListTrackersResponseEntry API_AVAILABLE(ios(11)); +- (void) test_AWSLocationLteCellDetails API_AVAILABLE(ios(11)); +- (void) test_AWSLocationLteLocalId API_AVAILABLE(ios(11)); +- (void) test_AWSLocationLteNetworkMeasurements API_AVAILABLE(ios(11)); - (void) test_AWSLocationMapConfiguration API_AVAILABLE(ios(11)); - (void) test_AWSLocationMapConfigurationUpdate API_AVAILABLE(ios(11)); - (void) test_AWSLocationPlace API_AVAILABLE(ios(11)); @@ -184,6 +194,9 @@ - (void) test_AWSLocationUpdateRouteCalculatorResponse API_AVAILABLE(ios(11)); - (void) test_AWSLocationUpdateTrackerRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationUpdateTrackerResponse API_AVAILABLE(ios(11)); - (void) test_AWSLocationValidationExceptionField API_AVAILABLE(ios(11)); +- (void) test_AWSLocationVerifyDevicePositionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSLocationVerifyDevicePositionResponse API_AVAILABLE(ios(11)); +- (void) test_AWSLocationWiFiAccessPoint API_AVAILABLE(ios(11)); @end @@ -321,6 +334,10 @@ - (void) test_AWSLocationCalculateRouteTruckModeOptions { [self validateSecureCodingForClass:[AWSLocationCalculateRouteTruckModeOptions class]]; } +- (void) test_AWSLocationCellSignals { + [self validateSecureCodingForClass:[AWSLocationCellSignals class]]; +} + - (void) test_AWSLocationCircle { [self validateSecureCodingForClass:[AWSLocationCircle class]]; } @@ -481,6 +498,10 @@ - (void) test_AWSLocationDevicePositionUpdate { [self validateSecureCodingForClass:[AWSLocationDevicePositionUpdate class]]; } +- (void) test_AWSLocationDeviceState { + [self validateSecureCodingForClass:[AWSLocationDeviceState class]]; +} + - (void) test_AWSLocationDisassociateTrackerConsumerRequest { [self validateSecureCodingForClass:[AWSLocationDisassociateTrackerConsumerRequest class]]; } @@ -489,6 +510,22 @@ - (void) test_AWSLocationDisassociateTrackerConsumerResponse { [self validateSecureCodingForClass:[AWSLocationDisassociateTrackerConsumerResponse class]]; } +- (void) test_AWSLocationForecastGeofenceEventsDeviceState { + [self validateSecureCodingForClass:[AWSLocationForecastGeofenceEventsDeviceState class]]; +} + +- (void) test_AWSLocationForecastGeofenceEventsRequest { + [self validateSecureCodingForClass:[AWSLocationForecastGeofenceEventsRequest class]]; +} + +- (void) test_AWSLocationForecastGeofenceEventsResponse { + [self validateSecureCodingForClass:[AWSLocationForecastGeofenceEventsResponse class]]; +} + +- (void) test_AWSLocationForecastedEvent { + [self validateSecureCodingForClass:[AWSLocationForecastedEvent class]]; +} + - (void) test_AWSLocationGeofenceGeometry { [self validateSecureCodingForClass:[AWSLocationGeofenceGeometry class]]; } @@ -557,6 +594,10 @@ - (void) test_AWSLocationGetPlaceResponse { [self validateSecureCodingForClass:[AWSLocationGetPlaceResponse class]]; } +- (void) test_AWSLocationInferredState { + [self validateSecureCodingForClass:[AWSLocationInferredState class]]; +} + - (void) test_AWSLocationLeg { [self validateSecureCodingForClass:[AWSLocationLeg class]]; } @@ -677,6 +718,18 @@ - (void) test_AWSLocationListTrackersResponseEntry { [self validateSecureCodingForClass:[AWSLocationListTrackersResponseEntry class]]; } +- (void) test_AWSLocationLteCellDetails { + [self validateSecureCodingForClass:[AWSLocationLteCellDetails class]]; +} + +- (void) test_AWSLocationLteLocalId { + [self validateSecureCodingForClass:[AWSLocationLteLocalId class]]; +} + +- (void) test_AWSLocationLteNetworkMeasurements { + [self validateSecureCodingForClass:[AWSLocationLteNetworkMeasurements class]]; +} + - (void) test_AWSLocationMapConfiguration { [self validateSecureCodingForClass:[AWSLocationMapConfiguration class]]; } @@ -849,5 +902,17 @@ - (void) test_AWSLocationValidationExceptionField { [self validateSecureCodingForClass:[AWSLocationValidationExceptionField class]]; } +- (void) test_AWSLocationVerifyDevicePositionRequest { + [self validateSecureCodingForClass:[AWSLocationVerifyDevicePositionRequest class]]; +} + +- (void) test_AWSLocationVerifyDevicePositionResponse { + [self validateSecureCodingForClass:[AWSLocationVerifyDevicePositionResponse class]]; +} + +- (void) test_AWSLocationWiFiAccessPoint { + [self validateSecureCodingForClass:[AWSLocationWiFiAccessPoint class]]; +} + @end diff --git a/AWSLocationXCF/Info.plist b/AWSLocationXCF/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSLocationXCF/Info.plist +++ b/AWSLocationXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLogs.podspec b/AWSLogs.podspec index f443376627c..567a32754ad 100644 --- a/AWSLogs.podspec +++ b/AWSLogs.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLogs' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 92d192aa155..0e04f9e049b 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.36.3"; +NSString *const AWSLogsSDKVersion = @"2.36.4"; @interface AWSLogsResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLogs/Info.plist b/AWSLogs/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSLogs/Info.plist +++ b/AWSLogs/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMachineLearning.podspec b/AWSMachineLearning.podspec index a4eabb68eff..7861c182701 100644 --- a/AWSMachineLearning.podspec +++ b/AWSMachineLearning.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMachineLearning' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 01ce67d4d7e..f6583b79656 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.36.3"; +NSString *const AWSMachineLearningSDKVersion = @"2.36.4"; @interface AWSMachineLearningResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSMachineLearning/Info.plist b/AWSMachineLearning/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSMachineLearning/Info.plist +++ b/AWSMachineLearning/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMobileClient.podspec b/AWSMobileClient.podspec index cee4ec06a86..c9f837e730e 100644 --- a/AWSMobileClient.podspec +++ b/AWSMobileClient.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMobileClient' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' - s.dependency 'AWSCognitoIdentityProvider', '2.36.3' + s.dependency 'AWSAuthCore', '2.36.4' + s.dependency 'AWSCognitoIdentityProvider', '2.36.4' # 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.36.3' - s.dependency 'AWSCognitoIdentityProviderASF', '2.36.3' + s.dependency 'AWSCore', '2.36.4' + s.dependency 'AWSCognitoIdentityProviderASF', '2.36.4' 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 97853fe5801..0e4be45f367 100644 --- a/AWSPinpoint.podspec +++ b/AWSPinpoint.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPinpoint' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 c72f7b7f945..f4afaea7099 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.36.3"; +NSString *const AWSPinpointTargetingSDKVersion = @"2.36.4"; @interface AWSPinpointTargetingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPinpoint/Info.plist b/AWSPinpoint/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSPinpoint/Info.plist +++ b/AWSPinpoint/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSPolly.podspec b/AWSPolly.podspec index 798d54b075b..6d341c0ddba 100644 --- a/AWSPolly.podspec +++ b/AWSPolly.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPolly' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSPolly/*.{h,m}' - s.resource_bundle = { 'AWSPolly' => ['AWSPolly/PrivacyInfo.xcprivacy'] } + s.resource_bundle = { 'AWSPolly' => ['AWSPolly/PrivacyInfo.xcprivacy']} end diff --git a/AWSPolly/AWSPollyResources.m b/AWSPolly/AWSPollyResources.m index ebde7dbd2de..b5fa1e67d20 100644 --- a/AWSPolly/AWSPollyResources.m +++ b/AWSPolly/AWSPollyResources.m @@ -62,10 +62,12 @@ - (NSString *)definitionString { \"apiVersion\":\"2016-06-10\",\ \"endpointPrefix\":\"polly\",\ \"protocol\":\"rest-json\",\ + \"protocols\":[\"rest-json\"],\ \"serviceFullName\":\"Amazon Polly\",\ \"serviceId\":\"Polly\",\ \"signatureVersion\":\"v4\",\ - \"uid\":\"polly-2016-06-10\"\ + \"uid\":\"polly-2016-06-10\",\ + \"auth\":[\"aws.auth#sigv4\"]\ },\ \"operations\":{\ \"DeleteLexicon\":{\ diff --git a/AWSPolly/AWSPollyService.m b/AWSPolly/AWSPollyService.m index e8021432070..1bb4e3a8db4 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.36.3"; +NSString *const AWSPollySDKVersion = @"2.36.4"; @interface AWSPollyResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m b/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m index ac6671ab9e3..199381696dc 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.36.3"; +static NSString *const AWSPollySDKVersion = @"2.36.4"; NSString *const AWSPollySynthesizeSpeechURLBuilderErrorDomain = @"com.amazonaws.AWSPollySynthesizeSpeechURLBuilderErrorDomain"; NSString *const AWSPollyPresignedUrlPath = @"v1/speech"; diff --git a/AWSPolly/Info.plist b/AWSPolly/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSPolly/Info.plist +++ b/AWSPolly/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSRekognition.podspec b/AWSRekognition.podspec index 8393cf19544..729e400b3c3 100644 --- a/AWSRekognition.podspec +++ b/AWSRekognition.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSRekognition' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSRekognition/*.{h,m}' s.resource_bundle = { 'AWSRekognition' => ['AWSRekognition/PrivacyInfo.xcprivacy']} end diff --git a/AWSRekognition/AWSRekognition.h b/AWSRekognition/AWSRekognition.h index dec720f53a0..81dd7572414 100644 --- a/AWSRekognition/AWSRekognition.h +++ b/AWSRekognition/AWSRekognition.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/AWSRekognition/AWSRekognitionModel.h b/AWSRekognition/AWSRekognitionModel.h index b8e6d508bdc..399d45caf1f 100644 --- a/AWSRekognition/AWSRekognitionModel.h +++ b/AWSRekognition/AWSRekognitionModel.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. @@ -30,6 +30,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionErrorType) { AWSRekognitionErrorImageTooLarge, AWSRekognitionErrorInternalServer, AWSRekognitionErrorInvalidImageFormat, + AWSRekognitionErrorInvalidManifest, AWSRekognitionErrorInvalidPaginationToken, AWSRekognitionErrorInvalidParameter, AWSRekognitionErrorInvalidPolicyRevisionId, @@ -231,6 +232,28 @@ typedef NS_ENUM(NSInteger, AWSRekognitionLivenessSessionStatus) { AWSRekognitionLivenessSessionStatusExpired, }; +typedef NS_ENUM(NSInteger, AWSRekognitionMediaAnalysisJobFailureCode) { + AWSRekognitionMediaAnalysisJobFailureCodeUnknown, + AWSRekognitionMediaAnalysisJobFailureCodeInternalError, + AWSRekognitionMediaAnalysisJobFailureCodeInvalidS3Object, + AWSRekognitionMediaAnalysisJobFailureCodeInvalidManifest, + AWSRekognitionMediaAnalysisJobFailureCodeInvalidOutputConfig, + AWSRekognitionMediaAnalysisJobFailureCodeInvalidKmsKey, + AWSRekognitionMediaAnalysisJobFailureCodeAccessDenied, + AWSRekognitionMediaAnalysisJobFailureCodeResourceNotFound, + AWSRekognitionMediaAnalysisJobFailureCodeResourceNotReady, + AWSRekognitionMediaAnalysisJobFailureCodeThrottled, +}; + +typedef NS_ENUM(NSInteger, AWSRekognitionMediaAnalysisJobStatus) { + AWSRekognitionMediaAnalysisJobStatusUnknown, + AWSRekognitionMediaAnalysisJobStatusCreated, + AWSRekognitionMediaAnalysisJobStatusQueued, + AWSRekognitionMediaAnalysisJobStatusInProgress, + AWSRekognitionMediaAnalysisJobStatusSucceeded, + AWSRekognitionMediaAnalysisJobStatusFailed, +}; + typedef NS_ENUM(NSInteger, AWSRekognitionOrientationCorrection) { AWSRekognitionOrientationCorrectionUnknown, AWSRekognitionOrientationCorrectionRotate0, @@ -415,6 +438,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @class AWSRekognitionConnectedHomeSettings; @class AWSRekognitionConnectedHomeSettingsForUpdate; @class AWSRekognitionContentModerationDetection; +@class AWSRekognitionContentType; @class AWSRekognitionReplicateProjectVersionRequest; @class AWSRekognitionReplicateProjectVersionResponse; @class AWSRekognitionCoversBodyPart; @@ -528,6 +552,8 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @class AWSRekognitionGetLabelDetectionRequest; @class AWSRekognitionGetLabelDetectionRequestMetadata; @class AWSRekognitionGetLabelDetectionResponse; +@class AWSRekognitionGetMediaAnalysisJobRequest; +@class AWSRekognitionGetMediaAnalysisJobResponse; @class AWSRekognitionGetPersonTrackingRequest; @class AWSRekognitionGetPersonTrackingResponse; @class AWSRekognitionGetSegmentDetectionRequest; @@ -561,6 +587,8 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @class AWSRekognitionListDatasetLabelsResponse; @class AWSRekognitionListFacesRequest; @class AWSRekognitionListFacesResponse; +@class AWSRekognitionListMediaAnalysisJobsRequest; +@class AWSRekognitionListMediaAnalysisJobsResponse; @class AWSRekognitionListProjectPoliciesRequest; @class AWSRekognitionListProjectPoliciesResponse; @class AWSRekognitionListStreamProcessorsRequest; @@ -571,6 +599,15 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @class AWSRekognitionListUsersResponse; @class AWSRekognitionLivenessOutputConfig; @class AWSRekognitionMatchedUser; +@class AWSRekognitionMediaAnalysisDetectModerationLabelsConfig; +@class AWSRekognitionMediaAnalysisInput; +@class AWSRekognitionMediaAnalysisJobDescription; +@class AWSRekognitionMediaAnalysisJobFailureDetails; +@class AWSRekognitionMediaAnalysisManifestSummary; +@class AWSRekognitionMediaAnalysisModelVersions; +@class AWSRekognitionMediaAnalysisOperationsConfig; +@class AWSRekognitionMediaAnalysisOutputConfig; +@class AWSRekognitionMediaAnalysisResults; @class AWSRekognitionModerationLabel; @class AWSRekognitionMouthOpen; @class AWSRekognitionMustache; @@ -621,6 +658,8 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @class AWSRekognitionStartFaceSearchResponse; @class AWSRekognitionStartLabelDetectionRequest; @class AWSRekognitionStartLabelDetectionResponse; +@class AWSRekognitionStartMediaAnalysisJobRequest; +@class AWSRekognitionStartMediaAnalysisJobResponse; @class AWSRekognitionStartPersonTrackingRequest; @class AWSRekognitionStartPersonTrackingResponse; @class AWSRekognitionStartProjectVersionRequest; @@ -747,7 +786,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { /** -

An array of AssociatedFace objects containing FaceIDs that are successfully associated with the UserID is returned. Returned if the AssociateFaces action is successful.

+

An array of AssociatedFace objects containing FaceIDs that have been successfully associated with the UserID. Returned if the AssociateFaces action is successful.

*/ @property (nonatomic, strong) NSArray * _Nullable associatedFaces; @@ -1173,6 +1212,11 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @interface AWSRekognitionContentModerationDetection : AWSModel +/** +

A list of predicted results for the type of content an image contains. For example, the image content might be from animation, sports, or a video game.

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

The time duration of a segment in milliseconds, I.e. time elapsed from StartTimestampMillis to EndTimestampMillis.

*/ @@ -1200,6 +1244,24 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @end +/** +

Contains information regarding the confidence and name of a detected content type.

+ */ +@interface AWSRekognitionContentType : AWSModel + + +/** +

The confidence level of the label given

+ */ +@property (nonatomic, strong) NSNumber * _Nullable confidence; + +/** +

The name of the label

+ */ +@property (nonatomic, strong) NSString * _Nullable name; + +@end + /** */ @@ -1336,6 +1398,11 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { */ @property (nonatomic, strong) NSString * _Nullable projectArn; +/** +

A set of tags (key-value pairs) that you want to attach to the dataset.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + @end /** @@ -1399,7 +1466,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { /** -

A unique 128-bit UUID identifying a Face Liveness session.

+

A unique 128-bit UUID identifying a Face Liveness session. A new sessionID must be used for every Face Liveness check. If a given sessionID is used for subsequent Face Liveness checks, the checks will fail. Additionally, a SessionId expires 3 minutes after it's sent, making all Liveness data associated with the session (e.g., sessionID, reference image, audit images, etc.) unavailable.

*/ @property (nonatomic, strong) NSString * _Nullable sessionId; @@ -1426,6 +1493,11 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { */ @property (nonatomic, strong) NSString * _Nullable projectName; +/** +

A set of tags (key-value pairs) that you want to attach to the project.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + @end /** @@ -2593,13 +2665,18 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @interface AWSRekognitionDetectModerationLabelsResponse : AWSModel +/** +

A list of predicted results for the type of content an image contains. For example, the image content might be from animation, sports, or a video game.

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

Shows the results of the human in the loop evaluation.

*/ @property (nonatomic, strong) AWSRekognitionHumanLoopActivationOutput * _Nullable humanLoopActivationOutput; /** -

Array of detected Moderation labels and the time, in milliseconds from the start of the video, they were detected.

+

Array of detected Moderation labels. For video operations, this includes the time, in milliseconds from the start of the video, they were detected.

*/ @property (nonatomic, strong) NSArray * _Nullable moderationLabels; @@ -3811,6 +3888,87 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @end +/** + + */ +@interface AWSRekognitionGetMediaAnalysisJobRequest : AWSRequest + + +/** +

Unique identifier for the media analysis job for which you want to retrieve results.

+ */ +@property (nonatomic, strong) NSString * _Nullable jobId; + +@end + +/** + + */ +@interface AWSRekognitionGetMediaAnalysisJobResponse : AWSModel + + +/** +

The Unix date and time when the job finished.

+ */ +@property (nonatomic, strong) NSDate * _Nullable completionTimestamp; + +/** +

The Unix date and time when the job was started.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationTimestamp; + +/** +

Details about the error that resulted in failure of the job.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisJobFailureDetails * _Nullable failureDetails; + +/** +

Reference to the input manifest that was provided in the job creation request.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisInput * _Nullable input; + +/** +

The identifier for the media analysis job.

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

The name of the media analysis job.

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

KMS Key that was provided in the creation request.

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

The summary manifest provides statistics on input manifest and errors identified in the input manifest.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisManifestSummary * _Nullable manifestSummary; + +/** +

Operation configurations that were provided during job creation.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisOperationsConfig * _Nullable operationsConfig; + +/** +

Output configuration that was provided in the creation request.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisOutputConfig * _Nullable outputConfig; + +/** +

Output manifest that contains prediction results.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisResults * _Nullable results; + +/** +

The current status of the media analysis job.

+ */ +@property (nonatomic, assign) AWSRekognitionMediaAnalysisJobStatus status; + +@end + /** */ @@ -4631,6 +4789,42 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @end +/** + + */ +@interface AWSRekognitionListMediaAnalysisJobsRequest : AWSRequest + + +/** +

The maximum number of results to return per paginated call. The largest value user can specify is 100. If user specifies a value greater than 100, an InvalidParameterException error occurs. The default value is 100.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

Pagination token, if the previous response was incomplete.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSRekognitionListMediaAnalysisJobsResponse : AWSModel + + +/** +

Contains a list of all media analysis jobs.

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

Pagination token, if the previous response was incomplete.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + /** */ @@ -4812,6 +5006,201 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @end +/** +

Configuration for Moderation Labels Detection.

+ */ +@interface AWSRekognitionMediaAnalysisDetectModerationLabelsConfig : AWSModel + + +/** +

Specifies the minimum confidence level for the moderation labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable minConfidence; + +/** +

Specifies the custom moderation model to be used during the label detection job. If not provided the pre-trained model is used.

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

Contains input information for a media analysis job.

+ Required parameters: [S3Object] + */ +@interface AWSRekognitionMediaAnalysisInput : AWSModel + + +/** +

Provides the S3 bucket name and object name.

The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see How Amazon Rekognition works with IAM in the Amazon Rekognition Developer Guide.

+ */ +@property (nonatomic, strong) AWSRekognitionS3Object * _Nullable s3Object; + +@end + +/** +

Description for a media analysis job.

+ Required parameters: [JobId, OperationsConfig, Status, CreationTimestamp, Input, OutputConfig] + */ +@interface AWSRekognitionMediaAnalysisJobDescription : AWSModel + + +/** +

The Unix date and time when the job finished.

+ */ +@property (nonatomic, strong) NSDate * _Nullable completionTimestamp; + +/** +

The Unix date and time when the job was started.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationTimestamp; + +/** +

Details about the error that resulted in failure of the job.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisJobFailureDetails * _Nullable failureDetails; + +/** +

Reference to the input manifest that was provided in the job creation request.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisInput * _Nullable input; + +/** +

The identifier for a media analysis job.

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

The name of a media analysis job.

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

KMS Key that was provided in the creation request.

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

Provides statistics on input manifest and errors identified in the input manifest.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisManifestSummary * _Nullable manifestSummary; + +/** +

Operation configurations that were provided during job creation.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisOperationsConfig * _Nullable operationsConfig; + +/** +

Output configuration that was provided in the creation request.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisOutputConfig * _Nullable outputConfig; + +/** +

Output manifest that contains prediction results.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisResults * _Nullable results; + +/** +

The status of the media analysis job being retrieved.

+ */ +@property (nonatomic, assign) AWSRekognitionMediaAnalysisJobStatus status; + +@end + +/** +

Details about the error that resulted in failure of the job.

+ */ +@interface AWSRekognitionMediaAnalysisJobFailureDetails : AWSModel + + +/** +

Error code for the failed job.

+ */ +@property (nonatomic, assign) AWSRekognitionMediaAnalysisJobFailureCode code; + +/** +

Human readable error message.

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

Summary that provides statistics on input manifest and errors identified in the input manifest.

+ */ +@interface AWSRekognitionMediaAnalysisManifestSummary : AWSModel + + +/** +

Provides the S3 bucket name and object name.

The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see How Amazon Rekognition works with IAM in the Amazon Rekognition Developer Guide.

+ */ +@property (nonatomic, strong) AWSRekognitionS3Object * _Nullable s3Object; + +@end + +/** +

Object containing information about the model versions of selected features in a given job.

+ */ +@interface AWSRekognitionMediaAnalysisModelVersions : AWSModel + + +/** +

The Moderation base model version.

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

Configuration options for a media analysis job. Configuration is operation-specific.

+ */ +@interface AWSRekognitionMediaAnalysisOperationsConfig : AWSModel + + +/** +

Contains configuration options for a DetectModerationLabels job.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisDetectModerationLabelsConfig * _Nullable detectModerationLabels; + +@end + +/** +

Output configuration provided in the job creation request.

+ Required parameters: [S3Bucket] + */ +@interface AWSRekognitionMediaAnalysisOutputConfig : AWSModel + + +/** +

Specifies the Amazon S3 bucket to contain the output of the media analysis job.

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

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for storage.

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

Contains the results for a media analysis job created with StartMediaAnalysisJob.

+ */ +@interface AWSRekognitionMediaAnalysisResults : AWSModel + + +/** +

Information about the model versions for the features selected in a given job.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisModelVersions * _Nullable modelVersions; + +/** +

Provides the S3 bucket name and object name.

The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see How Amazon Rekognition works with IAM in the Amazon Rekognition Developer Guide.

+ */ +@property (nonatomic, strong) AWSRekognitionS3Object * _Nullable s3Object; + +@end + /**

Provides information about a single type of inappropriate, unwanted, or offensive content found in an image or video. Each type of moderated content has a label within a hierarchical taxonomy. For more information, see Content moderation in the Amazon Rekognition Developer Guide.

*/ @@ -4833,6 +5222,11 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { */ @property (nonatomic, strong) NSString * _Nullable parentName; +/** +

The level of the moderation label with regard to its taxonomy, from 1 to 3.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable taxonomyLevel; + @end /** @@ -6069,6 +6463,57 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @end +/** + + */ +@interface AWSRekognitionStartMediaAnalysisJobRequest : AWSRequest + + +/** +

Idempotency token used to prevent the accidental creation of duplicate versions. If you use the same token with multiple StartMediaAnalysisJobRequest requests, the same response is returned. Use ClientRequestToken to prevent the same request from being processed more than once.

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

Input data to be analyzed by the job.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisInput * _Nullable input; + +/** +

The name of the job. Does not have to be unique.

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

The identifier of customer managed AWS KMS key (name or ARN). The key is used to encrypt images copied into the service. The key is also used to encrypt results and manifest files written to the output Amazon S3 bucket.

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

Configuration options for the media analysis job to be created.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisOperationsConfig * _Nullable operationsConfig; + +/** +

The Amazon S3 bucket location to store the results.

+ */ +@property (nonatomic, strong) AWSRekognitionMediaAnalysisOutputConfig * _Nullable outputConfig; + +@end + +/** + + */ +@interface AWSRekognitionStartMediaAnalysisJobResponse : AWSModel + + +/** +

Identifier for the created job.

+ */ +@property (nonatomic, strong) NSString * _Nullable jobId; + +@end + /** */ diff --git a/AWSRekognition/AWSRekognitionModel.m b/AWSRekognition/AWSRekognitionModel.m index 1087472be2d..90fe5758f16 100644 --- a/AWSRekognition/AWSRekognitionModel.m +++ b/AWSRekognition/AWSRekognitionModel.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. @@ -577,6 +577,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"contentTypes" : @"ContentTypes", @"durationMillis" : @"DurationMillis", @"endTimestampMillis" : @"EndTimestampMillis", @"moderationLabel" : @"ModerationLabel", @@ -585,12 +586,31 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)contentTypesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSRekognitionContentType class]]; +} + + (NSValueTransformer *)moderationLabelJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionModerationLabel class]]; } @end +@implementation AWSRekognitionContentType + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"confidence" : @"Confidence", + @"name" : @"Name", + }; +} + +@end + @implementation AWSRekognitionReplicateProjectVersionRequest + (BOOL)supportsSecureCoding { @@ -686,6 +706,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"datasetSource" : @"DatasetSource", @"datasetType" : @"DatasetType", @"projectArn" : @"ProjectArn", + @"tags" : @"Tags", }; } @@ -794,6 +815,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"autoUpdate" : @"AutoUpdate", @"feature" : @"Feature", @"projectName" : @"ProjectName", + @"tags" : @"Tags", }; } @@ -2297,6 +2319,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"contentTypes" : @"ContentTypes", @"humanLoopActivationOutput" : @"HumanLoopActivationOutput", @"moderationLabels" : @"ModerationLabels", @"moderationModelVersion" : @"ModerationModelVersion", @@ -2304,6 +2327,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)contentTypesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSRekognitionContentType class]]; +} + + (NSValueTransformer *)humanLoopActivationOutputJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionHumanLoopActivationOutput class]]; } @@ -3803,6 +3830,121 @@ + (NSValueTransformer *)videoMetadataJSONTransformer { @end +@implementation AWSRekognitionGetMediaAnalysisJobRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"jobId" : @"JobId", + }; +} + +@end + +@implementation AWSRekognitionGetMediaAnalysisJobResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"completionTimestamp" : @"CompletionTimestamp", + @"creationTimestamp" : @"CreationTimestamp", + @"failureDetails" : @"FailureDetails", + @"input" : @"Input", + @"jobId" : @"JobId", + @"jobName" : @"JobName", + @"kmsKeyId" : @"KmsKeyId", + @"manifestSummary" : @"ManifestSummary", + @"operationsConfig" : @"OperationsConfig", + @"outputConfig" : @"OutputConfig", + @"results" : @"Results", + @"status" : @"Status", + }; +} + ++ (NSValueTransformer *)completionTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)creationTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)failureDetailsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisJobFailureDetails class]]; +} + ++ (NSValueTransformer *)inputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisInput class]]; +} + ++ (NSValueTransformer *)manifestSummaryJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisManifestSummary class]]; +} + ++ (NSValueTransformer *)operationsConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisOperationsConfig class]]; +} + ++ (NSValueTransformer *)outputConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisOutputConfig class]]; +} + ++ (NSValueTransformer *)resultsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisResults class]]; +} + ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CREATED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusCreated); + } + if ([value caseInsensitiveCompare:@"QUEUED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusQueued); + } + if ([value caseInsensitiveCompare:@"IN_PROGRESS"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusInProgress); + } + if ([value caseInsensitiveCompare:@"SUCCEEDED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusSucceeded); + } + if ([value caseInsensitiveCompare:@"FAILED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusFailed); + } + return @(AWSRekognitionMediaAnalysisJobStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSRekognitionMediaAnalysisJobStatusCreated: + return @"CREATED"; + case AWSRekognitionMediaAnalysisJobStatusQueued: + return @"QUEUED"; + case AWSRekognitionMediaAnalysisJobStatusInProgress: + return @"IN_PROGRESS"; + case AWSRekognitionMediaAnalysisJobStatusSucceeded: + return @"SUCCEEDED"; + case AWSRekognitionMediaAnalysisJobStatusFailed: + return @"FAILED"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSRekognitionGetPersonTrackingRequest + (BOOL)supportsSecureCoding { @@ -4809,6 +4951,40 @@ + (NSValueTransformer *)facesJSONTransformer { @end +@implementation AWSRekognitionListMediaAnalysisJobsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + }; +} + +@end + +@implementation AWSRekognitionListMediaAnalysisJobsResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"mediaAnalysisJobs" : @"MediaAnalysisJobs", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)mediaAnalysisJobsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSRekognitionMediaAnalysisJobDescription class]]; +} + +@end + @implementation AWSRekognitionListProjectPoliciesRequest + (BOOL)supportsSecureCoding { @@ -5002,6 +5178,299 @@ + (NSValueTransformer *)userStatusJSONTransformer { @end +@implementation AWSRekognitionMediaAnalysisDetectModerationLabelsConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"minConfidence" : @"MinConfidence", + @"projectVersion" : @"ProjectVersion", + }; +} + +@end + +@implementation AWSRekognitionMediaAnalysisInput + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"s3Object" : @"S3Object", + }; +} + ++ (NSValueTransformer *)s3ObjectJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionS3Object class]]; +} + +@end + +@implementation AWSRekognitionMediaAnalysisJobDescription + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"completionTimestamp" : @"CompletionTimestamp", + @"creationTimestamp" : @"CreationTimestamp", + @"failureDetails" : @"FailureDetails", + @"input" : @"Input", + @"jobId" : @"JobId", + @"jobName" : @"JobName", + @"kmsKeyId" : @"KmsKeyId", + @"manifestSummary" : @"ManifestSummary", + @"operationsConfig" : @"OperationsConfig", + @"outputConfig" : @"OutputConfig", + @"results" : @"Results", + @"status" : @"Status", + }; +} + ++ (NSValueTransformer *)completionTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)creationTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)failureDetailsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisJobFailureDetails class]]; +} + ++ (NSValueTransformer *)inputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisInput class]]; +} + ++ (NSValueTransformer *)manifestSummaryJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisManifestSummary class]]; +} + ++ (NSValueTransformer *)operationsConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisOperationsConfig class]]; +} + ++ (NSValueTransformer *)outputConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisOutputConfig class]]; +} + ++ (NSValueTransformer *)resultsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisResults class]]; +} + ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CREATED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusCreated); + } + if ([value caseInsensitiveCompare:@"QUEUED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusQueued); + } + if ([value caseInsensitiveCompare:@"IN_PROGRESS"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusInProgress); + } + if ([value caseInsensitiveCompare:@"SUCCEEDED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusSucceeded); + } + if ([value caseInsensitiveCompare:@"FAILED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobStatusFailed); + } + return @(AWSRekognitionMediaAnalysisJobStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSRekognitionMediaAnalysisJobStatusCreated: + return @"CREATED"; + case AWSRekognitionMediaAnalysisJobStatusQueued: + return @"QUEUED"; + case AWSRekognitionMediaAnalysisJobStatusInProgress: + return @"IN_PROGRESS"; + case AWSRekognitionMediaAnalysisJobStatusSucceeded: + return @"SUCCEEDED"; + case AWSRekognitionMediaAnalysisJobStatusFailed: + return @"FAILED"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSRekognitionMediaAnalysisJobFailureDetails + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"code" : @"Code", + @"message" : @"Message", + }; +} + ++ (NSValueTransformer *)codeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"INTERNAL_ERROR"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobFailureCodeInternalError); + } + if ([value caseInsensitiveCompare:@"INVALID_S3_OBJECT"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobFailureCodeInvalidS3Object); + } + if ([value caseInsensitiveCompare:@"INVALID_MANIFEST"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobFailureCodeInvalidManifest); + } + if ([value caseInsensitiveCompare:@"INVALID_OUTPUT_CONFIG"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobFailureCodeInvalidOutputConfig); + } + if ([value caseInsensitiveCompare:@"INVALID_KMS_KEY"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobFailureCodeInvalidKmsKey); + } + if ([value caseInsensitiveCompare:@"ACCESS_DENIED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobFailureCodeAccessDenied); + } + if ([value caseInsensitiveCompare:@"RESOURCE_NOT_FOUND"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobFailureCodeResourceNotFound); + } + if ([value caseInsensitiveCompare:@"RESOURCE_NOT_READY"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobFailureCodeResourceNotReady); + } + if ([value caseInsensitiveCompare:@"THROTTLED"] == NSOrderedSame) { + return @(AWSRekognitionMediaAnalysisJobFailureCodeThrottled); + } + return @(AWSRekognitionMediaAnalysisJobFailureCodeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSRekognitionMediaAnalysisJobFailureCodeInternalError: + return @"INTERNAL_ERROR"; + case AWSRekognitionMediaAnalysisJobFailureCodeInvalidS3Object: + return @"INVALID_S3_OBJECT"; + case AWSRekognitionMediaAnalysisJobFailureCodeInvalidManifest: + return @"INVALID_MANIFEST"; + case AWSRekognitionMediaAnalysisJobFailureCodeInvalidOutputConfig: + return @"INVALID_OUTPUT_CONFIG"; + case AWSRekognitionMediaAnalysisJobFailureCodeInvalidKmsKey: + return @"INVALID_KMS_KEY"; + case AWSRekognitionMediaAnalysisJobFailureCodeAccessDenied: + return @"ACCESS_DENIED"; + case AWSRekognitionMediaAnalysisJobFailureCodeResourceNotFound: + return @"RESOURCE_NOT_FOUND"; + case AWSRekognitionMediaAnalysisJobFailureCodeResourceNotReady: + return @"RESOURCE_NOT_READY"; + case AWSRekognitionMediaAnalysisJobFailureCodeThrottled: + return @"THROTTLED"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSRekognitionMediaAnalysisManifestSummary + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"s3Object" : @"S3Object", + }; +} + ++ (NSValueTransformer *)s3ObjectJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionS3Object class]]; +} + +@end + +@implementation AWSRekognitionMediaAnalysisModelVersions + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"moderation" : @"Moderation", + }; +} + +@end + +@implementation AWSRekognitionMediaAnalysisOperationsConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"detectModerationLabels" : @"DetectModerationLabels", + }; +} + ++ (NSValueTransformer *)detectModerationLabelsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisDetectModerationLabelsConfig class]]; +} + +@end + +@implementation AWSRekognitionMediaAnalysisOutputConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"s3Bucket" : @"S3Bucket", + @"s3KeyPrefix" : @"S3KeyPrefix", + }; +} + +@end + +@implementation AWSRekognitionMediaAnalysisResults + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"modelVersions" : @"ModelVersions", + @"s3Object" : @"S3Object", + }; +} + ++ (NSValueTransformer *)modelVersionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisModelVersions class]]; +} + ++ (NSValueTransformer *)s3ObjectJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionS3Object class]]; +} + +@end + @implementation AWSRekognitionModerationLabel + (BOOL)supportsSecureCoding { @@ -5013,6 +5482,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"confidence" : @"Confidence", @"name" : @"Name", @"parentName" : @"ParentName", + @"taxonomyLevel" : @"TaxonomyLevel", }; } @@ -6410,6 +6880,51 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSRekognitionStartMediaAnalysisJobRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"clientRequestToken" : @"ClientRequestToken", + @"input" : @"Input", + @"jobName" : @"JobName", + @"kmsKeyId" : @"KmsKeyId", + @"operationsConfig" : @"OperationsConfig", + @"outputConfig" : @"OutputConfig", + }; +} + ++ (NSValueTransformer *)inputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisInput class]]; +} + ++ (NSValueTransformer *)operationsConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisOperationsConfig class]]; +} + ++ (NSValueTransformer *)outputConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionMediaAnalysisOutputConfig class]]; +} + +@end + +@implementation AWSRekognitionStartMediaAnalysisJobResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"jobId" : @"JobId", + }; +} + +@end + @implementation AWSRekognitionStartPersonTrackingRequest + (BOOL)supportsSecureCoding { diff --git a/AWSRekognition/AWSRekognitionResources.h b/AWSRekognition/AWSRekognitionResources.h index 6825a5642d4..1c6d95f415e 100644 --- a/AWSRekognition/AWSRekognitionResources.h +++ b/AWSRekognition/AWSRekognitionResources.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/AWSRekognition/AWSRekognitionResources.m b/AWSRekognition/AWSRekognitionResources.m index 4a0b2101401..244638947b6 100644 --- a/AWSRekognition/AWSRekognitionResources.m +++ b/AWSRekognition/AWSRekognitionResources.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. @@ -63,11 +63,13 @@ - (NSString *)definitionString { \"endpointPrefix\":\"rekognition\",\ \"jsonVersion\":\"1.1\",\ \"protocol\":\"json\",\ + \"protocols\":[\"json\"],\ \"serviceFullName\":\"Amazon Rekognition\",\ \"serviceId\":\"Rekognition\",\ \"signatureVersion\":\"v4\",\ \"targetPrefix\":\"RekognitionService\",\ - \"uid\":\"rekognition-2016-06-27\"\ + \"uid\":\"rekognition-2016-06-27\",\ + \"auth\":[\"aws.auth#sigv4\"]\ },\ \"operations\":{\ \"AssociateFaces\":{\ @@ -535,7 +537,7 @@ - (NSString *)definitionString { {\"shape\":\"ProvisionedThroughputExceededException\"},\ {\"shape\":\"InvalidImageFormatException\"}\ ],\ - \"documentation\":\"

This operation applies only to Amazon Rekognition Custom Labels.

Detects custom labels in a supplied image by using an Amazon Rekognition Custom Labels model.

You specify which version of a model version to use by using the ProjectVersionArn input parameter.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object that the model version detects on an image, the API returns a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object provides the label name (Name), the level of confidence that the image contains the object (Confidence), and object location information, if it exists, for the label on the image (Geometry).

To filter labels that are returned, specify a value for MinConfidence. DetectCustomLabelsLabels only returns labels with a confidence that's higher than the specified value. The value of MinConfidence maps to the assumed threshold values created during training. For more information, see Assumed threshold in the Amazon Rekognition Custom Labels Developer Guide. Amazon Rekognition Custom Labels metrics expresses an assumed threshold as a floating point value between 0-1. The range of MinConfidence normalizes the threshold value to a percentage value (0-100). Confidence responses from DetectCustomLabels are also returned as a percentage. You can use MinConfidence to change the precision and recall or your model. For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

If you don't specify a value for MinConfidence, DetectCustomLabels returns labels based on the assumed threshold of each label.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectCustomLabels action.

For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

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

This operation applies only to Amazon Rekognition Custom Labels.

Detects custom labels in a supplied image by using an Amazon Rekognition Custom Labels model.

You specify which version of a model version to use by using the ProjectVersionArn input parameter.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object that the model version detects on an image, the API returns a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object provides the label name (Name), the level of confidence that the image contains the object (Confidence), and object location information, if it exists, for the label on the image (Geometry). Note that for the DetectCustomLabelsLabels operation, Polygons are not returned in the Geometry section of the response.

To filter labels that are returned, specify a value for MinConfidence. DetectCustomLabelsLabels only returns labels with a confidence that's higher than the specified value. The value of MinConfidence maps to the assumed threshold values created during training. For more information, see Assumed threshold in the Amazon Rekognition Custom Labels Developer Guide. Amazon Rekognition Custom Labels metrics expresses an assumed threshold as a floating point value between 0-1. The range of MinConfidence normalizes the threshold value to a percentage value (0-100). Confidence responses from DetectCustomLabels are also returned as a percentage. You can use MinConfidence to change the precision and recall or your model. For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

If you don't specify a value for MinConfidence, DetectCustomLabels returns labels based on the assumed threshold of each label.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectCustomLabels action.

For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

\"\ },\ \"DetectFaces\":{\ \"name\":\"DetectFaces\",\ @@ -808,7 +810,43 @@ - (NSString *)definitionString { {\"shape\":\"ResourceNotFoundException\"},\ {\"shape\":\"ThrottlingException\"}\ ],\ - \"documentation\":\"

Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter. If there is no NAME specified, the default sort is by timestamp.

You can select how results are aggregated by using the AggregateBy input parameter. The default aggregation method is TIMESTAMPS. You can also aggregate by SEGMENTS, which aggregates all instances of labels detected in a given segment.

The returned Labels array may include the following attributes:

  • Name - The name of the detected label.

  • Confidence - The level of confidence in the label assigned to a detected object.

  • Parents - The ancestor labels for a detected label. GetLabelDetection returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response includes the all ancestors for a label, where every ancestor is a unique label. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

  • Aliases - Possible Aliases for the label.

  • Categories - The label categories that the detected label belongs to.

  • BoundingBox — Bounding boxes are described for all instances of detected common object labels, returned in an array of Instance objects. An Instance object contains a BoundingBox object, describing the location of the label on the input image. It also includes the confidence for the accuracy of the detected bounding box.

  • Timestamp - Time, in milliseconds from the start of the video, that the label was detected. For aggregation by SEGMENTS, the StartTimestampMillis, EndTimestampMillis, and DurationMillis structures are what define a segment. Although the “Timestamp” structure is still returned with each label, its value is set to be the same as StartTimestampMillis.

Timestamp and Bounding box information are returned for detected Instances, only if aggregation is done by TIMESTAMPS. If aggregating by SEGMENTS, information about detected instances isn’t returned.

The version of the label model used for the detection is also returned.

Note DominantColors isn't returned for Instances, although it is shown as part of the response in the sample seen below.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

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

Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter. If there is no NAME specified, the default sort is by timestamp.

You can select how results are aggregated by using the AggregateBy input parameter. The default aggregation method is TIMESTAMPS. You can also aggregate by SEGMENTS, which aggregates all instances of labels detected in a given segment.

The returned Labels array may include the following attributes:

  • Name - The name of the detected label.

  • Confidence - The level of confidence in the label assigned to a detected object.

  • Parents - The ancestor labels for a detected label. GetLabelDetection returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response includes the all ancestors for a label, where every ancestor is a unique label. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

  • Aliases - Possible Aliases for the label.

  • Categories - The label categories that the detected label belongs to.

  • BoundingBox — Bounding boxes are described for all instances of detected common object labels, returned in an array of Instance objects. An Instance object contains a BoundingBox object, describing the location of the label on the input image. It also includes the confidence for the accuracy of the detected bounding box.

  • Timestamp - Time, in milliseconds from the start of the video, that the label was detected. For aggregation by SEGMENTS, the StartTimestampMillis, EndTimestampMillis, and DurationMillis structures are what define a segment. Although the “Timestamp” structure is still returned with each label, its value is set to be the same as StartTimestampMillis.

Timestamp and Bounding box information are returned for detected Instances, only if aggregation is done by TIMESTAMPS. If aggregating by SEGMENTS, information about detected instances isn’t returned.

The version of the label model used for the detection is also returned.

Note DominantColors isn't returned for Instances, although it is shown as part of the response in the sample seen below.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

If you are retrieving results while using the Amazon Simple Notification Service, note that you will receive an \\\"ERROR\\\" notification if the job encounters an issue.

\"\ + },\ + \"GetMediaAnalysisJob\":{\ + \"name\":\"GetMediaAnalysisJob\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetMediaAnalysisJobRequest\"},\ + \"output\":{\"shape\":\"GetMediaAnalysisJobResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"ThrottlingException\"}\ + ],\ + \"documentation\":\"

Retrieves the results for a given media analysis job. Takes a JobId returned by StartMediaAnalysisJob.

\"\ + },\ + \"GetMediaAnalysisJob\":{\ + \"name\":\"GetMediaAnalysisJob\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetMediaAnalysisJobRequest\"},\ + \"output\":{\"shape\":\"GetMediaAnalysisJobResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"ThrottlingException\"}\ + ],\ + \"documentation\":\"

Retrieves the results for a given media analysis job. Takes a JobId returned by StartMediaAnalysisJob.

\"\ },\ \"GetPersonTracking\":{\ \"name\":\"GetPersonTracking\",\ @@ -969,6 +1007,24 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Returns metadata for faces in the specified collection. This metadata includes information such as the bounding box coordinates, the confidence (that the bounding box contains a face), and face ID. For an example, see Listing Faces in a Collection in the Amazon Rekognition Developer Guide.

This operation requires permissions to perform the rekognition:ListFaces action.

\"\ },\ + \"ListMediaAnalysisJobs\":{\ + \"name\":\"ListMediaAnalysisJobs\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ListMediaAnalysisJobsRequest\"},\ + \"output\":{\"shape\":\"ListMediaAnalysisJobsResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"InvalidPaginationTokenException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"ThrottlingException\"}\ + ],\ + \"documentation\":\"

Returns a list of media analysis jobs. Results are sorted by CreationTimestamp in descending order.

\"\ + },\ \"ListProjectPolicies\":{\ \"name\":\"ListProjectPolicies\",\ \"http\":{\ @@ -1276,6 +1332,30 @@ - (NSString *)definitionString { \"documentation\":\"

Starts asynchronous detection of labels in a stored video.

Amazon Rekognition Video can detect labels in a video. Labels are instances of real-world entities. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; concepts like landscape, evening, and nature; and activities like a person getting out of a car or a person skiing.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartLabelDetection returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

Optional Parameters

StartLabelDetection has the GENERAL_LABELS Feature applied by default. This feature allows you to provide filtering criteria to the Settings parameter. You can filter with sets of individual labels or with label categories. You can specify inclusive filters, exclusive filters, or a combination of inclusive and exclusive filters. For more information on filtering, see Detecting labels in a video.

You can specify MinConfidence to control the confidence threshold for the labels returned. The default is 50.

\",\ \"idempotent\":true\ },\ + \"StartMediaAnalysisJob\":{\ + \"name\":\"StartMediaAnalysisJob\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"StartMediaAnalysisJobRequest\"},\ + \"output\":{\"shape\":\"StartMediaAnalysisJobResponse\"},\ + \"errors\":[\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"InvalidManifestException\"},\ + {\"shape\":\"InvalidS3ObjectException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ResourceNotReadyException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"LimitExceededException\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"IdempotentParameterMismatchException\"}\ + ],\ + \"documentation\":\"

Initiates a new media analysis job. Accepts a manifest file in an Amazon S3 bucket. The output is a manifest file and a summary of the manifest stored in the Amazon S3 bucket.

\",\ + \"idempotent\":true\ + },\ \"StartPersonTracking\":{\ \"name\":\"StartPersonTracking\",\ \"http\":{\ @@ -1565,7 +1645,7 @@ - (NSString *)definitionString { \"members\":{\ \"AssociatedFaces\":{\ \"shape\":\"AssociatedFacesList\",\ - \"documentation\":\"

An array of AssociatedFace objects containing FaceIDs that are successfully associated with the UserID is returned. Returned if the AssociateFaces action is successful.

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

An array of AssociatedFace objects containing FaceIDs that have been successfully associated with the UserID. Returned if the AssociateFaces action is successful.

\"\ },\ \"UnsuccessfulFaceAssociations\":{\ \"shape\":\"UnsuccessfulFaceAssociationList\",\ @@ -2051,6 +2131,10 @@ - (NSString *)definitionString { \"DurationMillis\":{\ \"shape\":\"ULong\",\ \"documentation\":\"

The time duration of a segment in milliseconds, I.e. time elapsed from StartTimestampMillis to EndTimestampMillis.

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

A list of predicted results for the type of content an image contains. For example, the image content might be from animation, sports, or a video game.

\"\ }\ },\ \"documentation\":\"

Information about an inappropriate, unwanted, or offensive content label detection in a stored video.

\"\ @@ -2066,6 +2150,26 @@ - (NSString *)definitionString { \"TIMESTAMP\"\ ]\ },\ + \"ContentType\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Confidence\":{\ + \"shape\":\"Percent\",\ + \"documentation\":\"

The confidence level of the label given

\"\ + },\ + \"Name\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The name of the label

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

Contains information regarding the confidence and name of a detected content type.

\"\ + },\ + \"ContentTypes\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ContentType\"},\ + \"max\":50,\ + \"min\":0\ + },\ \"CopyProjectVersionRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -2178,6 +2282,10 @@ - (NSString *)definitionString { \"ProjectArn\":{\ \"shape\":\"ProjectArn\",\ \"documentation\":\"

The ARN of the Amazon Rekognition Custom Labels project to which you want to asssign the dataset.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

A set of tags (key-value pairs) that you want to attach to the dataset.

\"\ }\ }\ },\ @@ -2227,7 +2335,7 @@ - (NSString *)definitionString { \"members\":{\ \"SessionId\":{\ \"shape\":\"LivenessSessionId\",\ - \"documentation\":\"

A unique 128-bit UUID identifying a Face Liveness session.

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

A unique 128-bit UUID identifying a Face Liveness session. A new sessionID must be used for every Face Liveness check. If a given sessionID is used for subsequent Face Liveness checks, the checks will fail. Additionally, a SessionId expires 3 minutes after it's sent, making all Liveness data associated with the session (e.g., sessionID, reference image, audit images, etc.) unavailable.

\"\ }\ }\ },\ @@ -2246,6 +2354,10 @@ - (NSString *)definitionString { \"AutoUpdate\":{\ \"shape\":\"ProjectAutoUpdate\",\ \"documentation\":\"

Specifies whether automatic retraining should be attempted for the versions of the project. Automatic retraining is done as a best effort. Required argument for Content Moderation. Applicable only to adapters.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

A set of tags (key-value pairs) that you want to attach to the project.

\"\ }\ }\ },\ @@ -3257,7 +3369,7 @@ - (NSString *)definitionString { \"members\":{\ \"ModerationLabels\":{\ \"shape\":\"ModerationLabels\",\ - \"documentation\":\"

Array of detected Moderation labels and the time, in milliseconds from the start of the video, they were detected.

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

Array of detected Moderation labels. For video operations, this includes the time, in milliseconds from the start of the video, they were detected.

\"\ },\ \"ModerationModelVersion\":{\ \"shape\":\"String\",\ @@ -3270,6 +3382,10 @@ - (NSString *)definitionString { \"ProjectVersion\":{\ \"shape\":\"ProjectVersionId\",\ \"documentation\":\"

Identifier of the custom adapter that was used during inference. If during inference the adapter was EXPIRED, then the parameter will not be returned, indicating that a base moderation detection project version was used.

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

A list of predicted results for the type of content an image contains. For example, the image content might be from animation, sports, or a video game.

\"\ }\ }\ },\ @@ -4312,6 +4428,77 @@ - (NSString *)definitionString { }\ }\ },\ + \"GetMediaAnalysisJobRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"JobId\"],\ + \"members\":{\ + \"JobId\":{\ + \"shape\":\"MediaAnalysisJobId\",\ + \"documentation\":\"

Unique identifier for the media analysis job for which you want to retrieve results.

\"\ + }\ + }\ + },\ + \"GetMediaAnalysisJobResponse\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"JobId\",\ + \"OperationsConfig\",\ + \"Status\",\ + \"CreationTimestamp\",\ + \"Input\",\ + \"OutputConfig\"\ + ],\ + \"members\":{\ + \"JobId\":{\ + \"shape\":\"MediaAnalysisJobId\",\ + \"documentation\":\"

The identifier for the media analysis job.

\"\ + },\ + \"JobName\":{\ + \"shape\":\"MediaAnalysisJobName\",\ + \"documentation\":\"

The name of the media analysis job.

\"\ + },\ + \"OperationsConfig\":{\ + \"shape\":\"MediaAnalysisOperationsConfig\",\ + \"documentation\":\"

Operation configurations that were provided during job creation.

\"\ + },\ + \"Status\":{\ + \"shape\":\"MediaAnalysisJobStatus\",\ + \"documentation\":\"

The current status of the media analysis job.

\"\ + },\ + \"FailureDetails\":{\ + \"shape\":\"MediaAnalysisJobFailureDetails\",\ + \"documentation\":\"

Details about the error that resulted in failure of the job.

\"\ + },\ + \"CreationTimestamp\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

The Unix date and time when the job was started.

\"\ + },\ + \"CompletionTimestamp\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

The Unix date and time when the job finished.

\"\ + },\ + \"Input\":{\ + \"shape\":\"MediaAnalysisInput\",\ + \"documentation\":\"

Reference to the input manifest that was provided in the job creation request.

\"\ + },\ + \"OutputConfig\":{\ + \"shape\":\"MediaAnalysisOutputConfig\",\ + \"documentation\":\"

Output configuration that was provided in the creation request.

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

KMS Key that was provided in the creation request.

\"\ + },\ + \"Results\":{\ + \"shape\":\"MediaAnalysisResults\",\ + \"documentation\":\"

Output manifest that contains prediction results.

\"\ + },\ + \"ManifestSummary\":{\ + \"shape\":\"MediaAnalysisManifestSummary\",\ + \"documentation\":\"

The summary manifest provides statistics on input manifest and errors identified in the input manifest.

\"\ + }\ + }\ + },\ \"GetPersonTrackingRequest\":{\ \"type\":\"structure\",\ \"required\":[\"JobId\"],\ @@ -4734,6 +4921,13 @@ - (NSString *)definitionString { \"documentation\":\"

The provided image format is not supported.

\",\ \"exception\":true\ },\ + \"InvalidManifestException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"

Indicates that a provided manifest file is empty or larger than the allowed limit.

\",\ + \"exception\":true\ + },\ \"InvalidPaginationTokenException\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -5197,6 +5391,38 @@ - (NSString *)definitionString { }\ }\ },\ + \"ListMediaAnalysisJobsPageSize\":{\ + \"type\":\"integer\",\ + \"max\":100,\ + \"min\":1\ + },\ + \"ListMediaAnalysisJobsRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"NextToken\":{\ + \"shape\":\"ExtendedPaginationToken\",\ + \"documentation\":\"

Pagination token, if the previous response was incomplete.

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"ListMediaAnalysisJobsPageSize\",\ + \"documentation\":\"

The maximum number of results to return per paginated call. The largest value user can specify is 100. If user specifies a value greater than 100, an InvalidParameterException error occurs. The default value is 100.

\"\ + }\ + }\ + },\ + \"ListMediaAnalysisJobsResponse\":{\ + \"type\":\"structure\",\ + \"required\":[\"MediaAnalysisJobs\"],\ + \"members\":{\ + \"NextToken\":{\ + \"shape\":\"ExtendedPaginationToken\",\ + \"documentation\":\"

Pagination token, if the previous response was incomplete.

\"\ + },\ + \"MediaAnalysisJobs\":{\ + \"shape\":\"MediaAnalysisJobDescriptions\",\ + \"documentation\":\"

Contains a list of all media analysis jobs.

\"\ + }\ + }\ + },\ \"ListProjectPoliciesPageSize\":{\ \"type\":\"integer\",\ \"max\":5,\ @@ -5400,6 +5626,202 @@ - (NSString *)definitionString { \"max\":500,\ \"min\":1\ },\ + \"MediaAnalysisDetectModerationLabelsConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"MinConfidence\":{\ + \"shape\":\"Percent\",\ + \"documentation\":\"

Specifies the minimum confidence level for the moderation labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value.

\"\ + },\ + \"ProjectVersion\":{\ + \"shape\":\"ProjectVersionId\",\ + \"documentation\":\"

Specifies the custom moderation model to be used during the label detection job. If not provided the pre-trained model is used.

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

Configuration for Moderation Labels Detection.

\"\ + },\ + \"MediaAnalysisInput\":{\ + \"type\":\"structure\",\ + \"required\":[\"S3Object\"],\ + \"members\":{\ + \"S3Object\":{\"shape\":\"S3Object\"}\ + },\ + \"documentation\":\"

Contains input information for a media analysis job.

\"\ + },\ + \"MediaAnalysisJobDescription\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"JobId\",\ + \"OperationsConfig\",\ + \"Status\",\ + \"CreationTimestamp\",\ + \"Input\",\ + \"OutputConfig\"\ + ],\ + \"members\":{\ + \"JobId\":{\ + \"shape\":\"MediaAnalysisJobId\",\ + \"documentation\":\"

The identifier for a media analysis job.

\"\ + },\ + \"JobName\":{\ + \"shape\":\"MediaAnalysisJobName\",\ + \"documentation\":\"

The name of a media analysis job.

\"\ + },\ + \"OperationsConfig\":{\ + \"shape\":\"MediaAnalysisOperationsConfig\",\ + \"documentation\":\"

Operation configurations that were provided during job creation.

\"\ + },\ + \"Status\":{\ + \"shape\":\"MediaAnalysisJobStatus\",\ + \"documentation\":\"

The status of the media analysis job being retrieved.

\"\ + },\ + \"FailureDetails\":{\ + \"shape\":\"MediaAnalysisJobFailureDetails\",\ + \"documentation\":\"

Details about the error that resulted in failure of the job.

\"\ + },\ + \"CreationTimestamp\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

The Unix date and time when the job was started.

\"\ + },\ + \"CompletionTimestamp\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

The Unix date and time when the job finished.

\"\ + },\ + \"Input\":{\ + \"shape\":\"MediaAnalysisInput\",\ + \"documentation\":\"

Reference to the input manifest that was provided in the job creation request.

\"\ + },\ + \"OutputConfig\":{\ + \"shape\":\"MediaAnalysisOutputConfig\",\ + \"documentation\":\"

Output configuration that was provided in the creation request.

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

KMS Key that was provided in the creation request.

\"\ + },\ + \"Results\":{\ + \"shape\":\"MediaAnalysisResults\",\ + \"documentation\":\"

Output manifest that contains prediction results.

\"\ + },\ + \"ManifestSummary\":{\ + \"shape\":\"MediaAnalysisManifestSummary\",\ + \"documentation\":\"

Provides statistics on input manifest and errors identified in the input manifest.

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

Description for a media analysis job.

\"\ + },\ + \"MediaAnalysisJobDescriptions\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"MediaAnalysisJobDescription\"}\ + },\ + \"MediaAnalysisJobFailureCode\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"INTERNAL_ERROR\",\ + \"INVALID_S3_OBJECT\",\ + \"INVALID_MANIFEST\",\ + \"INVALID_OUTPUT_CONFIG\",\ + \"INVALID_KMS_KEY\",\ + \"ACCESS_DENIED\",\ + \"RESOURCE_NOT_FOUND\",\ + \"RESOURCE_NOT_READY\",\ + \"THROTTLED\"\ + ]\ + },\ + \"MediaAnalysisJobFailureDetails\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Code\":{\ + \"shape\":\"MediaAnalysisJobFailureCode\",\ + \"documentation\":\"

Error code for the failed job.

\"\ + },\ + \"Message\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Human readable error message.

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

Details about the error that resulted in failure of the job.

\"\ + },\ + \"MediaAnalysisJobId\":{\ + \"type\":\"string\",\ + \"max\":64,\ + \"min\":1,\ + \"pattern\":\"^[a-zA-Z0-9-_]+$\"\ + },\ + \"MediaAnalysisJobName\":{\ + \"type\":\"string\",\ + \"max\":64,\ + \"min\":1,\ + \"pattern\":\"[a-zA-Z0-9_.\\\\-]+\"\ + },\ + \"MediaAnalysisJobStatus\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"CREATED\",\ + \"QUEUED\",\ + \"IN_PROGRESS\",\ + \"SUCCEEDED\",\ + \"FAILED\"\ + ]\ + },\ + \"MediaAnalysisManifestSummary\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"S3Object\":{\"shape\":\"S3Object\"}\ + },\ + \"documentation\":\"

Summary that provides statistics on input manifest and errors identified in the input manifest.

\"\ + },\ + \"MediaAnalysisModelVersions\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Moderation\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The Moderation base model version.

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

Object containing information about the model versions of selected features in a given job.

\"\ + },\ + \"MediaAnalysisOperationsConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"DetectModerationLabels\":{\ + \"shape\":\"MediaAnalysisDetectModerationLabelsConfig\",\ + \"documentation\":\"

Contains configuration options for a DetectModerationLabels job.

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

Configuration options for a media analysis job. Configuration is operation-specific.

\"\ + },\ + \"MediaAnalysisOutputConfig\":{\ + \"type\":\"structure\",\ + \"required\":[\"S3Bucket\"],\ + \"members\":{\ + \"S3Bucket\":{\ + \"shape\":\"S3Bucket\",\ + \"documentation\":\"

Specifies the Amazon S3 bucket to contain the output of the media analysis job.

\"\ + },\ + \"S3KeyPrefix\":{\ + \"shape\":\"MediaAnalysisS3KeyPrefix\",\ + \"documentation\":\"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for storage.

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

Output configuration provided in the job creation request.

\"\ + },\ + \"MediaAnalysisResults\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"S3Object\":{\"shape\":\"S3Object\"},\ + \"ModelVersions\":{\ + \"shape\":\"MediaAnalysisModelVersions\",\ + \"documentation\":\"

Information about the model versions for the features selected in a given job.

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

Contains the results for a media analysis job created with StartMediaAnalysisJob.

\"\ + },\ + \"MediaAnalysisS3KeyPrefix\":{\ + \"type\":\"string\",\ + \"max\":800,\ + \"pattern\":\"\\\\S*\"\ + },\ \"MinCoveragePercentage\":{\ \"type\":\"float\",\ \"max\":100,\ @@ -5419,6 +5841,10 @@ - (NSString *)definitionString { \"ParentName\":{\ \"shape\":\"String\",\ \"documentation\":\"

The name for the parent label. Labels at the top level of the hierarchy have the parent label \\\"\\\".

\"\ + },\ + \"TaxonomyLevel\":{\ + \"shape\":\"UInteger\",\ + \"documentation\":\"

The level of the moderation label with regard to its taxonomy, from 1 to 3.

\"\ }\ },\ \"documentation\":\"

Provides information about a single type of inappropriate, unwanted, or offensive content found in an image or video. Each type of moderated content has a label within a hierarchical taxonomy. For more information, see Content moderation in the Amazon Rekognition Developer Guide.

\"\ @@ -6719,6 +7145,51 @@ - (NSString *)definitionString { }\ }\ },\ + \"StartMediaAnalysisJobRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"OperationsConfig\",\ + \"Input\",\ + \"OutputConfig\"\ + ],\ + \"members\":{\ + \"ClientRequestToken\":{\ + \"shape\":\"ClientRequestToken\",\ + \"documentation\":\"

Idempotency token used to prevent the accidental creation of duplicate versions. If you use the same token with multiple StartMediaAnalysisJobRequest requests, the same response is returned. Use ClientRequestToken to prevent the same request from being processed more than once.

\",\ + \"idempotencyToken\":true\ + },\ + \"JobName\":{\ + \"shape\":\"MediaAnalysisJobName\",\ + \"documentation\":\"

The name of the job. Does not have to be unique.

\"\ + },\ + \"OperationsConfig\":{\ + \"shape\":\"MediaAnalysisOperationsConfig\",\ + \"documentation\":\"

Configuration options for the media analysis job to be created.

\"\ + },\ + \"Input\":{\ + \"shape\":\"MediaAnalysisInput\",\ + \"documentation\":\"

Input data to be analyzed by the job.

\"\ + },\ + \"OutputConfig\":{\ + \"shape\":\"MediaAnalysisOutputConfig\",\ + \"documentation\":\"

The Amazon S3 bucket location to store the results.

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

The identifier of customer managed AWS KMS key (name or ARN). The key is used to encrypt images copied into the service. The key is also used to encrypt results and manifest files written to the output Amazon S3 bucket.

\"\ + }\ + }\ + },\ + \"StartMediaAnalysisJobResponse\":{\ + \"type\":\"structure\",\ + \"required\":[\"JobId\"],\ + \"members\":{\ + \"JobId\":{\ + \"shape\":\"MediaAnalysisJobId\",\ + \"documentation\":\"

Identifier for the created job.

\"\ + }\ + }\ + },\ \"StartPersonTrackingRequest\":{\ \"type\":\"structure\",\ \"required\":[\"Video\"],\ @@ -7732,7 +8203,7 @@ - (NSString *)definitionString { \"exception\":true\ }\ },\ - \"documentation\":\"

This is the API Reference for Amazon Rekognition Image, Amazon Rekognition Custom Labels, Amazon Rekognition Stored Video, Amazon Rekognition Streaming Video. It provides descriptions of actions, data types, common parameters, and common errors.

Amazon Rekognition Image

Amazon Rekognition Custom Labels

Amazon Rekognition Video Stored Video

Amazon Rekognition Video Streaming Video

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

This is the API Reference for Amazon Rekognition Image, Amazon Rekognition Custom Labels, Amazon Rekognition Stored Video, Amazon Rekognition Streaming Video. It provides descriptions of actions, data types, common parameters, and common errors.

Amazon Rekognition Image

Amazon Rekognition Custom Labels

Amazon Rekognition Video Stored Video

Amazon Rekognition Video Streaming Video

\"\ }\ "; } diff --git a/AWSRekognition/AWSRekognitionService.h b/AWSRekognition/AWSRekognitionService.h index 7401d9d6f1c..79c7d031b88 100644 --- a/AWSRekognition/AWSRekognitionService.h +++ b/AWSRekognition/AWSRekognitionService.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. @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; /** -

This is the API Reference for Amazon Rekognition Image, Amazon Rekognition Custom Labels, Amazon Rekognition Stored Video, Amazon Rekognition Streaming Video. It provides descriptions of actions, data types, common parameters, and common errors.

Amazon Rekognition Image

Amazon Rekognition Custom Labels

Amazon Rekognition Video Stored Video

Amazon Rekognition Video Streaming Video

+

This is the API Reference for Amazon Rekognition Image, Amazon Rekognition Custom Labels, Amazon Rekognition Stored Video, Amazon Rekognition Streaming Video. It provides descriptions of actions, data types, common parameters, and common errors.

Amazon Rekognition Image

Amazon Rekognition Custom Labels

Amazon Rekognition Video Stored Video

Amazon Rekognition Video Streaming Video

*/ @interface AWSRekognition : AWSService @@ -750,7 +750,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)describeStreamProcessor:(AWSRekognitionDescribeStreamProcessorRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDescribeStreamProcessorResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

This operation applies only to Amazon Rekognition Custom Labels.

Detects custom labels in a supplied image by using an Amazon Rekognition Custom Labels model.

You specify which version of a model version to use by using the ProjectVersionArn input parameter.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object that the model version detects on an image, the API returns a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object provides the label name (Name), the level of confidence that the image contains the object (Confidence), and object location information, if it exists, for the label on the image (Geometry).

To filter labels that are returned, specify a value for MinConfidence. DetectCustomLabelsLabels only returns labels with a confidence that's higher than the specified value. The value of MinConfidence maps to the assumed threshold values created during training. For more information, see Assumed threshold in the Amazon Rekognition Custom Labels Developer Guide. Amazon Rekognition Custom Labels metrics expresses an assumed threshold as a floating point value between 0-1. The range of MinConfidence normalizes the threshold value to a percentage value (0-100). Confidence responses from DetectCustomLabels are also returned as a percentage. You can use MinConfidence to change the precision and recall or your model. For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

If you don't specify a value for MinConfidence, DetectCustomLabels returns labels based on the assumed threshold of each label.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectCustomLabels action.

For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

+

This operation applies only to Amazon Rekognition Custom Labels.

Detects custom labels in a supplied image by using an Amazon Rekognition Custom Labels model.

You specify which version of a model version to use by using the ProjectVersionArn input parameter.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object that the model version detects on an image, the API returns a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object provides the label name (Name), the level of confidence that the image contains the object (Confidence), and object location information, if it exists, for the label on the image (Geometry). Note that for the DetectCustomLabelsLabels operation, Polygons are not returned in the Geometry section of the response.

To filter labels that are returned, specify a value for MinConfidence. DetectCustomLabelsLabels only returns labels with a confidence that's higher than the specified value. The value of MinConfidence maps to the assumed threshold values created during training. For more information, see Assumed threshold in the Amazon Rekognition Custom Labels Developer Guide. Amazon Rekognition Custom Labels metrics expresses an assumed threshold as a floating point value between 0-1. The range of MinConfidence normalizes the threshold value to a percentage value (0-100). Confidence responses from DetectCustomLabels are also returned as a percentage. You can use MinConfidence to change the precision and recall or your model. For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

If you don't specify a value for MinConfidence, DetectCustomLabels returns labels based on the assumed threshold of each label.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectCustomLabels action.

For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

@param request A container for the necessary parameters to execute the DetectCustomLabels service method. @@ -762,7 +762,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)detectCustomLabels:(AWSRekognitionDetectCustomLabelsRequest *)request; /** -

This operation applies only to Amazon Rekognition Custom Labels.

Detects custom labels in a supplied image by using an Amazon Rekognition Custom Labels model.

You specify which version of a model version to use by using the ProjectVersionArn input parameter.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object that the model version detects on an image, the API returns a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object provides the label name (Name), the level of confidence that the image contains the object (Confidence), and object location information, if it exists, for the label on the image (Geometry).

To filter labels that are returned, specify a value for MinConfidence. DetectCustomLabelsLabels only returns labels with a confidence that's higher than the specified value. The value of MinConfidence maps to the assumed threshold values created during training. For more information, see Assumed threshold in the Amazon Rekognition Custom Labels Developer Guide. Amazon Rekognition Custom Labels metrics expresses an assumed threshold as a floating point value between 0-1. The range of MinConfidence normalizes the threshold value to a percentage value (0-100). Confidence responses from DetectCustomLabels are also returned as a percentage. You can use MinConfidence to change the precision and recall or your model. For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

If you don't specify a value for MinConfidence, DetectCustomLabels returns labels based on the assumed threshold of each label.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectCustomLabels action.

For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

+

This operation applies only to Amazon Rekognition Custom Labels.

Detects custom labels in a supplied image by using an Amazon Rekognition Custom Labels model.

You specify which version of a model version to use by using the ProjectVersionArn input parameter.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object that the model version detects on an image, the API returns a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object provides the label name (Name), the level of confidence that the image contains the object (Confidence), and object location information, if it exists, for the label on the image (Geometry). Note that for the DetectCustomLabelsLabels operation, Polygons are not returned in the Geometry section of the response.

To filter labels that are returned, specify a value for MinConfidence. DetectCustomLabelsLabels only returns labels with a confidence that's higher than the specified value. The value of MinConfidence maps to the assumed threshold values created during training. For more information, see Assumed threshold in the Amazon Rekognition Custom Labels Developer Guide. Amazon Rekognition Custom Labels metrics expresses an assumed threshold as a floating point value between 0-1. The range of MinConfidence normalizes the threshold value to a percentage value (0-100). Confidence responses from DetectCustomLabels are also returned as a percentage. You can use MinConfidence to change the precision and recall or your model. For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

If you don't specify a value for MinConfidence, DetectCustomLabels returns labels based on the assumed threshold of each label.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectCustomLabels action.

For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

@param request A container for the necessary parameters to execute the DetectCustomLabels service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1100,7 +1100,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)getFaceSearch:(AWSRekognitionGetFaceSearchRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionGetFaceSearchResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter. If there is no NAME specified, the default sort is by timestamp.

You can select how results are aggregated by using the AggregateBy input parameter. The default aggregation method is TIMESTAMPS. You can also aggregate by SEGMENTS, which aggregates all instances of labels detected in a given segment.

The returned Labels array may include the following attributes:

  • Name - The name of the detected label.

  • Confidence - The level of confidence in the label assigned to a detected object.

  • Parents - The ancestor labels for a detected label. GetLabelDetection returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response includes the all ancestors for a label, where every ancestor is a unique label. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

  • Aliases - Possible Aliases for the label.

  • Categories - The label categories that the detected label belongs to.

  • BoundingBox — Bounding boxes are described for all instances of detected common object labels, returned in an array of Instance objects. An Instance object contains a BoundingBox object, describing the location of the label on the input image. It also includes the confidence for the accuracy of the detected bounding box.

  • Timestamp - Time, in milliseconds from the start of the video, that the label was detected. For aggregation by SEGMENTS, the StartTimestampMillis, EndTimestampMillis, and DurationMillis structures are what define a segment. Although the “Timestamp” structure is still returned with each label, its value is set to be the same as StartTimestampMillis.

Timestamp and Bounding box information are returned for detected Instances, only if aggregation is done by TIMESTAMPS. If aggregating by SEGMENTS, information about detected instances isn’t returned.

The version of the label model used for the detection is also returned.

Note DominantColors isn't returned for Instances, although it is shown as part of the response in the sample seen below.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

+

Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter. If there is no NAME specified, the default sort is by timestamp.

You can select how results are aggregated by using the AggregateBy input parameter. The default aggregation method is TIMESTAMPS. You can also aggregate by SEGMENTS, which aggregates all instances of labels detected in a given segment.

The returned Labels array may include the following attributes:

  • Name - The name of the detected label.

  • Confidence - The level of confidence in the label assigned to a detected object.

  • Parents - The ancestor labels for a detected label. GetLabelDetection returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response includes the all ancestors for a label, where every ancestor is a unique label. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

  • Aliases - Possible Aliases for the label.

  • Categories - The label categories that the detected label belongs to.

  • BoundingBox — Bounding boxes are described for all instances of detected common object labels, returned in an array of Instance objects. An Instance object contains a BoundingBox object, describing the location of the label on the input image. It also includes the confidence for the accuracy of the detected bounding box.

  • Timestamp - Time, in milliseconds from the start of the video, that the label was detected. For aggregation by SEGMENTS, the StartTimestampMillis, EndTimestampMillis, and DurationMillis structures are what define a segment. Although the “Timestamp” structure is still returned with each label, its value is set to be the same as StartTimestampMillis.

Timestamp and Bounding box information are returned for detected Instances, only if aggregation is done by TIMESTAMPS. If aggregating by SEGMENTS, information about detected instances isn’t returned.

The version of the label model used for the detection is also returned.

Note DominantColors isn't returned for Instances, although it is shown as part of the response in the sample seen below.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

If you are retrieving results while using the Amazon Simple Notification Service, note that you will receive an "ERROR" notification if the job encounters an issue.

@param request A container for the necessary parameters to execute the GetLabelDetection service method. @@ -1112,7 +1112,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)getLabelDetection:(AWSRekognitionGetLabelDetectionRequest *)request; /** -

Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter. If there is no NAME specified, the default sort is by timestamp.

You can select how results are aggregated by using the AggregateBy input parameter. The default aggregation method is TIMESTAMPS. You can also aggregate by SEGMENTS, which aggregates all instances of labels detected in a given segment.

The returned Labels array may include the following attributes:

  • Name - The name of the detected label.

  • Confidence - The level of confidence in the label assigned to a detected object.

  • Parents - The ancestor labels for a detected label. GetLabelDetection returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response includes the all ancestors for a label, where every ancestor is a unique label. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

  • Aliases - Possible Aliases for the label.

  • Categories - The label categories that the detected label belongs to.

  • BoundingBox — Bounding boxes are described for all instances of detected common object labels, returned in an array of Instance objects. An Instance object contains a BoundingBox object, describing the location of the label on the input image. It also includes the confidence for the accuracy of the detected bounding box.

  • Timestamp - Time, in milliseconds from the start of the video, that the label was detected. For aggregation by SEGMENTS, the StartTimestampMillis, EndTimestampMillis, and DurationMillis structures are what define a segment. Although the “Timestamp” structure is still returned with each label, its value is set to be the same as StartTimestampMillis.

Timestamp and Bounding box information are returned for detected Instances, only if aggregation is done by TIMESTAMPS. If aggregating by SEGMENTS, information about detected instances isn’t returned.

The version of the label model used for the detection is also returned.

Note DominantColors isn't returned for Instances, although it is shown as part of the response in the sample seen below.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

+

Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter. If there is no NAME specified, the default sort is by timestamp.

You can select how results are aggregated by using the AggregateBy input parameter. The default aggregation method is TIMESTAMPS. You can also aggregate by SEGMENTS, which aggregates all instances of labels detected in a given segment.

The returned Labels array may include the following attributes:

  • Name - The name of the detected label.

  • Confidence - The level of confidence in the label assigned to a detected object.

  • Parents - The ancestor labels for a detected label. GetLabelDetection returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response includes the all ancestors for a label, where every ancestor is a unique label. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

  • Aliases - Possible Aliases for the label.

  • Categories - The label categories that the detected label belongs to.

  • BoundingBox — Bounding boxes are described for all instances of detected common object labels, returned in an array of Instance objects. An Instance object contains a BoundingBox object, describing the location of the label on the input image. It also includes the confidence for the accuracy of the detected bounding box.

  • Timestamp - Time, in milliseconds from the start of the video, that the label was detected. For aggregation by SEGMENTS, the StartTimestampMillis, EndTimestampMillis, and DurationMillis structures are what define a segment. Although the “Timestamp” structure is still returned with each label, its value is set to be the same as StartTimestampMillis.

Timestamp and Bounding box information are returned for detected Instances, only if aggregation is done by TIMESTAMPS. If aggregating by SEGMENTS, information about detected instances isn’t returned.

The version of the label model used for the detection is also returned.

Note DominantColors isn't returned for Instances, although it is shown as part of the response in the sample seen below.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

If you are retrieving results while using the Amazon Simple Notification Service, note that you will receive an "ERROR" notification if the job encounters an issue.

@param request A container for the necessary parameters to execute the GetLabelDetection service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1124,6 +1124,31 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; */ - (void)getLabelDetection:(AWSRekognitionGetLabelDetectionRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionGetLabelDetectionResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Retrieves the results for a given media analysis job. Takes a JobId returned by StartMediaAnalysisJob.

+ + @param request A container for the necessary parameters to execute the GetMediaAnalysisJob service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSRekognitionGetMediaAnalysisJobResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSRekognitionErrorDomain` domain and the following error code: `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorResourceNotFound`, `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorThrottling`. + + @see AWSRekognitionGetMediaAnalysisJobRequest + @see AWSRekognitionGetMediaAnalysisJobResponse + */ +- (AWSTask *)getMediaAnalysisJob:(AWSRekognitionGetMediaAnalysisJobRequest *)request; + +/** +

Retrieves the results for a given media analysis job. Takes a JobId returned by StartMediaAnalysisJob.

+ + @param request A container for the necessary parameters to execute the GetMediaAnalysisJob 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 `AWSRekognitionErrorDomain` domain and the following error code: `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorResourceNotFound`, `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorThrottling`. + + @see AWSRekognitionGetMediaAnalysisJobRequest + @see AWSRekognitionGetMediaAnalysisJobResponse + */ +- (void)getMediaAnalysisJob:(AWSRekognitionGetMediaAnalysisJobRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionGetMediaAnalysisJobResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Gets the path tracking results of a Amazon Rekognition Video analysis started by StartPersonTracking.

The person path tracking operation is started by a call to StartPersonTracking which returns a job identifier (JobId). When the operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartPersonTracking.

To get the results of the person path tracking operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking.

GetPersonTracking returns an array, Persons, of tracked persons and the time(s) their paths were tracked in the video.

GetPersonTracking only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned.

For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the array is sorted by the time(s) a person's path is tracked in the video. You can sort by tracked persons by specifying INDEX for the SortBy input parameter.

Use the MaxResults parameter to limit the number of items returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetPersonTracking and populate the NextToken request parameter with the token value returned from the previous call to GetPersonTracking.

@@ -1324,6 +1349,31 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; */ - (void)listFaces:(AWSRekognitionListFacesRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionListFacesResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Returns a list of media analysis jobs. Results are sorted by CreationTimestamp in descending order.

+ + @param request A container for the necessary parameters to execute the ListMediaAnalysisJobs service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSRekognitionListMediaAnalysisJobsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSRekognitionErrorDomain` domain and the following error code: `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorInvalidPaginationToken`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorThrottling`. + + @see AWSRekognitionListMediaAnalysisJobsRequest + @see AWSRekognitionListMediaAnalysisJobsResponse + */ +- (AWSTask *)listMediaAnalysisJobs:(AWSRekognitionListMediaAnalysisJobsRequest *)request; + +/** +

Returns a list of media analysis jobs. Results are sorted by CreationTimestamp in descending order.

+ + @param request A container for the necessary parameters to execute the ListMediaAnalysisJobs 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 `AWSRekognitionErrorDomain` domain and the following error code: `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorInvalidPaginationToken`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorThrottling`. + + @see AWSRekognitionListMediaAnalysisJobsRequest + @see AWSRekognitionListMediaAnalysisJobsResponse + */ +- (void)listMediaAnalysisJobs:(AWSRekognitionListMediaAnalysisJobsRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionListMediaAnalysisJobsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

This operation applies only to Amazon Rekognition Custom Labels.

Gets a list of the project policies attached to a project.

To attach a project policy to a project, call PutProjectPolicy. To remove a project policy from a project, call DeleteProjectPolicy.

This operation requires permissions to perform the rekognition:ListProjectPolicies action.

@@ -1699,6 +1749,31 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; */ - (void)startLabelDetection:(AWSRekognitionStartLabelDetectionRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionStartLabelDetectionResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Initiates a new media analysis job. Accepts a manifest file in an Amazon S3 bucket. The output is a manifest file and a summary of the manifest stored in the Amazon S3 bucket.

+ + @param request A container for the necessary parameters to execute the StartMediaAnalysisJob service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSRekognitionStartMediaAnalysisJobResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSRekognitionErrorDomain` domain and the following error code: `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorInvalidManifest`, `AWSRekognitionErrorInvalidS3Object`, `AWSRekognitionErrorResourceNotFound`, `AWSRekognitionErrorResourceNotReady`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorLimitExceeded`, `AWSRekognitionErrorThrottling`, `AWSRekognitionErrorIdempotentParameterMismatch`. + + @see AWSRekognitionStartMediaAnalysisJobRequest + @see AWSRekognitionStartMediaAnalysisJobResponse + */ +- (AWSTask *)startMediaAnalysisJob:(AWSRekognitionStartMediaAnalysisJobRequest *)request; + +/** +

Initiates a new media analysis job. Accepts a manifest file in an Amazon S3 bucket. The output is a manifest file and a summary of the manifest stored in the Amazon S3 bucket.

+ + @param request A container for the necessary parameters to execute the StartMediaAnalysisJob 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 `AWSRekognitionErrorDomain` domain and the following error code: `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorInvalidManifest`, `AWSRekognitionErrorInvalidS3Object`, `AWSRekognitionErrorResourceNotFound`, `AWSRekognitionErrorResourceNotReady`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorLimitExceeded`, `AWSRekognitionErrorThrottling`, `AWSRekognitionErrorIdempotentParameterMismatch`. + + @see AWSRekognitionStartMediaAnalysisJobRequest + @see AWSRekognitionStartMediaAnalysisJobResponse + */ +- (void)startMediaAnalysisJob:(AWSRekognitionStartMediaAnalysisJobRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionStartMediaAnalysisJobResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Starts the asynchronous tracking of a person's path in a stored video.

Amazon Rekognition Video can track the path of people in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartPersonTracking returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the person detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking.

diff --git a/AWSRekognition/AWSRekognitionService.m b/AWSRekognition/AWSRekognitionService.m index b027b3c8250..6ec7656ce2d 100644 --- a/AWSRekognition/AWSRekognitionService.m +++ b/AWSRekognition/AWSRekognitionService.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. @@ -25,7 +25,7 @@ #import "AWSRekognitionResources.h" static NSString *const AWSInfoRekognition = @"Rekognition"; -NSString *const AWSRekognitionSDKVersion = @"2.36.3"; +NSString *const AWSRekognitionSDKVersion = @"2.36.4"; @interface AWSRekognitionResponseSerializer : AWSJSONResponseSerializer @@ -46,6 +46,7 @@ + (void)initialize { @"ImageTooLargeException" : @(AWSRekognitionErrorImageTooLarge), @"InternalServerError" : @(AWSRekognitionErrorInternalServer), @"InvalidImageFormatException" : @(AWSRekognitionErrorInvalidImageFormat), + @"InvalidManifestException" : @(AWSRekognitionErrorInvalidManifest), @"InvalidPaginationTokenException" : @(AWSRekognitionErrorInvalidPaginationToken), @"InvalidParameterException" : @(AWSRekognitionErrorInvalidParameter), @"InvalidPolicyRevisionIdException" : @(AWSRekognitionErrorInvalidPolicyRevisionId), @@ -1169,6 +1170,29 @@ - (void)getLabelDetection:(AWSRekognitionGetLabelDetectionRequest *)request }]; } +- (AWSTask *)getMediaAnalysisJob:(AWSRekognitionGetMediaAnalysisJobRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"RekognitionService" + operationName:@"GetMediaAnalysisJob" + outputClass:[AWSRekognitionGetMediaAnalysisJobResponse class]]; +} + +- (void)getMediaAnalysisJob:(AWSRekognitionGetMediaAnalysisJobRequest *)request + completionHandler:(void (^)(AWSRekognitionGetMediaAnalysisJobResponse *response, NSError *error))completionHandler { + [[self getMediaAnalysisJob:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSRekognitionGetMediaAnalysisJobResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getPersonTracking:(AWSRekognitionGetPersonTrackingRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -1353,6 +1377,29 @@ - (void)listFaces:(AWSRekognitionListFacesRequest *)request }]; } +- (AWSTask *)listMediaAnalysisJobs:(AWSRekognitionListMediaAnalysisJobsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"RekognitionService" + operationName:@"ListMediaAnalysisJobs" + outputClass:[AWSRekognitionListMediaAnalysisJobsResponse class]]; +} + +- (void)listMediaAnalysisJobs:(AWSRekognitionListMediaAnalysisJobsRequest *)request + completionHandler:(void (^)(AWSRekognitionListMediaAnalysisJobsResponse *response, NSError *error))completionHandler { + [[self listMediaAnalysisJobs:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSRekognitionListMediaAnalysisJobsResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)listProjectPolicies:(AWSRekognitionListProjectPoliciesRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -1698,6 +1745,29 @@ - (void)startLabelDetection:(AWSRekognitionStartLabelDetectionRequest *)request }]; } +- (AWSTask *)startMediaAnalysisJob:(AWSRekognitionStartMediaAnalysisJobRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"RekognitionService" + operationName:@"StartMediaAnalysisJob" + outputClass:[AWSRekognitionStartMediaAnalysisJobResponse class]]; +} + +- (void)startMediaAnalysisJob:(AWSRekognitionStartMediaAnalysisJobRequest *)request + completionHandler:(void (^)(AWSRekognitionStartMediaAnalysisJobResponse *response, NSError *error))completionHandler { + [[self startMediaAnalysisJob:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSRekognitionStartMediaAnalysisJobResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)startPersonTracking:(AWSRekognitionStartPersonTrackingRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSRekognition/Info.plist b/AWSRekognition/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSRekognition/Info.plist +++ b/AWSRekognition/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSRekognitionUnitTests/AWSGeneralRekognitionTests.m b/AWSRekognitionUnitTests/AWSGeneralRekognitionTests.m index ed3bab40a69..b7096018c9e 100644 --- a/AWSRekognitionUnitTests/AWSGeneralRekognitionTests.m +++ b/AWSRekognitionUnitTests/AWSGeneralRekognitionTests.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. @@ -1881,6 +1881,54 @@ - (void)testGetLabelDetectionCompletionHandler { [AWSRekognition removeRekognitionForKey:key]; } +- (void)testGetMediaAnalysisJob { + NSString *key = @"testGetMediaAnalysisJob"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSRekognition registerRekognitionWithConfiguration:configuration forKey:key]; + + AWSRekognition *awsClient = [AWSRekognition RekognitionForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSRekognition RekognitionForKey:key] getMediaAnalysisJob:[AWSRekognitionGetMediaAnalysisJobRequest 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]]); + + [AWSRekognition removeRekognitionForKey:key]; +} + +- (void)testGetMediaAnalysisJobCompletionHandler { + NSString *key = @"testGetMediaAnalysisJob"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSRekognition registerRekognitionWithConfiguration:configuration forKey:key]; + + AWSRekognition *awsClient = [AWSRekognition RekognitionForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSRekognition RekognitionForKey:key] getMediaAnalysisJob:[AWSRekognitionGetMediaAnalysisJobRequest new] completionHandler:^(AWSRekognitionGetMediaAnalysisJobResponse* _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]]); + + [AWSRekognition removeRekognitionForKey:key]; +} + - (void)testGetPersonTracking { NSString *key = @"testGetPersonTracking"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -2265,6 +2313,54 @@ - (void)testListFacesCompletionHandler { [AWSRekognition removeRekognitionForKey:key]; } +- (void)testListMediaAnalysisJobs { + NSString *key = @"testListMediaAnalysisJobs"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSRekognition registerRekognitionWithConfiguration:configuration forKey:key]; + + AWSRekognition *awsClient = [AWSRekognition RekognitionForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSRekognition RekognitionForKey:key] listMediaAnalysisJobs:[AWSRekognitionListMediaAnalysisJobsRequest 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]]); + + [AWSRekognition removeRekognitionForKey:key]; +} + +- (void)testListMediaAnalysisJobsCompletionHandler { + NSString *key = @"testListMediaAnalysisJobs"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSRekognition registerRekognitionWithConfiguration:configuration forKey:key]; + + AWSRekognition *awsClient = [AWSRekognition RekognitionForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSRekognition RekognitionForKey:key] listMediaAnalysisJobs:[AWSRekognitionListMediaAnalysisJobsRequest new] completionHandler:^(AWSRekognitionListMediaAnalysisJobsResponse* _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]]); + + [AWSRekognition removeRekognitionForKey:key]; +} + - (void)testListProjectPolicies { NSString *key = @"testListProjectPolicies"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -2985,6 +3081,54 @@ - (void)testStartLabelDetectionCompletionHandler { [AWSRekognition removeRekognitionForKey:key]; } +- (void)testStartMediaAnalysisJob { + NSString *key = @"testStartMediaAnalysisJob"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSRekognition registerRekognitionWithConfiguration:configuration forKey:key]; + + AWSRekognition *awsClient = [AWSRekognition RekognitionForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSRekognition RekognitionForKey:key] startMediaAnalysisJob:[AWSRekognitionStartMediaAnalysisJobRequest 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]]); + + [AWSRekognition removeRekognitionForKey:key]; +} + +- (void)testStartMediaAnalysisJobCompletionHandler { + NSString *key = @"testStartMediaAnalysisJob"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSRekognition registerRekognitionWithConfiguration:configuration forKey:key]; + + AWSRekognition *awsClient = [AWSRekognition RekognitionForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSRekognition RekognitionForKey:key] startMediaAnalysisJob:[AWSRekognitionStartMediaAnalysisJobRequest new] completionHandler:^(AWSRekognitionStartMediaAnalysisJobResponse* _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]]); + + [AWSRekognition removeRekognitionForKey:key]; +} + - (void)testStartPersonTracking { NSString *key = @"testStartPersonTracking"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; diff --git a/AWSRekognitionUnitTests/AWSRekognitionNSSecureCodingTests.m b/AWSRekognitionUnitTests/AWSRekognitionNSSecureCodingTests.m index 456e8fe283c..35acd5e50f5 100644 --- a/AWSRekognitionUnitTests/AWSRekognitionNSSecureCodingTests.m +++ b/AWSRekognitionUnitTests/AWSRekognitionNSSecureCodingTests.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. @@ -40,6 +40,7 @@ - (void) test_AWSRekognitionComparedSourceImageFace API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionConnectedHomeSettings API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionConnectedHomeSettingsForUpdate API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionContentModerationDetection API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionContentType API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionReplicateProjectVersionRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionReplicateProjectVersionResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionCoversBodyPart API_AVAILABLE(ios(11)); @@ -153,6 +154,8 @@ - (void) test_AWSRekognitionGetFaceSearchResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionGetLabelDetectionRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionGetLabelDetectionRequestMetadata API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionGetLabelDetectionResponse API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionGetMediaAnalysisJobRequest API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionGetMediaAnalysisJobResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionGetPersonTrackingRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionGetPersonTrackingResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionGetSegmentDetectionRequest API_AVAILABLE(ios(11)); @@ -186,6 +189,8 @@ - (void) test_AWSRekognitionListDatasetLabelsRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionListDatasetLabelsResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionListFacesRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionListFacesResponse API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionListMediaAnalysisJobsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionListMediaAnalysisJobsResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionListProjectPoliciesRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionListProjectPoliciesResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionListStreamProcessorsRequest API_AVAILABLE(ios(11)); @@ -196,6 +201,15 @@ - (void) test_AWSRekognitionListUsersRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionListUsersResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionLivenessOutputConfig API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionMatchedUser API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionMediaAnalysisDetectModerationLabelsConfig API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionMediaAnalysisInput API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionMediaAnalysisJobDescription API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionMediaAnalysisJobFailureDetails API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionMediaAnalysisManifestSummary API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionMediaAnalysisModelVersions API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionMediaAnalysisOperationsConfig API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionMediaAnalysisOutputConfig API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionMediaAnalysisResults API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionModerationLabel API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionMouthOpen API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionMustache API_AVAILABLE(ios(11)); @@ -246,6 +260,8 @@ - (void) test_AWSRekognitionStartFaceSearchRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionStartFaceSearchResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionStartLabelDetectionRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionStartLabelDetectionResponse API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionStartMediaAnalysisJobRequest API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionStartMediaAnalysisJobResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionStartPersonTrackingRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionStartPersonTrackingResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionStartProjectVersionRequest API_AVAILABLE(ios(11)); @@ -389,6 +405,10 @@ - (void) test_AWSRekognitionContentModerationDetection { [self validateSecureCodingForClass:[AWSRekognitionContentModerationDetection class]]; } +- (void) test_AWSRekognitionContentType { + [self validateSecureCodingForClass:[AWSRekognitionContentType class]]; +} + - (void) test_AWSRekognitionReplicateProjectVersionRequest { [self validateSecureCodingForClass:[AWSRekognitionReplicateProjectVersionRequest class]]; } @@ -841,6 +861,14 @@ - (void) test_AWSRekognitionGetLabelDetectionResponse { [self validateSecureCodingForClass:[AWSRekognitionGetLabelDetectionResponse class]]; } +- (void) test_AWSRekognitionGetMediaAnalysisJobRequest { + [self validateSecureCodingForClass:[AWSRekognitionGetMediaAnalysisJobRequest class]]; +} + +- (void) test_AWSRekognitionGetMediaAnalysisJobResponse { + [self validateSecureCodingForClass:[AWSRekognitionGetMediaAnalysisJobResponse class]]; +} + - (void) test_AWSRekognitionGetPersonTrackingRequest { [self validateSecureCodingForClass:[AWSRekognitionGetPersonTrackingRequest class]]; } @@ -973,6 +1001,14 @@ - (void) test_AWSRekognitionListFacesResponse { [self validateSecureCodingForClass:[AWSRekognitionListFacesResponse class]]; } +- (void) test_AWSRekognitionListMediaAnalysisJobsRequest { + [self validateSecureCodingForClass:[AWSRekognitionListMediaAnalysisJobsRequest class]]; +} + +- (void) test_AWSRekognitionListMediaAnalysisJobsResponse { + [self validateSecureCodingForClass:[AWSRekognitionListMediaAnalysisJobsResponse class]]; +} + - (void) test_AWSRekognitionListProjectPoliciesRequest { [self validateSecureCodingForClass:[AWSRekognitionListProjectPoliciesRequest class]]; } @@ -1013,6 +1049,42 @@ - (void) test_AWSRekognitionMatchedUser { [self validateSecureCodingForClass:[AWSRekognitionMatchedUser class]]; } +- (void) test_AWSRekognitionMediaAnalysisDetectModerationLabelsConfig { + [self validateSecureCodingForClass:[AWSRekognitionMediaAnalysisDetectModerationLabelsConfig class]]; +} + +- (void) test_AWSRekognitionMediaAnalysisInput { + [self validateSecureCodingForClass:[AWSRekognitionMediaAnalysisInput class]]; +} + +- (void) test_AWSRekognitionMediaAnalysisJobDescription { + [self validateSecureCodingForClass:[AWSRekognitionMediaAnalysisJobDescription class]]; +} + +- (void) test_AWSRekognitionMediaAnalysisJobFailureDetails { + [self validateSecureCodingForClass:[AWSRekognitionMediaAnalysisJobFailureDetails class]]; +} + +- (void) test_AWSRekognitionMediaAnalysisManifestSummary { + [self validateSecureCodingForClass:[AWSRekognitionMediaAnalysisManifestSummary class]]; +} + +- (void) test_AWSRekognitionMediaAnalysisModelVersions { + [self validateSecureCodingForClass:[AWSRekognitionMediaAnalysisModelVersions class]]; +} + +- (void) test_AWSRekognitionMediaAnalysisOperationsConfig { + [self validateSecureCodingForClass:[AWSRekognitionMediaAnalysisOperationsConfig class]]; +} + +- (void) test_AWSRekognitionMediaAnalysisOutputConfig { + [self validateSecureCodingForClass:[AWSRekognitionMediaAnalysisOutputConfig class]]; +} + +- (void) test_AWSRekognitionMediaAnalysisResults { + [self validateSecureCodingForClass:[AWSRekognitionMediaAnalysisResults class]]; +} + - (void) test_AWSRekognitionModerationLabel { [self validateSecureCodingForClass:[AWSRekognitionModerationLabel class]]; } @@ -1213,6 +1285,14 @@ - (void) test_AWSRekognitionStartLabelDetectionResponse { [self validateSecureCodingForClass:[AWSRekognitionStartLabelDetectionResponse class]]; } +- (void) test_AWSRekognitionStartMediaAnalysisJobRequest { + [self validateSecureCodingForClass:[AWSRekognitionStartMediaAnalysisJobRequest class]]; +} + +- (void) test_AWSRekognitionStartMediaAnalysisJobResponse { + [self validateSecureCodingForClass:[AWSRekognitionStartMediaAnalysisJobResponse class]]; +} + - (void) test_AWSRekognitionStartPersonTrackingRequest { [self validateSecureCodingForClass:[AWSRekognitionStartPersonTrackingRequest class]]; } diff --git a/AWSS3.podspec b/AWSS3.podspec index afb8d9ae879..8e15425d147 100644 --- a/AWSS3.podspec +++ b/AWSS3.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSS3' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 1a45267b216..a5710b243c2 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.36.3"; +static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.36.4"; @interface AWSS3PreSignedURLBuilder() diff --git a/AWSS3/AWSS3Service.m b/AWSS3/AWSS3Service.m index 15b7a987b1b..4fc0d61e2bc 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.36.3"; +NSString *const AWSS3SDKVersion = @"2.36.4"; diff --git a/AWSS3/AWSS3TransferUtility.m b/AWSS3/AWSS3TransferUtility.m index 450029ee053..5ccc5e10321 100644 --- a/AWSS3/AWSS3TransferUtility.m +++ b/AWSS3/AWSS3TransferUtility.m @@ -1158,7 +1158,8 @@ - (void) retryUpload: (AWSS3TransferUtilityUploadTask *) transferUtilityUploadTa transferUtilityMultiPartUploadTask.retryCount = 0; transferUtilityMultiPartUploadTask.temporaryFileCreated = temporaryFileCreated; transferUtilityMultiPartUploadTask.status = AWSS3TransferUtilityTransferStatusInProgress; - + transferUtilityMultiPartUploadTask.cachedFileURL = fileURL; + //Get the size of the file and calculate the number of parts. NSError *nsError = nil; NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[fileURL path] diff --git a/AWSS3/AWSS3TransferUtilityTasks.m b/AWSS3/AWSS3TransferUtilityTasks.m index d26635a7bf6..d8d82a283b8 100644 --- a/AWSS3/AWSS3TransferUtilityTasks.m +++ b/AWSS3/AWSS3TransferUtilityTasks.m @@ -153,6 +153,15 @@ - (void)cancel { } [AWSS3TransferUtilityDatabaseHelper deleteTransferRequestFromDB:self.transferID databaseQueue:self.databaseQueue]; + + NSString *path = self.cachedFileURL.path; + if (path && [[NSFileManager defaultManager] fileExistsAtPath:path]) { + NSError *error = nil; + [[NSFileManager defaultManager] removeItemAtPath:path error:&error]; + if (error) { + AWSDDLogError(@"Error deleting file[%@]: [%@]", path, error); + } + } } - (void)resume { diff --git a/AWSS3/AWSS3TransferUtility_private.h b/AWSS3/AWSS3TransferUtility_private.h index ce414cfd427..c325433b070 100644 --- a/AWSS3/AWSS3TransferUtility_private.h +++ b/AWSS3/AWSS3TransferUtility_private.h @@ -53,6 +53,7 @@ @property (copy) NSString * uploadID; @property BOOL cancelled; @property BOOL temporaryFileCreated; +@property NSURL *cachedFileURL; @property NSMutableDictionary *waitingPartsDictionary; @property (strong, nonatomic) NSMutableSet *completedPartsSet; @property (strong, nonatomic) NSMutableDictionary *inProgressPartsDictionary; diff --git a/AWSS3/Info.plist b/AWSS3/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSS3/Info.plist +++ b/AWSS3/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSES.podspec b/AWSSES.podspec index 0e63871c8fa..650b4bd0937 100644 --- a/AWSSES.podspec +++ b/AWSSES.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSES' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 cd6a46916e2..e1c99189c42 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.36.3"; +NSString *const AWSSESSDKVersion = @"2.36.4"; @interface AWSSESResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSES/Info.plist b/AWSSES/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSSES/Info.plist +++ b/AWSSES/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSNS.podspec b/AWSSNS.podspec index dbf096bd56c..83401db7959 100644 --- a/AWSSNS.podspec +++ b/AWSSNS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSNS' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSSNS/*.{h,m}' s.resource_bundle = { 'AWSSNS' => ['AWSSNS/PrivacyInfo.xcprivacy']} end diff --git a/AWSSNS/AWSSNSModel.h b/AWSSNS/AWSSNSModel.h index 435972a5d62..610f8868ace 100644 --- a/AWSSNS/AWSSNSModel.h +++ b/AWSSNS/AWSSNSModel.h @@ -415,7 +415,7 @@ typedef NS_ENUM(NSInteger, AWSSNSSMSSandboxPhoneNumberVerificationStatus) { /** -

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the CreateTopic action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • FifoTopic – Set to true to create a FIFO topic.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

  • SignatureVersion – The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, SignatureVersion is set to 1.

  • TracingConfig – Tracing mode of an Amazon SNS topic. By default TracingConfig is set to PassThrough, and the topic passes through the tracing header it receives from an Amazon SNS publisher to its subscriptions. If set to Active, Amazon SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true. This is only supported on standard topics.

The following attribute applies only to server-side encryption:

  • KmsMasterKeyId – The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the Key Management Service API Reference.

The following attributes apply only to FIFO topics:

  • ArchivePolicy – Adds or updates an inline policy document to archive messages stored in the specified Amazon SNS topic.

  • BeginningArchiveTime – The earliest starting point at which a message in the topic’s archive can be replayed from. This point in time is based on the configured message retention period set by the topic’s message archiving policy.

  • ContentBasedDeduplication – Enables content-based deduplication for FIFO topics.

    • By default, ContentBasedDeduplication is set to false. If you create a FIFO topic and this attribute is false, you must specify a value for the MessageDeduplicationId parameter for the Publish action.

    • When you set ContentBasedDeduplication to true, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      (Optional) To override the generated value, you can specify a value for the MessageDeduplicationId parameter for the Publish action.

+

A map of attributes with their corresponding values.

The following lists names, descriptions, and values of the special request parameters that the CreateTopic action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • FifoTopic – Set to true to create a FIFO topic.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

  • SignatureVersion – The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, SignatureVersion is set to 1.

  • TracingConfig – Tracing mode of an Amazon SNS topic. By default TracingConfig is set to PassThrough, and the topic passes through the tracing header it receives from an Amazon SNS publisher to its subscriptions. If set to Active, Amazon SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true. This is only supported on standard topics.

The following attribute applies only to server-side encryption:

  • KmsMasterKeyId – The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the Key Management Service API Reference.

The following attributes apply only to FIFO topics:

  • ArchivePolicy – Adds or updates an inline policy document to archive messages stored in the specified Amazon SNS topic.

  • BeginningArchiveTime – The earliest starting point at which a message in the topic’s archive can be replayed from. This point in time is based on the configured message retention period set by the topic’s message archiving policy.

  • ContentBasedDeduplication – Enables content-based deduplication for FIFO topics.

    • By default, ContentBasedDeduplication is set to false. If you create a FIFO topic and this attribute is false, you must specify a value for the MessageDeduplicationId parameter for the Publish action.

    • When you set ContentBasedDeduplication to true, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      (Optional) To override the generated value, you can specify a value for the MessageDeduplicationId parameter for the Publish action.

*/ @property (nonatomic, strong) NSDictionary * _Nullable attributes; @@ -677,7 +677,7 @@ typedef NS_ENUM(NSInteger, AWSSNSSMSSandboxPhoneNumberVerificationStatus) { /** -

A map of the subscription's attributes. Attributes in this map include the following:

  • ConfirmationWasAuthenticatedtrue if the subscription confirmation request was authenticated.

  • DeliveryPolicy – The JSON serialization of the subscription's delivery policy.

  • EffectiveDeliveryPolicy – The JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults.

  • FilterPolicy – The filter policy JSON that is assigned to the subscription. For more information, see Amazon SNS Message Filtering in the Amazon SNS Developer Guide.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • Owner – The Amazon Web Services account ID of the subscription's owner.

  • PendingConfirmationtrue if the subscription hasn't been confirmed. To confirm a pending subscription, call the ConfirmSubscription action with a confirmation token.

  • RawMessageDeliverytrue if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

  • SubscriptionArn – The subscription's ARN.

  • TopicArn – The topic ARN that the subscription is associated with.

The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Kinesis Data Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.

+

A map of the subscription's attributes. Attributes in this map include the following:

  • ConfirmationWasAuthenticatedtrue if the subscription confirmation request was authenticated.

  • DeliveryPolicy – The JSON serialization of the subscription's delivery policy.

  • EffectiveDeliveryPolicy – The JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults.

  • FilterPolicy – The filter policy JSON that is assigned to the subscription. For more information, see Amazon SNS Message Filtering in the Amazon SNS Developer Guide.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • Owner – The Amazon Web Services account ID of the subscription's owner.

  • PendingConfirmationtrue if the subscription hasn't been confirmed. To confirm a pending subscription, call the ConfirmSubscription action with a confirmation token.

  • RawMessageDeliverytrue if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

  • SubscriptionArn – The subscription's ARN.

  • TopicArn – The topic ARN that the subscription is associated with.

The following attribute applies only to Amazon Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see Fanout to Firehose delivery streams in the Amazon SNS Developer Guide.

*/ @property (nonatomic, strong) NSDictionary * _Nullable attributes; @@ -1249,7 +1249,7 @@ typedef NS_ENUM(NSInteger, AWSSNSSMSSandboxPhoneNumberVerificationStatus) { @property (nonatomic, strong) NSString * _Nullable phoneNumber; /** -

Optional parameter to be used as the "Subject" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints.

Constraints: Subjects must be ASCII text that begins with a letter, number, or punctuation mark; must not include line breaks or control characters; and must be less than 100 characters long.

+

Optional parameter to be used as the "Subject" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints.

Constraints: Subjects must be UTF-8 text with no line breaks or control characters, and less than 100 characters long.

*/ @property (nonatomic, strong) NSString * _Nullable subject; @@ -1406,7 +1406,7 @@ typedef NS_ENUM(NSInteger, AWSSNSSMSSandboxPhoneNumberVerificationStatus) { /** -

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that this action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Kinesis Data Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.

+

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that this action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

The following attribute applies only to Amazon Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see Fanout to Firehose delivery streams in the Amazon SNS Developer Guide.

*/ @property (nonatomic, strong) NSString * _Nullable attributeName; @@ -1454,7 +1454,7 @@ typedef NS_ENUM(NSInteger, AWSSNSSMSSandboxPhoneNumberVerificationStatus) { /** -

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the Subscribe action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Kinesis Data Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.

The following attributes apply only to FIFO topics:

  • ReplayPolicy – Adds or updates an inline policy document for a subscription to replay messages stored in the specified Amazon SNS topic.

  • ReplayStatus – Retrieves the status of the subscription message replay, which can be one of the following:

    • Completed – The replay has successfully redelivered all messages, and is now delivering newly published messages. If an ending point was specified in the ReplayPolicy then the subscription will no longer receive newly published messages.

    • In progress – The replay is currently replaying the selected messages.

    • Failed – The replay was unable to complete.

    • Pending – The default state while the replay initiates.

+

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the Subscribe action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

The following attribute applies only to Amazon Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see Fanout to Firehose delivery streams in the Amazon SNS Developer Guide.

The following attributes apply only to FIFO topics:

  • ReplayPolicy – Adds or updates an inline policy document for a subscription to replay messages stored in the specified Amazon SNS topic.

  • ReplayStatus – Retrieves the status of the subscription message replay, which can be one of the following:

    • Completed – The replay has successfully redelivered all messages, and is now delivering newly published messages. If an ending point was specified in the ReplayPolicy then the subscription will no longer receive newly published messages.

    • In progress – The replay is currently replaying the selected messages.

    • Failed – The replay was unable to complete.

    • Pending – The default state while the replay initiates.

*/ @property (nonatomic, strong) NSDictionary * _Nullable attributes; diff --git a/AWSSNS/AWSSNSResources.m b/AWSSNS/AWSSNSResources.m index 7b86025cfc5..ee5d0782a67 100644 --- a/AWSSNS/AWSSNSResources.m +++ b/AWSSNS/AWSSNSResources.m @@ -62,12 +62,14 @@ - (NSString *)definitionString { \"apiVersion\":\"2010-03-31\",\ \"endpointPrefix\":\"sns\",\ \"protocol\":\"query\",\ + \"protocols\":[\"query\"],\ \"serviceAbbreviation\":\"Amazon SNS\",\ \"serviceFullName\":\"Amazon Simple Notification Service\",\ \"serviceId\":\"SNS\",\ \"signatureVersion\":\"v4\",\ \"uid\":\"sns-2010-03-31\",\ - \"xmlNamespace\":\"http://sns.amazonaws.com/doc/2010-03-31/\"\ + \"xmlNamespace\":\"http://sns.amazonaws.com/doc/2010-03-31/\",\ + \"auth\":[\"aws.auth#sigv4\"]\ },\ \"operations\":{\ \"AddPermission\":{\ @@ -142,7 +144,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"AuthorizationErrorException\"}\ ],\ - \"documentation\":\"

Creates a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action.

PlatformPrincipal and PlatformCredential are received from the notification service.

  • For ADM, PlatformPrincipal is client id and PlatformCredential is client secret.

  • For Baidu, PlatformPrincipal is API key and PlatformCredential is secret key.

  • For APNS and APNS_SANDBOX using certificate credentials, PlatformPrincipal is SSL certificate and PlatformCredential is private key.

  • For APNS and APNS_SANDBOX using token credentials, PlatformPrincipal is signing key ID and PlatformCredential is signing key.

  • For GCM (Firebase Cloud Messaging) using key credentials, there is no PlatformPrincipal. The PlatformCredential is API key.

  • For GCM (Firebase Cloud Messaging) using token credentials, there is no PlatformPrincipal. The PlatformCredential is a JSON formatted private key file. When using the Amazon Web Services CLI, the file must be in string format and special characters must be ignored. To format the file correctly, Amazon SNS recommends using the following command: SERVICE_JSON=`jq @json <<< cat service.json`.

  • For MPNS, PlatformPrincipal is TLS certificate and PlatformCredential is private key.

  • For WNS, PlatformPrincipal is Package Security Identifier and PlatformCredential is secret key.

You can use the returned PlatformApplicationArn as an attribute for the CreatePlatformEndpoint action.

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

Creates a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action.

PlatformPrincipal and PlatformCredential are received from the notification service.

  • For ADM, PlatformPrincipal is client id and PlatformCredential is client secret.

  • For APNS and APNS_SANDBOX using certificate credentials, PlatformPrincipal is SSL certificate and PlatformCredential is private key.

  • For APNS and APNS_SANDBOX using token credentials, PlatformPrincipal is signing key ID and PlatformCredential is signing key.

  • For Baidu, PlatformPrincipal is API key and PlatformCredential is secret key.

  • For GCM (Firebase Cloud Messaging) using key credentials, there is no PlatformPrincipal. The PlatformCredential is API key.

  • For GCM (Firebase Cloud Messaging) using token credentials, there is no PlatformPrincipal. The PlatformCredential is a JSON formatted private key file. When using the Amazon Web Services CLI, the file must be in string format and special characters must be ignored. To format the file correctly, Amazon SNS recommends using the following command: SERVICE_JSON=`jq @json <<< cat service.json`.

  • For MPNS, PlatformPrincipal is TLS certificate and PlatformCredential is private key.

  • For WNS, PlatformPrincipal is Package Security Identifier and PlatformCredential is secret key.

You can use the returned PlatformApplicationArn as an attribute for the CreatePlatformEndpoint action.

\"\ },\ \"CreatePlatformEndpoint\":{\ \"name\":\"CreatePlatformEndpoint\",\ @@ -1155,7 +1157,7 @@ - (NSString *)definitionString { },\ \"Attributes\":{\ \"shape\":\"TopicAttributesMap\",\ - \"documentation\":\"

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the CreateTopic action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • FifoTopic – Set to true to create a FIFO topic.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

  • SignatureVersion – The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, SignatureVersion is set to 1.

  • TracingConfig – Tracing mode of an Amazon SNS topic. By default TracingConfig is set to PassThrough, and the topic passes through the tracing header it receives from an Amazon SNS publisher to its subscriptions. If set to Active, Amazon SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true. This is only supported on standard topics.

The following attribute applies only to server-side encryption:

  • KmsMasterKeyId – The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the Key Management Service API Reference.

The following attributes apply only to FIFO topics:

  • ArchivePolicy – Adds or updates an inline policy document to archive messages stored in the specified Amazon SNS topic.

  • BeginningArchiveTime – The earliest starting point at which a message in the topic’s archive can be replayed from. This point in time is based on the configured message retention period set by the topic’s message archiving policy.

  • ContentBasedDeduplication – Enables content-based deduplication for FIFO topics.

    • By default, ContentBasedDeduplication is set to false. If you create a FIFO topic and this attribute is false, you must specify a value for the MessageDeduplicationId parameter for the Publish action.

    • When you set ContentBasedDeduplication to true, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      (Optional) To override the generated value, you can specify a value for the MessageDeduplicationId parameter for the Publish action.

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

A map of attributes with their corresponding values.

The following lists names, descriptions, and values of the special request parameters that the CreateTopic action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • FifoTopic – Set to true to create a FIFO topic.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

  • SignatureVersion – The signature version corresponds to the hashing algorithm used while creating the signature of the notifications, subscription confirmations, or unsubscribe confirmation messages sent by Amazon SNS. By default, SignatureVersion is set to 1.

  • TracingConfig – Tracing mode of an Amazon SNS topic. By default TracingConfig is set to PassThrough, and the topic passes through the tracing header it receives from an Amazon SNS publisher to its subscriptions. If set to Active, Amazon SNS will vend X-Ray segment data to topic owner account if the sampled flag in the tracing header is true. This is only supported on standard topics.

The following attribute applies only to server-side encryption:

  • KmsMasterKeyId – The ID of an Amazon Web Services managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the Key Management Service API Reference.

The following attributes apply only to FIFO topics:

  • ArchivePolicy – Adds or updates an inline policy document to archive messages stored in the specified Amazon SNS topic.

  • BeginningArchiveTime – The earliest starting point at which a message in the topic’s archive can be replayed from. This point in time is based on the configured message retention period set by the topic’s message archiving policy.

  • ContentBasedDeduplication – Enables content-based deduplication for FIFO topics.

    • By default, ContentBasedDeduplication is set to false. If you create a FIFO topic and this attribute is false, you must specify a value for the MessageDeduplicationId parameter for the Publish action.

    • When you set ContentBasedDeduplication to true, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      (Optional) To override the generated value, you can specify a value for the MessageDeduplicationId parameter for the Publish action.

\"\ },\ \"Tags\":{\ \"shape\":\"TagList\",\ @@ -1397,7 +1399,7 @@ - (NSString *)definitionString { \"members\":{\ \"Attributes\":{\ \"shape\":\"SubscriptionAttributesMap\",\ - \"documentation\":\"

A map of the subscription's attributes. Attributes in this map include the following:

  • ConfirmationWasAuthenticated – true if the subscription confirmation request was authenticated.

  • DeliveryPolicy – The JSON serialization of the subscription's delivery policy.

  • EffectiveDeliveryPolicy – The JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults.

  • FilterPolicy – The filter policy JSON that is assigned to the subscription. For more information, see Amazon SNS Message Filtering in the Amazon SNS Developer Guide.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • Owner – The Amazon Web Services account ID of the subscription's owner.

  • PendingConfirmation – true if the subscription hasn't been confirmed. To confirm a pending subscription, call the ConfirmSubscription action with a confirmation token.

  • RawMessageDelivery – true if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

  • SubscriptionArn – The subscription's ARN.

  • TopicArn – The topic ARN that the subscription is associated with.

The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Kinesis Data Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.

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

A map of the subscription's attributes. Attributes in this map include the following:

  • ConfirmationWasAuthenticated – true if the subscription confirmation request was authenticated.

  • DeliveryPolicy – The JSON serialization of the subscription's delivery policy.

  • EffectiveDeliveryPolicy – The JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults.

  • FilterPolicy – The filter policy JSON that is assigned to the subscription. For more information, see Amazon SNS Message Filtering in the Amazon SNS Developer Guide.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • Owner – The Amazon Web Services account ID of the subscription's owner.

  • PendingConfirmation – true if the subscription hasn't been confirmed. To confirm a pending subscription, call the ConfirmSubscription action with a confirmation token.

  • RawMessageDelivery – true if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

  • SubscriptionArn – The subscription's ARN.

  • TopicArn – The topic ARN that the subscription is associated with.

The following attribute applies only to Amazon Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see Fanout to Firehose delivery streams in the Amazon SNS Developer Guide.

\"\ }\ },\ \"documentation\":\"

Response for GetSubscriptionAttributes action.

\"\ @@ -2148,7 +2150,7 @@ - (NSString *)definitionString { },\ \"Subject\":{\ \"shape\":\"subject\",\ - \"documentation\":\"

Optional parameter to be used as the \\\"Subject\\\" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints.

Constraints: Subjects must be ASCII text that begins with a letter, number, or punctuation mark; must not include line breaks or control characters; and must be less than 100 characters long.

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

Optional parameter to be used as the \\\"Subject\\\" line when the message is delivered to email endpoints. This field will also be included, if present, in the standard JSON messages delivered to other endpoints.

Constraints: Subjects must be UTF-8 text with no line breaks or control characters, and less than 100 characters long.

\"\ },\ \"MessageStructure\":{\ \"shape\":\"messageStructure\",\ @@ -2345,7 +2347,7 @@ - (NSString *)definitionString { },\ \"AttributeName\":{\ \"shape\":\"attributeName\",\ - \"documentation\":\"

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that this action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Kinesis Data Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.

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

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that this action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

The following attribute applies only to Amazon Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see Fanout to Firehose delivery streams in the Amazon SNS Developer Guide.

\"\ },\ \"AttributeValue\":{\ \"shape\":\"attributeValue\",\ @@ -2411,7 +2413,7 @@ - (NSString *)definitionString { },\ \"Attributes\":{\ \"shape\":\"SubscriptionAttributesMap\",\ - \"documentation\":\"

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the Subscribe action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Kinesis Data Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.

The following attributes apply only to FIFO topics:

  • ReplayPolicy – Adds or updates an inline policy document for a subscription to replay messages stored in the specified Amazon SNS topic.

  • ReplayStatus – Retrieves the status of the subscription message replay, which can be one of the following:

    • Completed – The replay has successfully redelivered all messages, and is now delivering newly published messages. If an ending point was specified in the ReplayPolicy then the subscription will no longer receive newly published messages.

    • In progress – The replay is currently replaying the selected messages.

    • Failed – The replay was unable to complete.

    • Pending – The default state while the replay initiates.

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

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the Subscribe action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

  • FilterPolicyScope – This attribute lets you choose the filtering scope by using one of the following string value types:

    • MessageAttributes (default) – The filter is applied on the message attributes.

    • MessageBody – The filter is applied on the message body.

  • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

  • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

The following attribute applies only to Amazon Data Firehose delivery stream subscriptions:

  • SubscriptionRoleArn – The ARN of the IAM role that has the following:

    • Permission to write to the Firehose delivery stream

    • Amazon SNS listed as a trusted entity

    Specifying a valid ARN for this attribute is required for Firehose delivery stream subscriptions. For more information, see Fanout to Firehose delivery streams in the Amazon SNS Developer Guide.

The following attributes apply only to FIFO topics:

  • ReplayPolicy – Adds or updates an inline policy document for a subscription to replay messages stored in the specified Amazon SNS topic.

  • ReplayStatus – Retrieves the status of the subscription message replay, which can be one of the following:

    • Completed – The replay has successfully redelivered all messages, and is now delivering newly published messages. If an ending point was specified in the ReplayPolicy then the subscription will no longer receive newly published messages.

    • In progress – The replay is currently replaying the selected messages.

    • Failed – The replay was unable to complete.

    • Pending – The default state while the replay initiates.

\"\ },\ \"ReturnSubscriptionArn\":{\ \"shape\":\"boolean\",\ diff --git a/AWSSNS/AWSSNSService.h b/AWSSNS/AWSSNSService.h index 1c224fd5e8f..63aa04f35e3 100644 --- a/AWSSNS/AWSSNSService.h +++ b/AWSSNS/AWSSNSService.h @@ -247,7 +247,7 @@ FOUNDATION_EXPORT NSString *const AWSSNSSDKVersion; - (void)confirmSubscription:(AWSSNSConfirmSubscriptionInput *)request completionHandler:(void (^ _Nullable)(AWSSNSConfirmSubscriptionResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action.

PlatformPrincipal and PlatformCredential are received from the notification service.

  • For ADM, PlatformPrincipal is client id and PlatformCredential is client secret.

  • For Baidu, PlatformPrincipal is API key and PlatformCredential is secret key.

  • For APNS and APNS_SANDBOX using certificate credentials, PlatformPrincipal is SSL certificate and PlatformCredential is private key.

  • For APNS and APNS_SANDBOX using token credentials, PlatformPrincipal is signing key ID and PlatformCredential is signing key.

  • For GCM (Firebase Cloud Messaging) using key credentials, there is no PlatformPrincipal. The PlatformCredential is API key.

  • For GCM (Firebase Cloud Messaging) using token credentials, there is no PlatformPrincipal. The PlatformCredential is a JSON formatted private key file. When using the Amazon Web Services CLI, the file must be in string format and special characters must be ignored. To format the file correctly, Amazon SNS recommends using the following command: SERVICE_JSON=`jq @json <<< cat service.json`.

  • For MPNS, PlatformPrincipal is TLS certificate and PlatformCredential is private key.

  • For WNS, PlatformPrincipal is Package Security Identifier and PlatformCredential is secret key.

You can use the returned PlatformApplicationArn as an attribute for the CreatePlatformEndpoint action.

+

Creates a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action.

PlatformPrincipal and PlatformCredential are received from the notification service.

  • For ADM, PlatformPrincipal is client id and PlatformCredential is client secret.

  • For APNS and APNS_SANDBOX using certificate credentials, PlatformPrincipal is SSL certificate and PlatformCredential is private key.

  • For APNS and APNS_SANDBOX using token credentials, PlatformPrincipal is signing key ID and PlatformCredential is signing key.

  • For Baidu, PlatformPrincipal is API key and PlatformCredential is secret key.

  • For GCM (Firebase Cloud Messaging) using key credentials, there is no PlatformPrincipal. The PlatformCredential is API key.

  • For GCM (Firebase Cloud Messaging) using token credentials, there is no PlatformPrincipal. The PlatformCredential is a JSON formatted private key file. When using the Amazon Web Services CLI, the file must be in string format and special characters must be ignored. To format the file correctly, Amazon SNS recommends using the following command: SERVICE_JSON=`jq @json <<< cat service.json`.

  • For MPNS, PlatformPrincipal is TLS certificate and PlatformCredential is private key.

  • For WNS, PlatformPrincipal is Package Security Identifier and PlatformCredential is secret key.

You can use the returned PlatformApplicationArn as an attribute for the CreatePlatformEndpoint action.

@param request A container for the necessary parameters to execute the CreatePlatformApplication service method. @@ -259,7 +259,7 @@ FOUNDATION_EXPORT NSString *const AWSSNSSDKVersion; - (AWSTask *)createPlatformApplication:(AWSSNSCreatePlatformApplicationInput *)request; /** -

Creates a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action.

PlatformPrincipal and PlatformCredential are received from the notification service.

  • For ADM, PlatformPrincipal is client id and PlatformCredential is client secret.

  • For Baidu, PlatformPrincipal is API key and PlatformCredential is secret key.

  • For APNS and APNS_SANDBOX using certificate credentials, PlatformPrincipal is SSL certificate and PlatformCredential is private key.

  • For APNS and APNS_SANDBOX using token credentials, PlatformPrincipal is signing key ID and PlatformCredential is signing key.

  • For GCM (Firebase Cloud Messaging) using key credentials, there is no PlatformPrincipal. The PlatformCredential is API key.

  • For GCM (Firebase Cloud Messaging) using token credentials, there is no PlatformPrincipal. The PlatformCredential is a JSON formatted private key file. When using the Amazon Web Services CLI, the file must be in string format and special characters must be ignored. To format the file correctly, Amazon SNS recommends using the following command: SERVICE_JSON=`jq @json <<< cat service.json`.

  • For MPNS, PlatformPrincipal is TLS certificate and PlatformCredential is private key.

  • For WNS, PlatformPrincipal is Package Security Identifier and PlatformCredential is secret key.

You can use the returned PlatformApplicationArn as an attribute for the CreatePlatformEndpoint action.

+

Creates a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action.

PlatformPrincipal and PlatformCredential are received from the notification service.

  • For ADM, PlatformPrincipal is client id and PlatformCredential is client secret.

  • For APNS and APNS_SANDBOX using certificate credentials, PlatformPrincipal is SSL certificate and PlatformCredential is private key.

  • For APNS and APNS_SANDBOX using token credentials, PlatformPrincipal is signing key ID and PlatformCredential is signing key.

  • For Baidu, PlatformPrincipal is API key and PlatformCredential is secret key.

  • For GCM (Firebase Cloud Messaging) using key credentials, there is no PlatformPrincipal. The PlatformCredential is API key.

  • For GCM (Firebase Cloud Messaging) using token credentials, there is no PlatformPrincipal. The PlatformCredential is a JSON formatted private key file. When using the Amazon Web Services CLI, the file must be in string format and special characters must be ignored. To format the file correctly, Amazon SNS recommends using the following command: SERVICE_JSON=`jq @json <<< cat service.json`.

  • For MPNS, PlatformPrincipal is TLS certificate and PlatformCredential is private key.

  • For WNS, PlatformPrincipal is Package Security Identifier and PlatformCredential is secret key.

You can use the returned PlatformApplicationArn as an attribute for the CreatePlatformEndpoint action.

@param request A container for the necessary parameters to execute the CreatePlatformApplication service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSSNS/AWSSNSService.m b/AWSSNS/AWSSNSService.m index f548af1e6d5..c9807576803 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.36.3"; +NSString *const AWSSNSSDKVersion = @"2.36.4"; @interface AWSSNSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSNS/Info.plist b/AWSSNS/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSSNS/Info.plist +++ b/AWSSNS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSQS.podspec b/AWSSQS.podspec index 713e39059d0..9b29d27705e 100644 --- a/AWSSQS.podspec +++ b/AWSSQS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSQS' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 e60243b4ce7..5ed0dd20ad6 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.36.3"; +NSString *const AWSSQSSDKVersion = @"2.36.4"; @interface AWSSQSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSQS/Info.plist b/AWSSQS/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSSQS/Info.plist +++ b/AWSSQS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSageMakerRuntime.podspec b/AWSSageMakerRuntime.podspec index 19e6d4bea22..72b767b43ce 100644 --- a/AWSSageMakerRuntime.podspec +++ b/AWSSageMakerRuntime.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSageMakerRuntime' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 7861c28455c..6bb753645ab 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.36.3"; +NSString *const AWSSageMakerRuntimeSDKVersion = @"2.36.4"; @interface AWSSageMakerRuntimeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSSageMakerRuntime/Info.plist b/AWSSageMakerRuntime/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSSageMakerRuntime/Info.plist +++ b/AWSSageMakerRuntime/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSimpleDB.podspec b/AWSSimpleDB.podspec index b227f1f9995..17216fe8c56 100644 --- a/AWSSimpleDB.podspec +++ b/AWSSimpleDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSimpleDB' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 f277a79d4c8..dd9c25fc8f0 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.36.3"; +NSString *const AWSSimpleDBSDKVersion = @"2.36.4"; @interface AWSSimpleDBResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSimpleDB/Info.plist b/AWSSimpleDB/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSSimpleDB/Info.plist +++ b/AWSSimpleDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTextract.podspec b/AWSTextract.podspec index 86c43b51b81..a8c95deb866 100644 --- a/AWSTextract.podspec +++ b/AWSTextract.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTextract' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 6729f34f3e6..86abe8cbd06 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.36.3"; +NSString *const AWSTextractSDKVersion = @"2.36.4"; @interface AWSTextractResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTextract/Info.plist b/AWSTextract/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSTextract/Info.plist +++ b/AWSTextract/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribe.podspec b/AWSTranscribe.podspec index a2aa10026d1..e27bfcd8d76 100644 --- a/AWSTranscribe.podspec +++ b/AWSTranscribe.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribe' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' s.source_files = 'AWSTranscribe/*.{h,m}' s.resource_bundle = { 'AWSTranscribe' => ['AWSTranscribe/PrivacyInfo.xcprivacy']} end diff --git a/AWSTranscribe/AWSTranscribe.h b/AWSTranscribe/AWSTranscribe.h index 99a416fbc9a..e078ed29848 100644 --- a/AWSTranscribe/AWSTranscribe.h +++ b/AWSTranscribe/AWSTranscribe.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/AWSTranscribe/AWSTranscribeModel.h b/AWSTranscribe/AWSTranscribeModel.h index 0e7682a7b83..d199a6bf24c 100644 --- a/AWSTranscribe/AWSTranscribeModel.h +++ b/AWSTranscribe/AWSTranscribeModel.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. @@ -47,6 +47,11 @@ typedef NS_ENUM(NSInteger, AWSTranscribeCLMLanguageCode) { AWSTranscribeCLMLanguageCodeJaJP, }; +typedef NS_ENUM(NSInteger, AWSTranscribeCallAnalyticsFeature) { + AWSTranscribeCallAnalyticsFeatureUnknown, + AWSTranscribeCallAnalyticsFeatureGenerativeSummarization, +}; + typedef NS_ENUM(NSInteger, AWSTranscribeCallAnalyticsJobStatus) { AWSTranscribeCallAnalyticsJobStatusUnknown, AWSTranscribeCallAnalyticsJobStatusQueued, @@ -55,6 +60,12 @@ typedef NS_ENUM(NSInteger, AWSTranscribeCallAnalyticsJobStatus) { AWSTranscribeCallAnalyticsJobStatusCompleted, }; +typedef NS_ENUM(NSInteger, AWSTranscribeCallAnalyticsSkippedReasonCode) { + AWSTranscribeCallAnalyticsSkippedReasonCodeUnknown, + AWSTranscribeCallAnalyticsSkippedReasonCodeInsufficientConversationContent, + AWSTranscribeCallAnalyticsSkippedReasonCodeFailedSafetyGuidelines, +}; + typedef NS_ENUM(NSInteger, AWSTranscribeInputType) { AWSTranscribeInputTypeUnknown, AWSTranscribeInputTypeRealTime, @@ -309,8 +320,10 @@ typedef NS_ENUM(NSInteger, AWSTranscribeVocabularyState) { @class AWSTranscribeAbsoluteTimeRange; @class AWSTranscribeCallAnalyticsJob; +@class AWSTranscribeCallAnalyticsJobDetails; @class AWSTranscribeCallAnalyticsJobSettings; @class AWSTranscribeCallAnalyticsJobSummary; +@class AWSTranscribeCallAnalyticsSkippedFeature; @class AWSTranscribeCategoryProperties; @class AWSTranscribeChannelDefinition; @class AWSTranscribeContentRedaction; @@ -461,6 +474,11 @@ typedef NS_ENUM(NSInteger, AWSTranscribeVocabularyState) { @interface AWSTranscribeCallAnalyticsJob : AWSModel +/** +

Provides detailed information about a call analytics job, including information about skipped analytics features.

+ */ +@property (nonatomic, strong) AWSTranscribeCallAnalyticsJobDetails * _Nullable callAnalyticsJobDetails; + /**

The name of the Call Analytics job. Job names are case sensitive and must be unique within an Amazon Web Services account.

*/ @@ -538,6 +556,19 @@ typedef NS_ENUM(NSInteger, AWSTranscribeVocabularyState) { @end +/** +

Contains details about a call analytics job, including information about skipped analytics features.

+ */ +@interface AWSTranscribeCallAnalyticsJobDetails : AWSModel + + +/** +

Contains information about any skipped analytics features during the analysis of a call analytics job.

This array lists all the analytics features that were skipped, along with their corresponding reason code and message.

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

Provides additional optional settings for your request, including content redaction, automatic language identification; allows you to apply custom language models, custom vocabulary filters, and custom vocabularies.

*/ @@ -592,6 +623,11 @@ typedef NS_ENUM(NSInteger, AWSTranscribeVocabularyState) { @interface AWSTranscribeCallAnalyticsJobSummary : AWSModel +/** +

Provides detailed information about a call analytics job, including information about skipped analytics features.

+ */ +@property (nonatomic, strong) AWSTranscribeCallAnalyticsJobDetails * _Nullable callAnalyticsJobDetails; + /**

The name of the Call Analytics job. Job names are case sensitive and must be unique within an Amazon Web Services account.

*/ @@ -629,6 +665,29 @@ typedef NS_ENUM(NSInteger, AWSTranscribeVocabularyState) { @end +/** +

Represents a skipped analytics feature during the analysis of a call analytics job.

The Feature field indicates the type of analytics feature that was skipped.

The Message field contains additional information or a message explaining why the analytics feature was skipped.

The ReasonCode field provides a code indicating the reason why the analytics feature was skipped.

+ */ +@interface AWSTranscribeCallAnalyticsSkippedFeature : AWSModel + + +/** +

Indicates the type of analytics feature that was skipped during the analysis of a call analytics job.

+ */ +@property (nonatomic, assign) AWSTranscribeCallAnalyticsFeature feature; + +/** +

Contains additional information or a message explaining why a specific analytics feature was skipped during the analysis of a call analytics job.

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

Provides a code indicating the reason why a specific analytics feature was skipped during the analysis of a call analytics job.

+ */ +@property (nonatomic, assign) AWSTranscribeCallAnalyticsSkippedReasonCode reasonCode; + +@end + /**

Provides you with the properties of the Call Analytics category you specified in your request. This includes the list of rules that define the specified category.

*/ diff --git a/AWSTranscribe/AWSTranscribeModel.m b/AWSTranscribe/AWSTranscribeModel.m index 16338cabfee..ae66fd70cca 100644 --- a/AWSTranscribe/AWSTranscribeModel.m +++ b/AWSTranscribe/AWSTranscribeModel.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. @@ -43,6 +43,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"callAnalyticsJobDetails" : @"CallAnalyticsJobDetails", @"callAnalyticsJobName" : @"CallAnalyticsJobName", @"callAnalyticsJobStatus" : @"CallAnalyticsJobStatus", @"channelDefinitions" : @"ChannelDefinitions", @@ -61,6 +62,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)callAnalyticsJobDetailsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTranscribeCallAnalyticsJobDetails class]]; +} + + (NSValueTransformer *)callAnalyticsJobStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"QUEUED"] == NSOrderedSame) { @@ -711,6 +716,24 @@ + (NSValueTransformer *)transcriptJSONTransformer { @end +@implementation AWSTranscribeCallAnalyticsJobDetails + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"skipped" : @"Skipped", + }; +} + ++ (NSValueTransformer *)skippedJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSTranscribeCallAnalyticsSkippedFeature class]]; +} + +@end + @implementation AWSTranscribeCallAnalyticsJobSettings + (BOOL)supportsSecureCoding { @@ -782,6 +805,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"callAnalyticsJobDetails" : @"CallAnalyticsJobDetails", @"callAnalyticsJobName" : @"CallAnalyticsJobName", @"callAnalyticsJobStatus" : @"CallAnalyticsJobStatus", @"completionTime" : @"CompletionTime", @@ -792,6 +816,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)callAnalyticsJobDetailsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTranscribeCallAnalyticsJobDetails class]]; +} + + (NSValueTransformer *)callAnalyticsJobStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"QUEUED"] == NSOrderedSame) { @@ -1375,6 +1403,59 @@ + (NSValueTransformer *)startTimeJSONTransformer { @end +@implementation AWSTranscribeCallAnalyticsSkippedFeature + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"feature" : @"Feature", + @"message" : @"Message", + @"reasonCode" : @"ReasonCode", + }; +} + ++ (NSValueTransformer *)featureJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"GENERATIVE_SUMMARIZATION"] == NSOrderedSame) { + return @(AWSTranscribeCallAnalyticsFeatureGenerativeSummarization); + } + return @(AWSTranscribeCallAnalyticsFeatureUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSTranscribeCallAnalyticsFeatureGenerativeSummarization: + return @"GENERATIVE_SUMMARIZATION"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)reasonCodeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"INSUFFICIENT_CONVERSATION_CONTENT"] == NSOrderedSame) { + return @(AWSTranscribeCallAnalyticsSkippedReasonCodeInsufficientConversationContent); + } + if ([value caseInsensitiveCompare:@"FAILED_SAFETY_GUIDELINES"] == NSOrderedSame) { + return @(AWSTranscribeCallAnalyticsSkippedReasonCodeFailedSafetyGuidelines); + } + return @(AWSTranscribeCallAnalyticsSkippedReasonCodeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSTranscribeCallAnalyticsSkippedReasonCodeInsufficientConversationContent: + return @"INSUFFICIENT_CONVERSATION_CONTENT"; + case AWSTranscribeCallAnalyticsSkippedReasonCodeFailedSafetyGuidelines: + return @"FAILED_SAFETY_GUIDELINES"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSTranscribeCategoryProperties + (BOOL)supportsSecureCoding { diff --git a/AWSTranscribe/AWSTranscribeResources.h b/AWSTranscribe/AWSTranscribeResources.h index f3f198f5fb8..ab974ca555e 100644 --- a/AWSTranscribe/AWSTranscribeResources.h +++ b/AWSTranscribe/AWSTranscribeResources.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/AWSTranscribe/AWSTranscribeResources.m b/AWSTranscribe/AWSTranscribeResources.m index 44628540041..1a3f7801ab9 100644 --- a/AWSTranscribe/AWSTranscribeResources.m +++ b/AWSTranscribe/AWSTranscribeResources.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. @@ -63,6 +63,7 @@ - (NSString *)definitionString { \"endpointPrefix\":\"transcribe\",\ \"jsonVersion\":\"1.1\",\ \"protocol\":\"json\",\ + \"protocols\":[\"json\"],\ \"serviceFullName\":\"Amazon Transcribe Service\",\ \"serviceId\":\"Transcribe\",\ \"signatureVersion\":\"v4\",\ @@ -795,6 +796,10 @@ - (NSString *)definitionString { \"ja-JP\"\ ]\ },\ + \"CallAnalyticsFeature\":{\ + \"type\":\"string\",\ + \"enum\":[\"GENERATIVE_SUMMARIZATION\"]\ + },\ \"CallAnalyticsJob\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -806,6 +811,10 @@ - (NSString *)definitionString { \"shape\":\"CallAnalyticsJobStatus\",\ \"documentation\":\"

Provides the status of the specified Call Analytics job.

If the status is COMPLETED, the job is finished and you can find the results at the location specified in TranscriptFileUri (or RedactedTranscriptFileUri, if you requested transcript redaction). If the status is FAILED, FailureReason provides details on why your transcription job failed.

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

Provides detailed information about a call analytics job, including information about skipped analytics features.

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

The language code used to create your Call Analytics job. For a list of supported languages and their associated language codes, refer to the Supported languages table.

If you do not know the language spoken in your media file, you can omit this field and let Amazon Transcribe automatically identify the language of your media. To improve the accuracy of language identification, you can include several language codes and Amazon Transcribe chooses the closest match for your transcription.

\"\ @@ -858,6 +867,16 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Provides detailed information about a Call Analytics job.

To view the job's status, refer to CallAnalyticsJobStatus. If the status is COMPLETED, the job is finished. You can find your completed transcript at the URI specified in TranscriptFileUri. If the status is FAILED, FailureReason provides details on why your transcription job failed.

If you enabled personally identifiable information (PII) redaction, the redacted transcript appears at the location specified in RedactedTranscriptFileUri.

If you chose to redact the audio in your media file, you can find your redacted media file at the location specified in the RedactedMediaFileUri field of your response.

\"\ },\ + \"CallAnalyticsJobDetails\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Skipped\":{\ + \"shape\":\"CallAnalyticsSkippedFeatureList\",\ + \"documentation\":\"

Contains information about any skipped analytics features during the analysis of a call analytics job.

This array lists all the analytics features that were skipped, along with their corresponding reason code and message.

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

Contains details about a call analytics job, including information about skipped analytics features.

\"\ + },\ \"CallAnalyticsJobName\":{\ \"type\":\"string\",\ \"max\":200,\ @@ -939,6 +958,10 @@ - (NSString *)definitionString { \"shape\":\"CallAnalyticsJobStatus\",\ \"documentation\":\"

Provides the status of your Call Analytics job.

If the status is COMPLETED, the job is finished and you can find the results at the location specified in TranscriptFileUri (or RedactedTranscriptFileUri, if you requested transcript redaction). If the status is FAILED, FailureReason provides details on why your transcription job failed.

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

Provides detailed information about a call analytics job, including information about skipped analytics features.

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

If CallAnalyticsJobStatus is FAILED, FailureReason contains information about why the Call Analytics job failed. See also: Common Errors.

\"\ @@ -946,6 +969,35 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Provides detailed information about a specific Call Analytics job.

\"\ },\ + \"CallAnalyticsSkippedFeature\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Feature\":{\ + \"shape\":\"CallAnalyticsFeature\",\ + \"documentation\":\"

Indicates the type of analytics feature that was skipped during the analysis of a call analytics job.

\"\ + },\ + \"ReasonCode\":{\ + \"shape\":\"CallAnalyticsSkippedReasonCode\",\ + \"documentation\":\"

Provides a code indicating the reason why a specific analytics feature was skipped during the analysis of a call analytics job.

\"\ + },\ + \"Message\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Contains additional information or a message explaining why a specific analytics feature was skipped during the analysis of a call analytics job.

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

Represents a skipped analytics feature during the analysis of a call analytics job.

The Feature field indicates the type of analytics feature that was skipped.

The Message field contains additional information or a message explaining why the analytics feature was skipped.

The ReasonCode field provides a code indicating the reason why the analytics feature was skipped.

\"\ + },\ + \"CallAnalyticsSkippedFeatureList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"CallAnalyticsSkippedFeature\"}\ + },\ + \"CallAnalyticsSkippedReasonCode\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"INSUFFICIENT_CONVERSATION_CONTENT\",\ + \"FAILED_SAFETY_GUIDELINES\"\ + ]\ + },\ \"CategoryName\":{\ \"type\":\"string\",\ \"max\":200,\ @@ -2265,7 +2317,7 @@ - (NSString *)definitionString { },\ \"MaxSpeakers\":{\ \"type\":\"integer\",\ - \"max\":10,\ + \"max\":30,\ \"min\":2\ },\ \"Media\":{\ diff --git a/AWSTranscribe/AWSTranscribeService.h b/AWSTranscribe/AWSTranscribeService.h index d14ad4ccea3..96250c0ab2b 100644 --- a/AWSTranscribe/AWSTranscribeService.h +++ b/AWSTranscribe/AWSTranscribeService.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/AWSTranscribe/AWSTranscribeService.m b/AWSTranscribe/AWSTranscribeService.m index 40a756c792b..8aa8bcf16c4 100644 --- a/AWSTranscribe/AWSTranscribeService.m +++ b/AWSTranscribe/AWSTranscribeService.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. @@ -25,7 +25,7 @@ #import "AWSTranscribeResources.h" static NSString *const AWSInfoTranscribe = @"Transcribe"; -NSString *const AWSTranscribeSDKVersion = @"2.36.3"; +NSString *const AWSTranscribeSDKVersion = @"2.36.4"; @interface AWSTranscribeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribe/Info.plist b/AWSTranscribe/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSTranscribe/Info.plist +++ b/AWSTranscribe/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribeStreaming.podspec b/AWSTranscribeStreaming.podspec index d0a3e0ae90c..57c5c11af0e 100644 --- a/AWSTranscribeStreaming.podspec +++ b/AWSTranscribeStreaming.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribeStreaming' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 540af7c69cb..20d24ee1433 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.36.3"; +NSString *const AWSTranscribeStreamingSDKVersion = @"2.36.4"; @interface AWSTranscribeStreamingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribeStreaming/Info.plist b/AWSTranscribeStreaming/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSTranscribeStreaming/Info.plist +++ b/AWSTranscribeStreaming/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribeUnitTests/AWSGeneralTranscribeTests.m b/AWSTranscribeUnitTests/AWSGeneralTranscribeTests.m index f85b81f75a3..50755f8e552 100644 --- a/AWSTranscribeUnitTests/AWSGeneralTranscribeTests.m +++ b/AWSTranscribeUnitTests/AWSGeneralTranscribeTests.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/AWSTranscribeUnitTests/AWSTranscribeNSSecureCodingTests.m b/AWSTranscribeUnitTests/AWSTranscribeNSSecureCodingTests.m index 7728ac0f652..f69e4744df4 100644 --- a/AWSTranscribeUnitTests/AWSTranscribeNSSecureCodingTests.m +++ b/AWSTranscribeUnitTests/AWSTranscribeNSSecureCodingTests.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. @@ -21,8 +21,10 @@ @interface AWSTranscribeNSSecureCodingTests : AWSNSSecureCodingTest - (void) test_AWSTranscribeAbsoluteTimeRange API_AVAILABLE(ios(11)); - (void) test_AWSTranscribeCallAnalyticsJob API_AVAILABLE(ios(11)); +- (void) test_AWSTranscribeCallAnalyticsJobDetails API_AVAILABLE(ios(11)); - (void) test_AWSTranscribeCallAnalyticsJobSettings API_AVAILABLE(ios(11)); - (void) test_AWSTranscribeCallAnalyticsJobSummary API_AVAILABLE(ios(11)); +- (void) test_AWSTranscribeCallAnalyticsSkippedFeature API_AVAILABLE(ios(11)); - (void) test_AWSTranscribeCategoryProperties API_AVAILABLE(ios(11)); - (void) test_AWSTranscribeChannelDefinition API_AVAILABLE(ios(11)); - (void) test_AWSTranscribeContentRedaction API_AVAILABLE(ios(11)); @@ -151,6 +153,10 @@ - (void) test_AWSTranscribeCallAnalyticsJob { [self validateSecureCodingForClass:[AWSTranscribeCallAnalyticsJob class]]; } +- (void) test_AWSTranscribeCallAnalyticsJobDetails { + [self validateSecureCodingForClass:[AWSTranscribeCallAnalyticsJobDetails class]]; +} + - (void) test_AWSTranscribeCallAnalyticsJobSettings { [self validateSecureCodingForClass:[AWSTranscribeCallAnalyticsJobSettings class]]; } @@ -159,6 +165,10 @@ - (void) test_AWSTranscribeCallAnalyticsJobSummary { [self validateSecureCodingForClass:[AWSTranscribeCallAnalyticsJobSummary class]]; } +- (void) test_AWSTranscribeCallAnalyticsSkippedFeature { + [self validateSecureCodingForClass:[AWSTranscribeCallAnalyticsSkippedFeature class]]; +} + - (void) test_AWSTranscribeCategoryProperties { [self validateSecureCodingForClass:[AWSTranscribeCategoryProperties class]]; } diff --git a/AWSTranslate.podspec b/AWSTranslate.podspec index 9c9a5c69a94..7e3dbd534a4 100644 --- a/AWSTranslate.podspec +++ b/AWSTranslate.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranslate' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + s.dependency 'AWSCore', '2.36.4' 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 22cd37e95f6..29a2be67b1d 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.36.3"; +NSString *const AWSTranslateSDKVersion = @"2.36.4"; @interface AWSTranslateResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranslate/Info.plist b/AWSTranslate/Info.plist index bc609a41a30..35fae899278 100644 --- a/AWSTranslate/Info.plist +++ b/AWSTranslate/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.3 + 2.36.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSUserPoolsSignIn.podspec b/AWSUserPoolsSignIn.podspec index ad690b6de28..f5a070240ff 100644 --- a/AWSUserPoolsSignIn.podspec +++ b/AWSUserPoolsSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSUserPoolsSignIn' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' - s.dependency 'AWSAuthCore', '2.36.3' - s.dependency 'AWSCore', '2.36.3' + s.dependency 'AWSCognitoIdentityProvider', '2.36.4' + s.dependency 'AWSAuthCore', '2.36.4' + s.dependency 'AWSCore', '2.36.4' 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 bf55c7bc091..ad1edfd913a 100644 --- a/AWSiOSSDKv2.podspec +++ b/AWSiOSSDKv2.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSiOSSDKv2' - s.version = '2.36.3' + s.version = '2.36.4' 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.36.3' + sub.dependency 'AWSCognitoIdentityProvider', '2.36.4' end # Used by all service-api subspecs s.subspec 'AWSCore' do |sub| - sub.dependency 'AWSCore', '2.36.3' + sub.dependency 'AWSCore', '2.36.4' end # Service-api subspecs s.subspec 'AWSAPIGateway' do |sub| - sub.dependency 'AWSAPIGateway', '2.36.3' + sub.dependency 'AWSAPIGateway', '2.36.4' end s.subspec 'AutoScaling' do |sub| - sub.dependency 'AWSAutoScaling', '2.36.3' + sub.dependency 'AWSAutoScaling', '2.36.4' end s.subspec 'CloudWatch' do |sub| - sub.dependency 'AWSCloudWatch', '2.36.3' + sub.dependency 'AWSCloudWatch', '2.36.4' end s.subspec 'AWSComprehend' do |sub| - sub.dependency 'AWSComprehend', '2.36.3' + sub.dependency 'AWSComprehend', '2.36.4' end s.subspec 'AWSConnect' do |sub| - sub.dependency 'AWSConnect', '2.36.3' + sub.dependency 'AWSConnect', '2.36.4' end s.subspec 'AWSConnectParticipant' do |sub| - sub.dependency 'AWSConnectParticipant', '2.36.3' + sub.dependency 'AWSConnectParticipant', '2.36.4' end s.subspec 'DynamoDB' do |sub| - sub.dependency 'AWSDynamoDB', '2.36.3' + sub.dependency 'AWSDynamoDB', '2.36.4' end s.subspec 'EC2' do |sub| - sub.dependency 'AWSEC2', '2.36.3' + sub.dependency 'AWSEC2', '2.36.4' end s.subspec 'ElasticLoadBalancing' do |sub| - sub.dependency 'AWSElasticLoadBalancing', '2.36.3' + sub.dependency 'AWSElasticLoadBalancing', '2.36.4' end s.subspec 'AWSIoT' do |sub| - sub.dependency 'AWSIoT', '2.36.3' + sub.dependency 'AWSIoT', '2.36.4' end s.subspec 'AWSKMS' do |sub| - sub.dependency 'AWSKMS', '2.36.3' + sub.dependency 'AWSKMS', '2.36.4' end s.subspec 'Kinesis' do |sub| - sub.dependency 'AWSKinesis', '2.36.3' + sub.dependency 'AWSKinesis', '2.36.4' end # KinesisVideo not released as part of AWSiOSSDKv2 # KinesisVideoArchivedMedia not released as part of AWSiOSSDKv2 s.subspec 'KinesisVideoSignaling' do |sub| - sub.dependency 'AWSKinesisVideoSignaling', '2.36.3' + sub.dependency 'AWSKinesisVideoSignaling', '2.36.4' end s.subspec 'AWSLambda' do |sub| - sub.dependency 'AWSLambda', '2.36.3' + sub.dependency 'AWSLambda', '2.36.4' end s.subspec 'AWSLex' do |sub| - sub.dependency 'AWSLex', '2.36.3' + sub.dependency 'AWSLex', '2.36.4' end s.subspec 'AWSLogs' do |sub| - sub.dependency 'AWSLogs', '2.36.3' + sub.dependency 'AWSLogs', '2.36.4' end s.subspec 'AWSMachineLearning' do |sub| - sub.dependency 'AWSMachineLearning', '2.36.3' + sub.dependency 'AWSMachineLearning', '2.36.4' end s.subspec 'Pinpoint' do |sub| - sub.dependency 'AWSPinpoint', '2.36.3' + sub.dependency 'AWSPinpoint', '2.36.4' end s.subspec 'AWSPolly' do |sub| - sub.dependency 'AWSPolly', '2.36.3' + sub.dependency 'AWSPolly', '2.36.4' end s.subspec 'AWSRekognition' do |sub| - sub.dependency 'AWSRekognition', '2.36.3' + sub.dependency 'AWSRekognition', '2.36.4' end s.subspec 'AWSS3' do |sub| - sub.dependency 'AWSS3', '2.36.3' + sub.dependency 'AWSS3', '2.36.4' end s.subspec 'AWSSES' do |sub| - sub.dependency 'AWSSES', '2.36.3' + sub.dependency 'AWSSES', '2.36.4' end s.subspec 'AWSSNS' do |sub| - sub.dependency 'AWSSNS', '2.36.3' + sub.dependency 'AWSSNS', '2.36.4' end s.subspec 'AWSSQS' do |sub| - sub.dependency 'AWSSQS', '2.36.3' + sub.dependency 'AWSSQS', '2.36.4' end s.subspec 'AWSSageMakerRuntime' do |sub| - sub.dependency 'AWSSageMakerRuntime', '2.36.3' + sub.dependency 'AWSSageMakerRuntime', '2.36.4' end s.subspec 'AWSSimpleDB' do |sub| - sub.dependency 'AWSSimpleDB', '2.36.3' + sub.dependency 'AWSSimpleDB', '2.36.4' end s.subspec 'AWSTextract' do |sub| - sub.dependency 'AWSTextract', '2.36.3' + sub.dependency 'AWSTextract', '2.36.4' end s.subspec 'AWSTranscribe' do |sub| - sub.dependency 'AWSTranscribe', '2.36.3' + sub.dependency 'AWSTranscribe', '2.36.4' 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.36.3' + sub.dependency 'AWSTranslate', '2.36.4' end end diff --git a/CHANGELOG.md b/CHANGELOG.md index 31466721b4a..4fdfa57a49f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,26 @@ # AWS Mobile SDK for iOS CHANGELOG -## Unreleased +### Misc. Updates --Features for next release +- Model updates for the following services + - AWSRekognition + - AWSConnect + - AWSAutoScaling + - AWSEC2 + - AWSDynamoDB + - AWSPolly + - AWSCognitoIdentityProvider + - AWSKMS + - AWSSNS + - AWSLocation + - AWSFirehose + - AWSTranscribe + +- **AWSS3** + - fix(s3): cleanup file cache after mpu task is cancelled (#5128) + +- **AWSIOT** + - feat(IoT): Adding completion callbacks for registerWithShadow and unregisterFromShadow methods (#5192) ## 2.36.3 diff --git a/CircleciScripts/generate_documentation.sh b/CircleciScripts/generate_documentation.sh index 40162bd2279..677f2c4fa09 100644 --- a/CircleciScripts/generate_documentation.sh +++ b/CircleciScripts/generate_documentation.sh @@ -6,7 +6,7 @@ set -x -SDK_VERSION="2.36.3" +SDK_VERSION="2.36.4" GITHUB_DOC_ROOT=https://aws-amplify.github.io GITHUB_SOURCE_ROOT=https://github.com/aws-amplify/aws-sdk-ios