diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml new file mode 100644 index 00000000000..27ebe3b783b --- /dev/null +++ b/.github/workflows/dependency-review.yml @@ -0,0 +1,24 @@ +name: Dependency Review + +on: + pull_request: + branches: + - main + +permissions: + contents: read + +jobs: + dependency-review: + name: Dependency Review + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + with: + persist-credentials: false + + - name: Dependency Review + uses: actions/dependency-review-action@7d90b4f05fea31dde1c4a1fb3fa787e197ea93ab # v3.0.7 + with: + config-file: aws-amplify/amplify-ci-support/.github/dependency-review-config.yml@main diff --git a/.github/workflows/kick-off-release.yml b/.github/workflows/kick-off-release.yml index fa00f3068f5..0e2adef5b87 100644 --- a/.github/workflows/kick-off-release.yml +++ b/.github/workflows/kick-off-release.yml @@ -50,6 +50,8 @@ jobs: pip3 install lxml git checkout -b bump-version/$RELEASE_VERSION main python3 ./CircleciScripts/bump_sdk_version.py "$(pwd)" "$RELEASE_VERSION" + git config user.name aws-amplify-ops + git config user.email aws-amplify-ops@amazon.com git add -A git commit -am "[bump version $RELEASE_VERSION]" git push origin HEAD diff --git a/.github/workflows/notify_issue_comment.yml b/.github/workflows/notify_issue_comment.yml index 01f6f542146..b5b29909132 100644 --- a/.github/workflows/notify_issue_comment.yml +++ b/.github/workflows/notify_issue_comment.yml @@ -18,7 +18,8 @@ jobs: # The type of runner that the job will run on runs-on: ubuntu-latest - if: ${{ !github.event.issue.pull_request && !contains(fromJSON('["palpatim", "brennanMKE", "lawmicha", "harsh62", "thisisabhash", "ameter", "royjit", "atierian", "ukhan-amazon", "ruisebas", "phantumcode"]'), github.event.comment.user.login) }} + # Exclude comments in PRs and comments made from maintainers + if: ${{ !github.event.issue.pull_request && !contains(fromJSON('["MEMBER", "OWNER"]'), github.event.comment.author_association) }} # Steps represent a sequence of tasks that will be executed as part of the job steps: @@ -27,7 +28,7 @@ jobs: env: WEBHOOK_URL: ${{ secrets.SLACK_COMMENT_WEBHOOK_URL }} COMMENT: ${{toJson(github.event.comment.body)}} - USER: ${{github.event.issue.user.login}} + USER: ${{github.event.comment.user.login}} COMMENT_URL: ${{github.event.comment.html_url}} shell: bash run: echo $COMMENT | sed "s/\\\n/. /g; s/\\\r//g; s/[^a-zA-Z0-9 &().,:]//g" | xargs -I {} curl -s POST "$WEBHOOK_URL" -H "Content-Type:application/json" --data '{"comment":"{}", "commentUrl":"'$COMMENT_URL'", "user":"'$USER'"}' diff --git a/.github/workflows/notify_new_issue.yml b/.github/workflows/notify_new_issue.yml index 35292fb461c..2c32e336452 100644 --- a/.github/workflows/notify_new_issue.yml +++ b/.github/workflows/notify_new_issue.yml @@ -18,6 +18,9 @@ jobs: # The type of runner that the job will run on runs-on: ubuntu-latest + # Exclude issues opened by maintainers + if: ${{ !contains(fromJSON('["MEMBER", "OWNER"]'), github.event.issue.author_association) }} + # Steps represent a sequence of tasks that will be executed as part of the job steps: # Runs a single command using the runners shell diff --git a/.github/workflows/notify_release.yml b/.github/workflows/notify_release.yml index 25dfa1400a7..e9af0f832a1 100644 --- a/.github/workflows/notify_release.yml +++ b/.github/workflows/notify_release.yml @@ -4,9 +4,9 @@ name: Notify AWS SDK iOS Release # Controls when the workflow will run on: - # Triggers the workflow on release created (draft) or released (stable) events but only for the main branch + # Triggers the workflow on released events release: - types: [created, released] + types: [released] # Limit the GITHUB_TOKEN permissions permissions: {} @@ -25,7 +25,7 @@ jobs: env: WEBHOOK_URL: ${{ secrets.SLACK_RELEASE_WEBHOOK_URL }} VERSION: $${{github.event.release.html_url}} - REPO_URL: ${{github.event.repository.html_url}} + REPO_NAME: ${{github.event.repository.name}} ACTION_NAME: ${{github.event.action}} shell: bash - run: echo $VERSION | xargs -I {} curl -s POST "$WEBHOOK_URL" -H "Content-Type:application/json" --data '{"action":"'$ACTION_NAME'", "repo":"'$REPO_URL'", "version":"{}"}' + run: echo $VERSION | xargs -I {} curl -s POST "$WEBHOOK_URL" -H "Content-Type:application/json" --data '{"action":"'$ACTION_NAME'", "repo":"'$REPO_NAME'", "version":"{}"}' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7042cac6e1..b7e4a82a19c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -166,6 +166,8 @@ jobs: - name: Post release xcframeworks run: | + git config user.name aws-amplify-ops + git config user.email aws-amplify-ops@amazon.com PAT=$(aws secretsmanager get-secret-value \ --secret-id "${{ secrets.SPM_DEPLOY_SECRET_ARN }}" \ | jq ".SecretString | fromjson | .Credential" | tr -d '"') @@ -295,6 +297,31 @@ jobs: --head release \ --base main + update-bump-sdk-version-branch: + name: Update bump_sdk_version branch + runs-on: ubuntu-latest + needs: + - extract-release-version + - release-tag + env: + RELEASE_VERSION: ${{ needs.extract-release-version.outputs.version }} + steps: + - name: Checkout Code + uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + with: + ref: bump_sdk_version + + - name: Update version file + run: echo "${RELEASE_VERSION}" > version + + - name: Make version bump commit + run: | + git config user.name aws-amplify-ops + git config user.email aws-amplify-ops@amazon.com + git add version + git commit -m "bump version ${RELEASE_VERSION}" + git push origin HEAD:bump_sdk_version + release-doc: name: Release docs runs-on: macos-latest @@ -334,6 +361,8 @@ jobs: - name: Checkin documents working-directory: ${{ github.workspace }}/gh-pages run: | + git config user.name aws-amplify-ops + git config user.email aws-amplify-ops@amazon.com for dirPath in docs/reference/* ; do sdkName=$( basename "$dirPath" ) git add "$dirPath" && git commit -m "Update API documentation for ${sdkName} ${RELEASE_VERSION}" diff --git a/AWSAPIGateway.podspec b/AWSAPIGateway.podspec index a72a5ffeb72..45fc2b9002e 100644 --- a/AWSAPIGateway.podspec +++ b/AWSAPIGateway.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSAPIGateway' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSAPIGateway/*.{h,m}' end diff --git a/AWSAPIGateway/AWSAPIGatewayClient.m b/AWSAPIGateway/AWSAPIGatewayClient.m index 001c632435e..b6f49882130 100644 --- a/AWSAPIGateway/AWSAPIGatewayClient.m +++ b/AWSAPIGateway/AWSAPIGatewayClient.m @@ -23,7 +23,7 @@ static NSString *const AWSAPIGatewayAPIKeyHeader = @"x-api-key"; -NSString *const AWSAPIGatewaySDKVersion = @"2.33.4"; +NSString *const AWSAPIGatewaySDKVersion = @"2.33.5"; static int defaultChunkSize = 1024; diff --git a/AWSAPIGateway/Info.plist b/AWSAPIGateway/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSAPIGateway/Info.plist +++ b/AWSAPIGateway/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSAppleSignIn.podspec b/AWSAppleSignIn.podspec index b8cdb4cda52..7012573a384 100644 --- a/AWSAppleSignIn.podspec +++ b/AWSAppleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAppleSignIn' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' - s.dependency 'AWSAuthCore', '2.33.4' + s.dependency 'AWSCore', '2.33.5' + s.dependency 'AWSAuthCore', '2.33.5' s.source_files = 'AWSAuthSDK/Sources/AWSAppleSignIn/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSAppleSignIn/*.h' end diff --git a/AWSAuth.podspec b/AWSAuth.podspec index 0c60b12810b..002a140b0f8 100644 --- a/AWSAuth.podspec +++ b/AWSAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuth' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + authcore.dependency 'AWSAuthCore', '2.33.5' end s.subspec 'FacebookSignIn' do |facebook| - facebook.dependency 'AWSFacebookSignIn', '2.33.4' + facebook.dependency 'AWSFacebookSignIn', '2.33.5' end s.subspec 'GoogleSignIn' do |google| - google.dependency 'AWSGoogleSignIn', '2.33.4' + google.dependency 'AWSGoogleSignIn', '2.33.5' end s.subspec 'UserPoolsSignIn' do |up| - up.dependency 'AWSUserPoolsSignIn', '2.33.4' + up.dependency 'AWSUserPoolsSignIn', '2.33.5' end s.subspec 'UI' do |ui| - ui.dependency 'AWSAuthUI', '2.33.4' + ui.dependency 'AWSAuthUI', '2.33.5' end end diff --git a/AWSAuthCore.podspec b/AWSAuthCore.podspec index f8f28a64342..14bd3323a12 100644 --- a/AWSAuthCore.podspec +++ b/AWSAuthCore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthCore' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSAuthSDK/Sources/AWSAuthCore/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSAuthCore/*.h' end diff --git a/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist b/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist index b84e3d7fc24..432317bf4fc 100644 --- a/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist index b84e3d7fc24..432317bf4fc 100644 --- a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist index b84e3d7fc24..432317bf4fc 100644 --- a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist index b84e3d7fc24..432317bf4fc 100644 --- a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist index b84e3d7fc24..432317bf4fc 100644 --- a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist index bcfed116691..52e25774b88 100644 --- a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist index bcfed116691..52e25774b88 100644 --- a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist index b84e3d7fc24..432317bf4fc 100644 --- a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthUI.podspec b/AWSAuthUI.podspec index 1438c8c7102..c5ca857811c 100644 --- a/AWSAuthUI.podspec +++ b/AWSAuthUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthUI' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' - s.dependency 'AWSAuthCore', '2.33.4' + s.dependency 'AWSCore', '2.33.5' + s.dependency 'AWSAuthCore', '2.33.5' 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 9ae620daa5f..98ff4a0b86f 100644 --- a/AWSAutoScaling.podspec +++ b/AWSAutoScaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAutoScaling' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSAutoScaling/*.{h,m}' end diff --git a/AWSAutoScaling/AWSAutoScalingResources.m b/AWSAutoScaling/AWSAutoScalingResources.m index 737bb7bb45e..b688001fb70 100644 --- a/AWSAutoScaling/AWSAutoScalingResources.m +++ b/AWSAutoScaling/AWSAutoScalingResources.m @@ -1331,6 +1331,12 @@ - (NSString *)definitionString { },\ \"exception\":true\ },\ + \"AnyPrintableAsciiStringMaxLen4000\":{\ + \"type\":\"string\",\ + \"max\":4000,\ + \"min\":1,\ + \"pattern\":\"[\\\\u0009\\\\u000A\\\\u000D\\\\u0020-\\\\u007e]+\"\ + },\ \"AsciiStringMaxLen255\":{\ \"type\":\"string\",\ \"max\":255,\ @@ -3735,7 +3741,7 @@ - (NSString *)definitionString { \"documentation\":\"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target (an Amazon SNS topic or an Amazon SQS queue).

\"\ },\ \"NotificationMetadata\":{\ - \"shape\":\"XmlStringMaxLen1023\",\ + \"shape\":\"AnyPrintableAsciiStringMaxLen4000\",\ \"documentation\":\"

Additional information that is included any time Amazon EC2 Auto Scaling sends a message to the notification target.

\"\ },\ \"HeartbeatTimeout\":{\ @@ -3774,7 +3780,7 @@ - (NSString *)definitionString { \"documentation\":\"

The lifecycle transition. For Auto Scaling groups, there are two major lifecycle transitions.

\"\ },\ \"NotificationMetadata\":{\ - \"shape\":\"XmlStringMaxLen1023\",\ + \"shape\":\"AnyPrintableAsciiStringMaxLen4000\",\ \"documentation\":\"

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

\"\ },\ \"HeartbeatTimeout\":{\ @@ -4547,7 +4553,7 @@ - (NSString *)definitionString { \"documentation\":\"

The Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in a wait state for the lifecycle hook. You can specify either an Amazon SNS topic or an Amazon SQS queue.

If you specify an empty string, this overrides the current ARN.

This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic.

When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: \\\"Event\\\": \\\"autoscaling:TEST_NOTIFICATION\\\".

\"\ },\ \"NotificationMetadata\":{\ - \"shape\":\"XmlStringMaxLen1023\",\ + \"shape\":\"AnyPrintableAsciiStringMaxLen4000\",\ \"documentation\":\"

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

\"\ },\ \"HeartbeatTimeout\":{\ diff --git a/AWSAutoScaling/AWSAutoScalingService.m b/AWSAutoScaling/AWSAutoScalingService.m index 4838dc1db30..02e4df575fd 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.33.4"; +NSString *const AWSAutoScalingSDKVersion = @"2.33.5"; @interface AWSAutoScalingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSAutoScaling/Info.plist b/AWSAutoScaling/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSAutoScaling/Info.plist +++ b/AWSAutoScaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKIdentity.podspec b/AWSChimeSDKIdentity.podspec index d2ace62e21c..f6e0a207d2c 100644 --- a/AWSChimeSDKIdentity.podspec +++ b/AWSChimeSDKIdentity.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKIdentity' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSChimeSDKIdentity/*.{h,m}' end diff --git a/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m b/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m index 87eca4b27d6..39c8deb97f6 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.33.4"; +NSString *const AWSChimeSDKIdentitySDKVersion = @"2.33.5"; @interface AWSChimeSDKIdentityResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKIdentity/Info.plist b/AWSChimeSDKIdentity/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSChimeSDKIdentity/Info.plist +++ b/AWSChimeSDKIdentity/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKMessaging.podspec b/AWSChimeSDKMessaging.podspec index 805979e2af3..446ec00e5b1 100644 --- a/AWSChimeSDKMessaging.podspec +++ b/AWSChimeSDKMessaging.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKMessaging' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSChimeSDKMessaging/*.{h,m}' end diff --git a/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m b/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m index 45a3826f35d..798fbdd59c6 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.33.4"; +NSString *const AWSChimeSDKMessagingSDKVersion = @"2.33.5"; @interface AWSChimeSDKMessagingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKMessaging/Info.plist b/AWSChimeSDKMessaging/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSChimeSDKMessaging/Info.plist +++ b/AWSChimeSDKMessaging/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCloudWatch.podspec b/AWSCloudWatch.podspec index eb35b1c4fd6..225d91a4167 100644 --- a/AWSCloudWatch.podspec +++ b/AWSCloudWatch.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCloudWatch' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSCloudWatch/*.{h,m}' end diff --git a/AWSCloudWatch/AWSCloudWatchService.m b/AWSCloudWatch/AWSCloudWatchService.m index ab5387f2991..d0070310edb 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.33.4"; +NSString *const AWSCloudWatchSDKVersion = @"2.33.5"; @interface AWSCloudWatchResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSCloudWatch/Info.plist b/AWSCloudWatch/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSCloudWatch/Info.plist +++ b/AWSCloudWatch/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoAuth.podspec b/AWSCognitoAuth.podspec index 78e947119dd..f1c7baa92d1 100644 --- a/AWSCognitoAuth.podspec +++ b/AWSCognitoAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoAuth' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' - s.dependency 'AWSCognitoIdentityProviderASF', '2.33.4' + s.dependency 'AWSCore', '2.33.5' + s.dependency 'AWSCognitoIdentityProviderASF', '2.33.5' s.source_files = 'AWSCognitoAuth/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoAuth/*.h' diff --git a/AWSCognitoAuth/AWSCognitoAuth.m b/AWSCognitoAuth/AWSCognitoAuth.m index 6d2bbff9b19..28d5a9fb577 100644 --- a/AWSCognitoAuth/AWSCognitoAuth.m +++ b/AWSCognitoAuth/AWSCognitoAuth.m @@ -80,7 +80,7 @@ @interface AWSCognitoAuthConfiguration() @implementation AWSCognitoAuth -NSString *const AWSCognitoAuthSDKVersion = @"2.33.4"; +NSString *const AWSCognitoAuthSDKVersion = @"2.33.5"; static NSMutableDictionary *_instanceDictionary = nil; diff --git a/AWSCognitoAuth/Info.plist b/AWSCognitoAuth/Info.plist index 6428a40e3cf..7c76e13f3be 100644 --- a/AWSCognitoAuth/Info.plist +++ b/AWSCognitoAuth/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProvider.podspec b/AWSCognitoIdentityProvider.podspec index 3acac4b0eea..75310ccdb0b 100644 --- a/AWSCognitoIdentityProvider.podspec +++ b/AWSCognitoIdentityProvider.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProvider' - s.version = '2.33.4' + s.version = '2.33.5' s.summary = 'Amazon Cognito Identity Provider SDK for iOS (Beta)' s.description = 'Amazon Cognito Identity Provider enables sign up and authentication of your end users' @@ -13,8 +13,8 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true s.frameworks = 'Security', 'UIKit' - s.dependency 'AWSCore', '2.33.4' - s.dependency 'AWSCognitoIdentityProviderASF', '2.33.4' + s.dependency 'AWSCore', '2.33.5' + s.dependency 'AWSCognitoIdentityProviderASF', '2.33.5' s.source_files = 'AWSCognitoIdentityProvider/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoIdentityProvider/*.h' diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h index 57e3a420cc4..c590c618975 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h @@ -836,7 +836,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable userPoolId; /** -

The username for the user. Must be unique within the user pool. Must be a UTF-8 string between 1 and 128 characters. After the user is created, the username can't be changed.

+

The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter.

*/ @property (nonatomic, strong) NSString * _Nullable username; @@ -1985,7 +1985,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with Key Management Service and must be in the same Amazon Web Services account as your user pool.

+

The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with Key Management Service and must be in the same Amazon Web Services account as your user pool.

To send logs to log groups with a resource policy of a size greater than 5120 characters, configure a log group with a path that starts with /aws/vendedlogs. For more information, see Enabling logging from certain Amazon Web Services services.

*/ @property (nonatomic, strong) NSString * _Nullable logGroupArn; diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m index 353c901db9a..18aa0ccaf08 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m @@ -592,7 +592,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidEmailRoleAccessPolicyException\"},\ {\"shape\":\"InvalidSmsRoleTrustRelationshipException\"}\ ],\ - \"documentation\":\"

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.

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

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

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.

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user. To delete an attribute from your user, submit the attribute in your API request with a blank value.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

\"\ },\ \"AdminUserGlobalSignOut\":{\ \"name\":\"AdminUserGlobalSignOut\",\ @@ -629,7 +629,8 @@ - (NSString *)definitionString { {\"shape\":\"SoftwareTokenMFANotFoundException\"},\ {\"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 native and OIDC APIs.

\"\ + \"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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"ChangePassword\":{\ \"name\":\"ChangePassword\",\ @@ -678,7 +679,8 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"ForbiddenException\"}\ ],\ - \"documentation\":\"

Confirms tracking of the device. This API call is the call that begins device tracking.

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 native and OIDC APIs.

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

Confirms tracking of the device. This API call is the call that begins device tracking.

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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"ConfirmForgotPassword\":{\ \"name\":\"ConfirmForgotPassword\",\ @@ -1152,7 +1154,8 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"ForbiddenException\"}\ ],\ - \"documentation\":\"

Forgets the specified device.

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 native and OIDC APIs.

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

Forgets the specified device.

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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"ForgotPassword\":{\ \"name\":\"ForgotPassword\",\ @@ -1219,7 +1222,8 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"ForbiddenException\"}\ ],\ - \"documentation\":\"

Gets the device.

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 native and OIDC APIs.

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

Gets the device.

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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"GetGroup\":{\ \"name\":\"GetGroup\",\ @@ -1391,7 +1395,8 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"ForbiddenException\"}\ ],\ - \"documentation\":\"

Signs out a user from all devices. GlobalSignOut invalidates all identity, access and refresh tokens that Amazon Cognito has issued to a user. A user can still use a hosted UI cookie to retrieve new tokens for the duration of the 1-hour cookie validity period.

Your app isn't aware that a user's access token is revoked unless it attempts to authorize a user pools API request with an access token that contains the scope aws.cognito.signin.user.admin. Your app might otherwise accept access tokens until they expire.

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 native and OIDC APIs.

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

Signs out a user from all devices. GlobalSignOut invalidates all identity, access and refresh tokens that Amazon Cognito has issued to a user. A user can still use a hosted UI cookie to retrieve new tokens for the duration of the 1-hour cookie validity period.

Your app isn't aware that a user's access token is revoked unless it attempts to authorize a user pools API request with an access token that contains the scope aws.cognito.signin.user.admin. Your app might otherwise accept access tokens until they expire.

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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"InitiateAuth\":{\ \"name\":\"InitiateAuth\",\ @@ -1441,7 +1446,8 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"ForbiddenException\"}\ ],\ - \"documentation\":\"

Lists the sign-in devices that Amazon Cognito has registered to the current user.

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 native and OIDC APIs.

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

Lists the sign-in devices that Amazon Cognito has registered to the current user.

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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"ListGroups\":{\ \"name\":\"ListGroups\",\ @@ -1674,7 +1680,8 @@ - (NSString *)definitionString { {\"shape\":\"UnsupportedTokenTypeException\"},\ {\"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 native and OIDC APIs.

\"\ + \"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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"SetLogDeliveryConfiguration\":{\ \"name\":\"SetLogDeliveryConfiguration\",\ @@ -1748,7 +1755,8 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"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.

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 native and OIDC APIs.

\"\ + \"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.

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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"SetUserPoolMfaConfig\":{\ \"name\":\"SetUserPoolMfaConfig\",\ @@ -1905,7 +1913,8 @@ - (NSString *)definitionString { {\"shape\":\"UserPoolAddOnNotEnabledException\"},\ {\"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 native and OIDC APIs.

\"\ + \"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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"UpdateDeviceStatus\":{\ \"name\":\"UpdateDeviceStatus\",\ @@ -1927,7 +1936,8 @@ - (NSString *)definitionString { {\"shape\":\"InternalErrorException\"},\ {\"shape\":\"ForbiddenException\"}\ ],\ - \"documentation\":\"

Updates the device status.

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 native and OIDC APIs.

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

Updates the device status.

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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"UpdateGroup\":{\ \"name\":\"UpdateGroup\",\ @@ -2098,7 +2108,8 @@ - (NSString *)definitionString { {\"shape\":\"CodeMismatchException\"},\ {\"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 native and OIDC APIs.

\"\ + \"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 native and OIDC APIs.

\",\ + \"authtype\":\"none\"\ },\ \"VerifyUserAttribute\":{\ \"name\":\"VerifyUserAttribute\",\ @@ -2314,7 +2325,7 @@ - (NSString *)definitionString { },\ \"Username\":{\ \"shape\":\"UsernameType\",\ - \"documentation\":\"

The username for the user. Must be unique within the user pool. Must be a UTF-8 string between 1 and 128 characters. After the user is created, the username can't be changed.

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

The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter.

\"\ },\ \"UserAttributes\":{\ \"shape\":\"AttributeListType\",\ @@ -3452,7 +3463,8 @@ - (NSString *)definitionString { \"ChallengeResponsesType\":{\ \"type\":\"map\",\ \"key\":{\"shape\":\"StringType\"},\ - \"value\":{\"shape\":\"StringType\"}\ + \"value\":{\"shape\":\"StringType\"},\ + \"sensitive\":true\ },\ \"ChangePasswordRequest\":{\ \"type\":\"structure\",\ @@ -3522,7 +3534,7 @@ - (NSString *)definitionString { \"members\":{\ \"LogGroupArn\":{\ \"shape\":\"ArnType\",\ - \"documentation\":\"

The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with Key Management Service and must be in the same Amazon Web Services account as your user pool.

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

The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with Key Management Service and must be in the same Amazon Web Services account as your user pool.

To send logs to log groups with a resource policy of a size greater than 5120 characters, configure a log group with a path that starts with /aws/vendedlogs. For more information, see Enabling logging from certain Amazon Web Services services.

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

The CloudWatch logging destination of a user pool detailed activity logging configuration.

\"\ @@ -3846,7 +3858,7 @@ - (NSString *)definitionString { \"documentation\":\"

The user pool ID.

\"\ },\ \"ProviderName\":{\ - \"shape\":\"ProviderNameTypeV1\",\ + \"shape\":\"ProviderNameTypeV2\",\ \"documentation\":\"

The IdP name.

\"\ },\ \"ProviderType\":{\ @@ -6247,6 +6259,7 @@ - (NSString *)definitionString { },\ \"PaginationKey\":{\ \"type\":\"string\",\ + \"max\":131072,\ \"min\":1,\ \"pattern\":\"[\\\\S]+\"\ },\ @@ -6375,13 +6388,13 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":32,\ \"min\":1,\ - \"pattern\":\"[\\\\p{L}\\\\p{M}\\\\p{S}\\\\p{N}\\\\p{P}]+\"\ + \"pattern\":\"[\\\\p{L}\\\\p{M}\\\\p{S}\\\\p{N}\\\\p{P}\\\\p{Z}]+\"\ },\ - \"ProviderNameTypeV1\":{\ + \"ProviderNameTypeV2\":{\ \"type\":\"string\",\ \"max\":32,\ - \"min\":3,\ - \"pattern\":\"[^_][\\\\p{L}\\\\p{M}\\\\p{S}\\\\p{N}\\\\p{P}][^_]+\"\ + \"min\":1,\ + \"pattern\":\"[^_\\\\p{Z}][\\\\p{L}\\\\p{M}\\\\p{S}\\\\p{N}\\\\p{P}][^_\\\\p{Z}]+\"\ },\ \"ProviderUserIdentifierType\":{\ \"type\":\"structure\",\ @@ -6851,7 +6864,8 @@ - (NSString *)definitionString { \"SessionType\":{\ \"type\":\"string\",\ \"max\":2048,\ - \"min\":20\ + \"min\":20,\ + \"sensitive\":true\ },\ \"SetLogDeliveryConfigurationRequest\":{\ \"type\":\"structure\",\ @@ -7158,7 +7172,8 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":6,\ \"min\":6,\ - \"pattern\":\"[0-9]+\"\ + \"pattern\":\"[0-9]+\",\ + \"sensitive\":true\ },\ \"SoftwareTokenMfaConfigType\":{\ \"type\":\"structure\",\ @@ -7933,7 +7948,8 @@ - (NSString *)definitionString { \"documentation\":\"

Encoded device-fingerprint details that your app collected with the Amazon Cognito context data collection library. For more information, see Adding user device and session data to API requests.

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

Contextual data, such as the user's device fingerprint, IP address, or location, used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

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

Contextual data, such as the user's device fingerprint, IP address, or location, used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

\",\ + \"sensitive\":true\ },\ \"UserFilterType\":{\ \"type\":\"string\",\ @@ -8241,7 +8257,9 @@ - (NSString *)definitionString { },\ \"Status\":{\ \"shape\":\"StatusType\",\ - \"documentation\":\"

The user pool status in a user pool description.

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

The user pool status in a user pool description.

\",\ + \"deprecated\":true,\ + \"deprecatedMessage\":\"This property is no longer available.\"\ },\ \"LastModifiedDate\":{\ \"shape\":\"DateType\",\ @@ -8330,7 +8348,9 @@ - (NSString *)definitionString { },\ \"Status\":{\ \"shape\":\"StatusType\",\ - \"documentation\":\"

The status of a user pool.

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

The status of a user pool.

\",\ + \"deprecated\":true,\ + \"deprecatedMessage\":\"This property is no longer available.\"\ },\ \"LastModifiedDate\":{\ \"shape\":\"DateType\",\ diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h index 40d53dc4793..3c6b705e21a 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h @@ -788,7 +788,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (void)adminUpdateDeviceStatus:(AWSCognitoIdentityProviderAdminUpdateDeviceStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminUpdateDeviceStatusResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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.

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

+

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.

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user. To delete an attribute from your user, submit the attribute in your API request with a blank value.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

@param request A container for the necessary parameters to execute the AdminUpdateUserAttributes service method. @@ -800,7 +800,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; - (AWSTask *)adminUpdateUserAttributes:(AWSCognitoIdentityProviderAdminUpdateUserAttributesRequest *)request; /** -

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.

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

+

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.

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user. To delete an attribute from your user, submit the attribute in your API request with a blank value.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Amazon Cognito evaluates Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.

Learn more

@param request A container for the necessary parameters to execute the AdminUpdateUserAttributes service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m index 5f407c4f1d6..85892fd60fa 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.33.4"; +NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.33.5"; @interface AWSCognitoIdentityProviderResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSCognitoIdentityProvider/Info.plist b/AWSCognitoIdentityProvider/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSCognitoIdentityProvider/Info.plist +++ b/AWSCognitoIdentityProvider/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProviderASF.podspec b/AWSCognitoIdentityProviderASF.podspec index 51567d9d5e3..e4a2b19f6e3 100644 --- a/AWSCognitoIdentityProviderASF.podspec +++ b/AWSCognitoIdentityProviderASF.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProviderASF' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + s.dependency 'AWSCore', '2.33.5' 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 a2c2de79b02..e4fb6d14e33 100644 --- a/AWSCognitoIdentityProviderASF/Info.plist +++ b/AWSCognitoIdentityProviderASF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSComprehend.podspec b/AWSComprehend.podspec index e0bf81be7b8..6b8e5fe4336 100644 --- a/AWSComprehend.podspec +++ b/AWSComprehend.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSComprehend' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSComprehend/*.{h,m}' end diff --git a/AWSComprehend/AWSComprehendService.m b/AWSComprehend/AWSComprehendService.m index 2b4642e7932..0a43667cfa6 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.33.4"; +NSString *const AWSComprehendSDKVersion = @"2.33.5"; @interface AWSComprehendResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSComprehend/Info.plist b/AWSComprehend/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSComprehend/Info.plist +++ b/AWSComprehend/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnect.podspec b/AWSConnect.podspec index d6b5032f6b6..41b94470bfc 100644 --- a/AWSConnect.podspec +++ b/AWSConnect.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnect' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSConnect/*.{h,m}' end diff --git a/AWSConnect/AWSConnectModel.h b/AWSConnect/AWSConnectModel.h index 471bee3d1b1..9275350b39b 100644 --- a/AWSConnect/AWSConnectModel.h +++ b/AWSConnect/AWSConnectModel.h @@ -44,6 +44,7 @@ typedef NS_ENUM(NSInteger, AWSConnectErrorType) { AWSConnectErrorResourceNotReady, AWSConnectErrorServiceQuotaExceeded, AWSConnectErrorThrottling, + AWSConnectErrorTooManyRequests, AWSConnectErrorUserNotFound, }; @@ -224,6 +225,7 @@ typedef NS_ENUM(NSInteger, AWSConnectEventSourceName) { AWSConnectEventSourceNameOnZendeskTicketStatusUpdate, AWSConnectEventSourceNameOnSalesforceCaseCreate, AWSConnectEventSourceNameOnContactEvaluationSubmit, + AWSConnectEventSourceNameOnMetricDataUpdate, }; typedef NS_ENUM(NSInteger, AWSConnectGrouping) { @@ -322,6 +324,17 @@ typedef NS_ENUM(NSInteger, AWSConnectIntegrationType) { AWSConnectIntegrationTypeWisdomAssistant, AWSConnectIntegrationTypeWisdomKnowledgeBase, AWSConnectIntegrationTypeCasesDomain, + AWSConnectIntegrationTypeApplication, +}; + +typedef NS_ENUM(NSInteger, AWSConnectIntervalPeriod) { + AWSConnectIntervalPeriodUnknown, + AWSConnectIntervalPeriodFifteenMin, + AWSConnectIntervalPeriodThirtyMin, + AWSConnectIntervalPeriodHour, + AWSConnectIntervalPeriodDay, + AWSConnectIntervalPeriodWeek, + AWSConnectIntervalPeriodTotal, }; typedef NS_ENUM(NSInteger, AWSConnectLexVersion) { @@ -811,6 +824,18 @@ typedef NS_ENUM(NSInteger, AWSConnectUseCaseType) { AWSConnectUseCaseTypeConnectCampaigns, }; +typedef NS_ENUM(NSInteger, AWSConnectViewStatus) { + AWSConnectViewStatusUnknown, + AWSConnectViewStatusPublished, + AWSConnectViewStatusSaved, +}; + +typedef NS_ENUM(NSInteger, AWSConnectViewType) { + AWSConnectViewTypeUnknown, + AWSConnectViewTypeCustomerManaged, + AWSConnectViewTypeAwsManaged, +}; + typedef NS_ENUM(NSInteger, AWSConnectVocabularyLanguageCode) { AWSConnectVocabularyLanguageCodeUnknown, AWSConnectVocabularyLanguageCodeArAE, @@ -863,6 +888,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectAgentStatusReference; @class AWSConnectAgentStatusSummary; @class AWSConnectAnswerMachineDetectionConfig; +@class AWSConnectApplication; @class AWSConnectAssignContactCategoryActionDefinition; @class AWSConnectAssociateApprovedOriginRequest; @class AWSConnectAssociateBotRequest; @@ -933,6 +959,10 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectCreateUserHierarchyGroupResponse; @class AWSConnectCreateUserRequest; @class AWSConnectCreateUserResponse; +@class AWSConnectCreateViewRequest; +@class AWSConnectCreateViewResponse; +@class AWSConnectCreateViewVersionRequest; +@class AWSConnectCreateViewVersionResponse; @class AWSConnectCreateVocabularyRequest; @class AWSConnectCreateVocabularyResponse; @class AWSConnectCredentials; @@ -967,6 +997,10 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectDeleteUseCaseRequest; @class AWSConnectDeleteUserHierarchyGroupRequest; @class AWSConnectDeleteUserRequest; +@class AWSConnectDeleteViewRequest; +@class AWSConnectDeleteViewResponse; +@class AWSConnectDeleteViewVersionRequest; +@class AWSConnectDeleteViewVersionResponse; @class AWSConnectDeleteVocabularyRequest; @class AWSConnectDeleteVocabularyResponse; @class AWSConnectDescribeAgentStatusRequest; @@ -1011,6 +1045,8 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectDescribeUserHierarchyStructureResponse; @class AWSConnectDescribeUserRequest; @class AWSConnectDescribeUserResponse; +@class AWSConnectDescribeViewRequest; +@class AWSConnectDescribeViewResponse; @class AWSConnectDescribeVocabularyRequest; @class AWSConnectDescribeVocabularyResponse; @class AWSConnectDimensions; @@ -1099,6 +1135,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectInstanceStorageConfig; @class AWSConnectInstanceSummary; @class AWSConnectIntegrationAssociationSummary; +@class AWSConnectIntervalDetails; @class AWSConnectInvisibleFieldInfo; @class AWSConnectKinesisFirehoseConfig; @class AWSConnectKinesisStreamConfig; @@ -1161,6 +1198,8 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectListRulesResponse; @class AWSConnectListSecurityKeysRequest; @class AWSConnectListSecurityKeysResponse; +@class AWSConnectListSecurityProfileApplicationsRequest; +@class AWSConnectListSecurityProfileApplicationsResponse; @class AWSConnectListSecurityProfilePermissionsRequest; @class AWSConnectListSecurityProfilePermissionsResponse; @class AWSConnectListSecurityProfilesRequest; @@ -1179,9 +1218,14 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectListUserHierarchyGroupsResponse; @class AWSConnectListUsersRequest; @class AWSConnectListUsersResponse; +@class AWSConnectListViewVersionsRequest; +@class AWSConnectListViewVersionsResponse; +@class AWSConnectListViewsRequest; +@class AWSConnectListViewsResponse; @class AWSConnectMediaConcurrency; @class AWSConnectMetricDataV2; @class AWSConnectMetricFilterV2; +@class AWSConnectMetricInterval; @class AWSConnectMetricResultV2; @class AWSConnectMetricV2; @class AWSConnectMonitorContactRequest; @@ -1343,6 +1387,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectUpdateParticipantRoleConfigChannelInfo; @class AWSConnectUpdateParticipantRoleConfigRequest; @class AWSConnectUpdateParticipantRoleConfigResponse; +@class AWSConnectUpdatePhoneNumberMetadataRequest; @class AWSConnectUpdatePhoneNumberRequest; @class AWSConnectUpdatePhoneNumberResponse; @class AWSConnectUpdatePromptRequest; @@ -1372,6 +1417,10 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectUpdateUserPhoneConfigRequest; @class AWSConnectUpdateUserRoutingProfileRequest; @class AWSConnectUpdateUserSecurityProfilesRequest; +@class AWSConnectUpdateViewContentRequest; +@class AWSConnectUpdateViewContentResponse; +@class AWSConnectUpdateViewMetadataRequest; +@class AWSConnectUpdateViewMetadataResponse; @class AWSConnectUrlReference; @class AWSConnectUseCase; @class AWSConnectUser; @@ -1386,6 +1435,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectUserSearchFilter; @class AWSConnectUserSearchSummary; @class AWSConnectUserSummary; +@class AWSConnectView; +@class AWSConnectViewContent; +@class AWSConnectViewInputContent; +@class AWSConnectViewSummary; +@class AWSConnectViewVersionSummary; @class AWSConnectVocabulary; @class AWSConnectVocabularySummary; @class AWSConnectVoiceRecordingConfiguration; @@ -1643,6 +1697,24 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

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

A third party application's metadata.

+ */ +@interface AWSConnectApplication : AWSModel + + +/** +

The permissions that the agent is granted on the application. Only the ACCESS permission is supported.

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

Namespace of the application that you want to give access to.

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

This action must be set if TriggerEventSource is one of the following values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable. Contact is categorized using the rule name.

RuleName is used as ContactCategory.

*/ @@ -2120,7 +2192,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable phoneNumberId; /** -

The status of the phone number.

You will not be billed for the phone number during the 1-day period if number claiming fails.

+

The status of the phone number.

You will not be billed for the phone number during the 1-day period if number claiming fails.

*/ @property (nonatomic, strong) AWSConnectPhoneNumberStatus * _Nullable phoneNumberStatus; @@ -2254,7 +2326,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable arn; /** -

The content of the flow.

+

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

Length Constraints: Minimum length of 1. Maximum length of 256000.

*/ @property (nonatomic, strong) NSString * _Nullable content; @@ -2302,7 +2374,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable arn; /** -

The content of the flow module.

+

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

*/ @property (nonatomic, strong) NSString * _Nullable content; @@ -2490,7 +2562,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable clientToken; /** -

The content of the flow module.

+

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

*/ @property (nonatomic, strong) NSString * _Nullable content; @@ -2541,7 +2613,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { /** -

The content of the flow.

+

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

Length Constraints: Minimum length of 1. Maximum length of 256000.

*/ @property (nonatomic, strong) NSString * _Nullable content; @@ -2999,7 +3071,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable instanceId; /** -

The name of the quick connect.

+

A unique name of the quick connect.

*/ @property (nonatomic, strong) NSString * _Nullable name; @@ -3171,6 +3243,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSDictionary * _Nullable allowedAccessControlTags; +/** +

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

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

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

The description of the security profile.

*/ @@ -3511,6 +3588,103 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** + + */ +@interface AWSConnectCreateViewRequest : AWSRequest + + +/** +

A unique Id for each create view request to avoid duplicate view creation. For example, the view is idempotent ClientToken is provided.

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

View content containing all content necessary to render a view except for runtime input data.

The total uncompressed content has a maximum file size of 400kB.

+ */ +@property (nonatomic, strong) AWSConnectViewInputContent * _Nullable content; + +/** +

The description of the view.

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

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

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

The name of the view.

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

Indicates the view status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content.

+ */ +@property (nonatomic, assign) AWSConnectViewStatus status; + +/** +

The tags associated with the view resource (not specific to view version).These tags can be used to organize, track, or control access for this resource. For example, { "tags": {"key1":"value1", "key2":"value2"} }.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + +@end + +/** + + */ +@interface AWSConnectCreateViewResponse : AWSModel + + +/** +

A view resource object. Contains metadata and content necessary to render the view.

+ */ +@property (nonatomic, strong) AWSConnectView * _Nullable view; + +@end + +/** + + */ +@interface AWSConnectCreateViewVersionRequest : AWSRequest + + +/** +

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

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

The description for the version being published.

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

Indicates the checksum value of the latest published view content.

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

The identifier of the view. Both ViewArn and ViewId can be used.

+ */ +@property (nonatomic, strong) NSString * _Nullable viewId; + +@end + +/** + + */ +@interface AWSConnectCreateViewVersionResponse : AWSModel + + +/** +

All view data is contained within the View object.

+ */ +@property (nonatomic, strong) AWSConnectView * _Nullable view; + +@end + /** */ @@ -4133,6 +4307,63 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable userId; +@end + +/** + + */ +@interface AWSConnectDeleteViewRequest : AWSRequest + + +/** +

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

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

The identifier of the view. Both ViewArn and ViewId can be used.

+ */ +@property (nonatomic, strong) NSString * _Nullable viewId; + +@end + +/** + + */ +@interface AWSConnectDeleteViewResponse : AWSModel + + +@end + +/** + + */ +@interface AWSConnectDeleteViewVersionRequest : AWSRequest + + +/** +

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

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

The identifier of the view. Both ViewArn and ViewId can be used.

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

The version number of the view.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable viewVersion; + +@end + +/** + + */ +@interface AWSConnectDeleteViewVersionResponse : AWSModel + + @end /** @@ -4822,6 +5053,37 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** + + */ +@interface AWSConnectDescribeViewRequest : AWSRequest + + +/** +

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

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

The ViewId of the view. This must be an ARN for Amazon Web Services managed views.

+ */ +@property (nonatomic, strong) NSString * _Nullable viewId; + +@end + +/** + + */ +@interface AWSConnectDescribeViewResponse : AWSModel + + +/** +

All view data is contained within the View object.

+ */ +@property (nonatomic, strong) AWSConnectView * _Nullable view; + +@end + /** */ @@ -6265,7 +6527,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { /** -

The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be later than the start time timestamp. It cannot be later than the current timestamp.

The time range between the start and end time must be less than 24 hours.

+

The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be later than the start time timestamp. It cannot be later than the current timestamp.

*/ @property (nonatomic, strong) NSDate * _Nullable endTime; @@ -6279,13 +6541,18 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSArray * _Nullable groupings; +/** +

The interval period and timezone to apply to returned metrics.

  • IntervalPeriod: An aggregated grouping applied to request metrics. Valid IntervalPeriod values are: FIFTEEN_MIN | THIRTY_MIN | HOUR | DAY | WEEK | TOTAL.

    For example, if IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime differs by 1 day, then Amazon Connect returns 48 results in the response. Each result is aggregated by the THIRTY_MIN period. By default Amazon Connect aggregates results based on the TOTAL interval period.

    The following list describes restrictions on StartTime and EndTime based on which IntervalPeriod is requested.

    • FIFTEEN_MIN: The difference between StartTime and EndTime must be less than 3 days.

    • THIRTY_MIN: The difference between StartTime and EndTime must be less than 3 days.

    • HOUR: The difference between StartTime and EndTime must be less than 3 days.

    • DAY: The difference between StartTime and EndTime must be less than 35 days.

    • WEEK: The difference between StartTime and EndTime must be less than 35 days.

    • TOTAL: The difference between StartTime and EndTime must be less than 35 days.

  • TimeZone: The timezone applied to requested metrics.

+ */ +@property (nonatomic, strong) AWSConnectIntervalDetails * _Nullable interval; + /**

The maximum number of results to return per page.

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

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

AGENT_ADHERENT_TIME

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

Unit: Seconds

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

AGENT_NON_RESPONSE

Unit: Count

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

AGENT_OCCUPANCY

Unit: Percentage

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

AGENT_SCHEDULE_ADHERENCE

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

Unit: Percent

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

AGENT_SCHEDULED_TIME

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

Unit: Seconds

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

AVG_ABANDON_TIME

Unit: Seconds

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

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

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

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

AVG_CONTACT_DURATION

Unit: Seconds

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

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

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

AVG_HANDLE_TIME

Unit: Seconds

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

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

Feature is a valid filter but not a valid grouping.

AVG_HOLDS

Unit: Count

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

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

AVG_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

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

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

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

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

Feature is a valid filter but not a valid grouping.

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

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

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

CONTACTS_ABANDONED

Unit: Count

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

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

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

Feature is a valid filter but not a valid grouping.

CONTACTS_HOLD_ABANDONS

Unit: Count

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

CONTACTS_QUEUED

Unit: Count

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

CONTACTS_TRANSFERRED_OUT

Unit: Count

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

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

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

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

MAX_QUEUED_TIME

Unit: Seconds

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

SERVICE_LEVEL

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

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

+

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

ABANDONMENT_RATE

Unit: Percent

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

AGENT_ADHERENT_TIME

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

Unit: Seconds

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

AGENT_NON_RESPONSE

Unit: Count

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

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

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

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

AGENT_OCCUPANCY

Unit: Percentage

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

AGENT_SCHEDULE_ADHERENCE

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

Unit: Percent

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

AGENT_SCHEDULED_TIME

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

Unit: Seconds

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

AVG_ABANDON_TIME

Unit: Seconds

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

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

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

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

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

AVG_CONTACT_DURATION

Unit: Seconds

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

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

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

AVG_HANDLE_TIME

Unit: Seconds

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

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

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

AVG_HOLDS

Unit: Count

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

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

AVG_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

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

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

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

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile

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

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

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

CONTACTS_ABANDONED

Unit: Count

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

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

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

Feature is a valid filter but not a valid grouping.

CONTACTS_HOLD_ABANDONS

Unit: Count

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

CONTACTS_QUEUED

Unit: Count

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

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

CONTACTS_TRANSFERRED_OUT

Unit: Count

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

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

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

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

MAX_QUEUED_TIME

Unit: Seconds

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

SERVICE_LEVEL

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

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

*/ @property (nonatomic, strong) NSArray * _Nullable metrics; @@ -6300,7 +6567,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable resourceArn; /** -

The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be before the end time timestamp. The time range between the start and end time must be less than 24 hours. The start time cannot be earlier than 35 days before the time of the request. Historical metrics are available for 35 days.

+

The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be before the end time timestamp. The start and end time depends on the IntervalPeriod selected. By default the time range between start and end time is 35 days. Historical metrics are available for 3 months.

*/ @property (nonatomic, strong) NSDate * _Nullable startTime; @@ -6486,7 +6753,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable identifier; /** -

The distribution of allowing signing in to the instance and its replica(s).

+

The distribution that determines which Amazon Web Services Regions should be used to sign in agents in to both the instance and its replica(s).

*/ @property (nonatomic, strong) AWSConnectSignInConfig * _Nullable signInConfig; @@ -7193,6 +7460,24 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Information about the interval period to use for returning results.

+ */ +@interface AWSConnectIntervalDetails : AWSModel + + +/** +

IntervalPeriod: An aggregated grouping applied to request metrics. Valid IntervalPeriod values are: FIFTEEN_MIN | THIRTY_MIN | HOUR | DAY | WEEK | TOTAL.

For example, if IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime differs by 1 day, then Amazon Connect returns 48 results in the response. Each result is aggregated by the THIRTY_MIN period. By default Amazon Connect aggregates results based on the TOTAL interval period.

The following list describes restrictions on StartTime and EndTime based on what IntervalPeriod is requested.

  • FIFTEEN_MIN: The difference between StartTime and EndTime must be less than 3 days.

  • THIRTY_MIN: The difference between StartTime and EndTime must be less than 3 days.

  • HOUR: The difference between StartTime and EndTime must be less than 3 days.

  • DAY: The difference between StartTime and EndTime must be less than 35 days.

  • WEEK: The difference between StartTime and EndTime must be less than 35 days.

  • TOTAL: The difference between StartTime and EndTime must be less than 35 days.

+ */ +@property (nonatomic, assign) AWSConnectIntervalPeriod intervalPeriod; + +/** +

The timezone applied to requested metrics.

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

A field that is invisible to an agent.

*/ @@ -8072,7 +8357,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSArray * _Nullable phoneNumberCountryCodes; /** -

The type of phone number.

+

The type of phone number.

We recommend using ListPhoneNumbersV2 to return phone number types. While ListPhoneNumbers returns number types UIFN, SHARED, THIRD_PARTY_TF, and THIRD_PARTY_DID, it incorrectly lists them as TOLL_FREE or DID.

*/ @property (nonatomic, strong) NSArray * _Nullable phoneNumberTypes; @@ -8548,6 +8833,52 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** + + */ +@interface AWSConnectListSecurityProfileApplicationsRequest : AWSRequest + + +/** +

The instance identifier.

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

The maximum number of results to return per page.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

The token for the next set of results. The next set of results can be retrieved by using the token value returned in the previous response when making the next request.

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

The security profile identifier.

+ */ +@property (nonatomic, strong) NSString * _Nullable securityProfileId; + +@end + +/** + + */ +@interface AWSConnectListSecurityProfileApplicationsResponse : AWSModel + + +/** +

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

A list of the third party application's metadata.

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

The token for the next set of results. The next set of results can be retrieved by using the token value returned in the previous response when making the next request.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + /** */ @@ -8924,55 +9255,147 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end /** -

Contains information about which channels are supported, and how many contacts an agent can have on a channel simultaneously.

- Required parameters: [Channel, Concurrency] + */ -@interface AWSConnectMediaConcurrency : AWSModel +@interface AWSConnectListViewVersionsRequest : AWSRequest /** -

The channels that agents can handle in the Contact Control Panel (CCP).

+

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

*/ -@property (nonatomic, assign) AWSConnectChannel channel; +@property (nonatomic, strong) NSString * _Nullable instanceId; /** -

The number of contacts an agent can have on a channel simultaneously.

Valid Range for VOICE: Minimum value of 1. Maximum value of 1.

Valid Range for CHAT: Minimum value of 1. Maximum value of 10.

Valid Range for TASK: Minimum value of 1. Maximum value of 10.

+

The maximum number of results to return per page. The default MaxResult size is 100.

*/ -@property (nonatomic, strong) NSNumber * _Nullable concurrency; +@property (nonatomic, strong) NSNumber * _Nullable maxResults; /** -

Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.

+

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

*/ -@property (nonatomic, strong) AWSConnectCrossChannelBehavior * _Nullable crossChannelBehavior; +@property (nonatomic, strong) NSString * _Nullable nextToken; + +/** +

The identifier of the view. Both ViewArn and ViewId can be used.

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

Contains the name, thresholds, and metric filters.

+ */ -@interface AWSConnectMetricDataV2 : AWSModel +@interface AWSConnectListViewVersionsResponse : AWSModel /** -

The metric name, thresholds, and metric filters of the returned metric.

+

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

*/ -@property (nonatomic, strong) AWSConnectMetricV2 * _Nullable metric; +@property (nonatomic, strong) NSString * _Nullable nextToken; /** -

The corresponding value of the metric returned in the response.

+

A list of view version summaries.

*/ -@property (nonatomic, strong) NSNumber * _Nullable value; +@property (nonatomic, strong) NSArray * _Nullable viewVersionSummaryList; @end /** -

Contains information about the filter used when retrieving metrics. MetricFiltersV2 can be used on the following metrics: AVG_AGENT_CONNECTING_TIME, CONTACTS_CREATED, CONTACTS_HANDLED, SUM_CONTACTS_DISCONNECTED.

+ */ -@interface AWSConnectMetricFilterV2 : AWSModel +@interface AWSConnectListViewsRequest : AWSRequest /** -

The key to use for filtering data.

Valid metric filter keys: INITIATION_METHOD, DISCONNECT_REASON. These are the same values as the InitiationMethod and DisconnectReason in the contact record. For more information, see ContactTraceRecord in the Amazon Connect Administrator's Guide.

+

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

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

The maximum number of results to return per page. The default MaxResult size is 100.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

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

The type of the view.

+ */ +@property (nonatomic, assign) AWSConnectViewType types; + +@end + +/** + + */ +@interface AWSConnectListViewsResponse : AWSModel + + +/** +

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

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

A list of view summaries.

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

Contains information about which channels are supported, and how many contacts an agent can have on a channel simultaneously.

+ Required parameters: [Channel, Concurrency] + */ +@interface AWSConnectMediaConcurrency : AWSModel + + +/** +

The channels that agents can handle in the Contact Control Panel (CCP).

+ */ +@property (nonatomic, assign) AWSConnectChannel channel; + +/** +

The number of contacts an agent can have on a channel simultaneously.

Valid Range for VOICE: Minimum value of 1. Maximum value of 1.

Valid Range for CHAT: Minimum value of 1. Maximum value of 10.

Valid Range for TASK: Minimum value of 1. Maximum value of 10.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable concurrency; + +/** +

Defines the cross-channel routing behavior for each channel that is enabled for this Routing Profile. For example, this allows you to offer an agent a different contact from another channel when they are currently working with a contact from a Voice channel.

+ */ +@property (nonatomic, strong) AWSConnectCrossChannelBehavior * _Nullable crossChannelBehavior; + +@end + +/** +

Contains the name, thresholds, and metric filters.

+ */ +@interface AWSConnectMetricDataV2 : AWSModel + + +/** +

The metric name, thresholds, and metric filters of the returned metric.

+ */ +@property (nonatomic, strong) AWSConnectMetricV2 * _Nullable metric; + +/** +

The corresponding value of the metric returned in the response.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable value; + +@end + +/** +

Contains information about the filter used when retrieving metrics. MetricFiltersV2 can be used on the following metrics: AVG_AGENT_CONNECTING_TIME, CONTACTS_CREATED, CONTACTS_HANDLED, SUM_CONTACTS_DISCONNECTED.

+ */ +@interface AWSConnectMetricFilterV2 : AWSModel + + +/** +

The key to use for filtering data.

Valid metric filter keys: INITIATION_METHOD, DISCONNECT_REASON. These are the same values as the InitiationMethod and DisconnectReason in the contact record. For more information, see ContactTraceRecord in the Amazon Connect Administrator's Guide.

*/ @property (nonatomic, strong) NSString * _Nullable metricFilterKey; @@ -8981,6 +9404,34 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSArray * _Nullable metricFilterValues; +/** +

The flag to use to filter on requested metric filter values or to not filter on requested metric filter values. By default the negate is false, which indicates to filter on the requested metric filter.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable negate; + +@end + +/** +

The interval period with the start and end time for the metrics.

+ */ +@interface AWSConnectMetricInterval : AWSModel + + +/** +

The timestamp, in UNIX Epoch time format. End time is based on the interval period selected. For example, If IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime in the API request differs by 1 day, then 48 results are returned in the response. Each result is aggregated by the 30 minutes period, with each StartTime and EndTime differing by 30 minutes.

+ */ +@property (nonatomic, strong) NSDate * _Nullable endTime; + +/** +

The interval period provided in the API request.

+ */ +@property (nonatomic, assign) AWSConnectIntervalPeriod interval; + +/** +

The timestamp, in UNIX Epoch time format. Start time is based on the interval period selected.

+ */ +@property (nonatomic, strong) NSDate * _Nullable startTime; + @end /** @@ -8999,6 +9450,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSDictionary * _Nullable dimensions; +/** +

The interval period with the start and end time for the metrics.

+ */ +@property (nonatomic, strong) AWSConnectMetricInterval * _Nullable metricInterval; + @end /** @@ -9273,7 +9729,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end /** -

The status of the phone number.

  • CLAIMED means the previous ClaimedPhoneNumber or UpdatePhoneNumber operation succeeded.

  • IN_PROGRESS means a ClaimedPhoneNumber or UpdatePhoneNumber operation is still in progress and has not yet completed. You can call DescribePhoneNumber at a later time to verify if the previous operation has completed.

  • FAILED indicates that the previous ClaimedPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the failure reason. A common reason for a failure may be that the TargetArn value you are claiming or updating a phone number to has reached its limit of total claimed numbers. If you received a FAILED status from a ClaimPhoneNumber API call, you have one day to retry claiming the phone number before the number is released back to the inventory for other customers to claim.

+

The status of the phone number.

  • CLAIMED means the previous ClaimPhoneNumber or UpdatePhoneNumber operation succeeded.

  • IN_PROGRESS means a ClaimPhoneNumber, UpdatePhoneNumber, or UpdatePhoneNumberMetadata operation is still in progress and has not yet completed. You can call DescribePhoneNumber at a later time to verify if the previous operation has completed.

  • FAILED indicates that the previous ClaimPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the failure reason. A common reason for a failure may be that the TargetArn value you are claiming or updating a phone number to has reached its limit of total claimed numbers. If you received a FAILED status from a ClaimPhoneNumber API call, you have one day to retry claiming the phone number before the number is released back to the inventory for other customers to claim.

*/ @interface AWSConnectPhoneNumberStatus : AWSModel @@ -10281,17 +10737,17 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, assign) AWSConnectActionType actionType; /** -

Information about the contact category action.

+

Information about the contact category action.

Supported only for TriggerEventSource values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable | OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate

*/ @property (nonatomic, strong) AWSConnectAssignContactCategoryActionDefinition * _Nullable assignContactCategoryAction; /** -

Information about the EventBridge action.

+

Information about the EventBridge action.

Supported only for TriggerEventSource values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable | OnContactEvaluationSubmit | OnMetricDataUpdate

*/ @property (nonatomic, strong) AWSConnectEventBridgeActionDefinition * _Nullable eventBridgeAction; /** -

Information about the send notification action.

+

Information about the send notification action.

Supported only for TriggerEventSource values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable | OnContactEvaluationSubmit | OnMetricDataUpdate

*/ @property (nonatomic, strong) AWSConnectSendNotificationActionDefinition * _Nullable sendNotificationAction; @@ -10352,7 +10808,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end /** -

The name of the event source. This field is required if TriggerEventSource is one of the following values: OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate

+

The name of the event source. This field is required if TriggerEventSource is one of the following values: OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate | OnContactEvaluationSubmit | OnMetricDataUpdate.

Required parameters: [EventSourceName] */ @interface AWSConnectRuleTriggerEventSource : AWSModel @@ -10844,7 +11300,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { /** -

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

+

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

InstanceID is a required field. The "Required: No" below is incorrect.

*/ @property (nonatomic, strong) NSString * _Nullable instanceId; @@ -11152,7 +11608,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end /** -

The distribution of allowing signing in to the instance and its replica(s).

+

The distribution that determines which Amazon Web Services Regions should be used to sign in agents in to both the instance and its replica(s).

Required parameters: [Distributions] */ @interface AWSConnectSignInConfig : AWSModel @@ -11525,22 +11981,22 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable name; /** -

The identifier of the previous chat, voice, or task contact.

+

The identifier of the previous chat, voice, or task contact. Any updates to user-defined attributes to task contacts linked using the same PreviousContactID will affect every contact in the chain. There can be a maximum of 12 linked task contacts in a chain.

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

The identifier for the quick connect.

+

The identifier for the quick connect. Tasks that are created by using QuickConnectId will use the flow that is defined on agent or queue quick connect. For more information about quick connects, see Create quick connects.

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

A formatted URL that is shown to an agent in the Contact Control Panel (CCP).

+

A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Tasks can have the following reference types at the time of creation: URL | NUMBER | STRING | DATE | EMAIL. ATTACHMENT is not a supported reference type during task creation.

*/ @property (nonatomic, strong) NSDictionary * _Nullable references; /** -

The contactId that is related to this contact.

+

The contactId that is related to this contact. Linking tasks together by using RelatedContactID copies over contact attributes from the related task contact to the new task contact. All updates to user-defined attributes in the new task contact are limited to the individual contact ID, unlike what happens when tasks are linked by using PreviousContactID. There are no limits to the number of contacts that can be linked by using RelatedContactId.

*/ @property (nonatomic, strong) NSString * _Nullable relatedContactId; @@ -11550,7 +12006,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSDate * _Nullable scheduledTime; /** -

A unique identifier for the task template.

+

A unique identifier for the task template. For more information about task templates, see Create task templates in the Amazon Connect Administrator Guide.

*/ @property (nonatomic, strong) NSString * _Nullable taskTemplateId; @@ -12102,7 +12558,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable instanceArn; /** -

Whether this is the default traffic distribution group created during instance replication. The default traffic distribution group cannot be deleted by the DeleteTrafficDistributionGroup API. The default traffic distribution group is deleted as part of the process for deleting a replica.

You can change the SignInConfig only for a default TrafficDistributionGroup. If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

+

Whether this is the default traffic distribution group created during instance replication. The default traffic distribution group cannot be deleted by the DeleteTrafficDistributionGroup API. The default traffic distribution group is deleted as part of the process for deleting a replica.

The SignInConfig distribution is available only on the default TrafficDistributionGroup. If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

*/ @property (nonatomic, strong) NSNumber * _Nullable isDefault; @@ -12112,7 +12568,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable name; /** -

The status of the traffic distribution group.

+

The status of the traffic distribution group.

*/ @property (nonatomic, assign) AWSConnectTrafficDistributionGroupStatus status; @@ -12380,7 +12836,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable contactFlowId; /** -

The JSON string that represents flow's content. For an example, see Example contact flow in Amazon Connect Flow language.

+

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

Length Constraints: Minimum length of 1. Maximum length of 256000.

*/ @property (nonatomic, strong) NSString * _Nullable content; @@ -12452,7 +12908,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable contactFlowModuleId; /** -

The content of the flow module.

+

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

*/ @property (nonatomic, strong) NSString * _Nullable content; @@ -12827,6 +13283,29 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @interface AWSConnectUpdateParticipantRoleConfigResponse : AWSModel +@end + +/** + + */ +@interface AWSConnectUpdatePhoneNumberMetadataRequest : AWSRequest + + +/** +

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

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

The description of the phone number.

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

The Amazon Resource Name (ARN) or resource ID of the phone number.

+ */ +@property (nonatomic, strong) NSString * _Nullable phoneNumberId; + @end /** @@ -13261,6 +13740,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSDictionary * _Nullable allowedAccessControlTags; +/** +

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

A list of the third party application's metadata.

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

The description of the security profile.

*/ @@ -13426,7 +13910,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable identifier; /** -

The distribution of allowing signing in to the instance and its replica(s).

+

The distribution that determines which Amazon Web Services Regions should be used to sign in agents in to both the instance and its replica(s).

*/ @property (nonatomic, strong) AWSConnectSignInConfig * _Nullable signInConfig; @@ -13599,6 +14083,83 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable userId; +@end + +/** + + */ +@interface AWSConnectUpdateViewContentRequest : AWSRequest + + +/** +

View content containing all content necessary to render a view except for runtime input data and the runtime input schema, which is auto-generated by this operation.

The total uncompressed content has a maximum file size of 400kB.

+ */ +@property (nonatomic, strong) AWSConnectViewInputContent * _Nullable content; + +/** +

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

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

Indicates the view status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content.

+ */ +@property (nonatomic, assign) AWSConnectViewStatus status; + +/** +

The identifier of the view. Both ViewArn and ViewId can be used.

+ */ +@property (nonatomic, strong) NSString * _Nullable viewId; + +@end + +/** + + */ +@interface AWSConnectUpdateViewContentResponse : AWSModel + + +/** +

A view resource object. Contains metadata and content necessary to render the view.

+ */ +@property (nonatomic, strong) AWSConnectView * _Nullable view; + +@end + +/** + + */ +@interface AWSConnectUpdateViewMetadataRequest : AWSRequest + + +/** +

The description of the view.

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

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

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

The name of the view.

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

The identifier of the view. Both ViewArn and ViewId can be used.

+ */ +@property (nonatomic, strong) NSString * _Nullable viewId; + +@end + +/** + + */ +@interface AWSConnectUpdateViewMetadataResponse : AWSModel + + @end /** @@ -14025,6 +14586,201 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

A view resource object. Contains metadata and content necessary to render the view.

+ */ +@interface AWSConnectView : AWSModel + + +/** +

The Amazon Resource Name (ARN) of the view.

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

View content containing all content necessary to render a view except for runtime input data.

+ */ +@property (nonatomic, strong) AWSConnectViewContent * _Nullable content; + +/** +

The timestamp of when the view was created.

+ */ +@property (nonatomic, strong) NSDate * _Nullable createdTime; + +/** +

The description of the view.

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

The identifier of the view.

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

Latest timestamp of the UpdateViewContent or CreateViewVersion operations.

+ */ +@property (nonatomic, strong) NSDate * _Nullable lastModifiedTime; + +/** +

The name of the view.

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

Indicates the view status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content.

+ */ +@property (nonatomic, assign) AWSConnectViewStatus status; + +/** +

The tags associated with the view resource (not specific to view version).

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + +/** +

The type of the view - CUSTOMER_MANAGED.

+ */ +@property (nonatomic, assign) AWSConnectViewType types; + +/** +

Current version of the view.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable version; + +/** +

The description of the version.

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

Indicates the checksum value of the latest published view content.

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

View content containing all content necessary to render a view except for runtime input data.

+ */ +@interface AWSConnectViewContent : AWSModel + + +/** +

A list of possible actions from the view.

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

The data schema matching data that the view template must be provided to render.

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

The view template representing the structure of the view.

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

View content containing all content necessary to render a view except for runtime input data and the runtime input schema, which is auto-generated by this operation.

+ */ +@interface AWSConnectViewInputContent : AWSModel + + +/** +

A list of possible actions from the view.

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

The view template representing the structure of the view.

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

A summary of a view's metadata.

+ */ +@interface AWSConnectViewSummary : AWSModel + + +/** +

The Amazon Resource Name (ARN) of the view.

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

The description of the view.

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

The identifier of the view.

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

The name of the view.

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

Indicates the view status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content.

+ */ +@property (nonatomic, assign) AWSConnectViewStatus status; + +/** +

The type of the view.

+ */ +@property (nonatomic, assign) AWSConnectViewType types; + +@end + +/** +

A summary of a view version's metadata.

+ */ +@interface AWSConnectViewVersionSummary : AWSModel + + +/** +

The Amazon Resource Name (ARN) of the view version.

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

The description of the view version.

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

The identifier of the view version.

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

The name of the view version.

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

The type of the view version.

+ */ +@property (nonatomic, assign) AWSConnectViewType types; + +/** +

The sequentially incremented version of the view version.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable version; + +/** +

The description of the view version.

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

Contains information about a custom vocabulary.

Required parameters: [Name, Id, Arn, LanguageCode, State, LastModifiedTime] diff --git a/AWSConnect/AWSConnectModel.m b/AWSConnect/AWSConnectModel.m index 3d4a1911eb8..4ee9fe58c30 100644 --- a/AWSConnect/AWSConnectModel.m +++ b/AWSConnect/AWSConnectModel.m @@ -464,6 +464,21 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectApplication + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"applicationPermissions" : @"ApplicationPermissions", + @"namespace" : @"Namespace", + }; +} + +@end + @implementation AWSConnectAssignContactCategoryActionDefinition + (BOOL)supportsSecureCoding { @@ -4448,6 +4463,9 @@ + (NSValueTransformer *)integrationTypeJSONTransformer { if ([value caseInsensitiveCompare:@"CASES_DOMAIN"] == NSOrderedSame) { return @(AWSConnectIntegrationTypeCasesDomain); } + if ([value caseInsensitiveCompare:@"APPLICATION"] == NSOrderedSame) { + return @(AWSConnectIntegrationTypeApplication); + } return @(AWSConnectIntegrationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -4463,6 +4481,8 @@ + (NSValueTransformer *)integrationTypeJSONTransformer { return @"WISDOM_KNOWLEDGE_BASE"; case AWSConnectIntegrationTypeCasesDomain: return @"CASES_DOMAIN"; + case AWSConnectIntegrationTypeApplication: + return @"APPLICATION"; default: return nil; } @@ -4795,6 +4815,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allowedAccessControlTags" : @"AllowedAccessControlTags", + @"applications" : @"Applications", @"detail" : @"Description", @"instanceId" : @"InstanceId", @"permissions" : @"Permissions", @@ -4804,6 +4825,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)applicationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectApplication class]]; +} + @end @implementation AWSConnectCreateSecurityProfileResponse @@ -5055,6 +5080,104 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectCreateViewRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"clientToken" : @"ClientToken", + @"content" : @"Content", + @"detail" : @"Description", + @"instanceId" : @"InstanceId", + @"name" : @"Name", + @"status" : @"Status", + @"tags" : @"Tags", + }; +} + ++ (NSValueTransformer *)contentJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectViewInputContent class]]; +} + ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"PUBLISHED"] == NSOrderedSame) { + return @(AWSConnectViewStatusPublished); + } + if ([value caseInsensitiveCompare:@"SAVED"] == NSOrderedSame) { + return @(AWSConnectViewStatusSaved); + } + return @(AWSConnectViewStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectViewStatusPublished: + return @"PUBLISHED"; + case AWSConnectViewStatusSaved: + return @"SAVED"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSConnectCreateViewResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"view" : @"View", + }; +} + ++ (NSValueTransformer *)viewJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectView class]]; +} + +@end + +@implementation AWSConnectCreateViewVersionRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"versionDescription" : @"VersionDescription", + @"viewContentSha256" : @"ViewContentSha256", + @"viewId" : @"ViewId", + }; +} + +@end + +@implementation AWSConnectCreateViewVersionResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"view" : @"View", + }; +} + ++ (NSValueTransformer *)viewJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectView class]]; +} + +@end + @implementation AWSConnectCreateVocabularyRequest + (BOOL)supportsSecureCoding { @@ -6078,6 +6201,53 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectDeleteViewRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"viewId" : @"ViewId", + }; +} + +@end + +@implementation AWSConnectDeleteViewResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + +@implementation AWSConnectDeleteViewVersionRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"viewId" : @"ViewId", + @"viewVersion" : @"ViewVersion", + }; +} + +@end + +@implementation AWSConnectDeleteViewVersionResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + @implementation AWSConnectDeleteVocabularyRequest + (BOOL)supportsSecureCoding { @@ -6958,6 +7128,39 @@ + (NSValueTransformer *)userJSONTransformer { @end +@implementation AWSConnectDescribeViewRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"viewId" : @"ViewId", + }; +} + +@end + +@implementation AWSConnectDescribeViewResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"view" : @"View", + }; +} + ++ (NSValueTransformer *)viewJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectView class]]; +} + +@end + @implementation AWSConnectDescribeVocabularyRequest + (BOOL)supportsSecureCoding { @@ -8449,6 +8652,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"endTime" : @"EndTime", @"filters" : @"Filters", @"groupings" : @"Groupings", + @"interval" : @"Interval", @"maxResults" : @"MaxResults", @"metrics" : @"Metrics", @"nextToken" : @"NextToken", @@ -8469,6 +8673,10 @@ + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectFilterV2 class]]; } ++ (NSValueTransformer *)intervalJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectIntervalDetails class]]; +} + + (NSValueTransformer *)metricsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectMetricV2 class]]; } @@ -9650,6 +9858,9 @@ + (NSValueTransformer *)integrationTypeJSONTransformer { if ([value caseInsensitiveCompare:@"CASES_DOMAIN"] == NSOrderedSame) { return @(AWSConnectIntegrationTypeCasesDomain); } + if ([value caseInsensitiveCompare:@"APPLICATION"] == NSOrderedSame) { + return @(AWSConnectIntegrationTypeApplication); + } return @(AWSConnectIntegrationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -9665,6 +9876,8 @@ + (NSValueTransformer *)integrationTypeJSONTransformer { return @"WISDOM_KNOWLEDGE_BASE"; case AWSConnectIntegrationTypeCasesDomain: return @"CASES_DOMAIN"; + case AWSConnectIntegrationTypeApplication: + return @"APPLICATION"; default: return nil; } @@ -9694,6 +9907,62 @@ + (NSValueTransformer *)sourceTypeJSONTransformer { @end +@implementation AWSConnectIntervalDetails + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"intervalPeriod" : @"IntervalPeriod", + @"timeZone" : @"TimeZone", + }; +} + ++ (NSValueTransformer *)intervalPeriodJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"FIFTEEN_MIN"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodFifteenMin); + } + if ([value caseInsensitiveCompare:@"THIRTY_MIN"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodThirtyMin); + } + if ([value caseInsensitiveCompare:@"HOUR"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodHour); + } + if ([value caseInsensitiveCompare:@"DAY"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodDay); + } + if ([value caseInsensitiveCompare:@"WEEK"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodWeek); + } + if ([value caseInsensitiveCompare:@"TOTAL"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodTotal); + } + return @(AWSConnectIntervalPeriodUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectIntervalPeriodFifteenMin: + return @"FIFTEEN_MIN"; + case AWSConnectIntervalPeriodThirtyMin: + return @"THIRTY_MIN"; + case AWSConnectIntervalPeriodHour: + return @"HOUR"; + case AWSConnectIntervalPeriodDay: + return @"DAY"; + case AWSConnectIntervalPeriodWeek: + return @"WEEK"; + case AWSConnectIntervalPeriodTotal: + return @"TOTAL"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSConnectInvisibleFieldInfo + (BOOL)supportsSecureCoding { @@ -10569,6 +10838,9 @@ + (NSValueTransformer *)integrationTypeJSONTransformer { if ([value caseInsensitiveCompare:@"CASES_DOMAIN"] == NSOrderedSame) { return @(AWSConnectIntegrationTypeCasesDomain); } + if ([value caseInsensitiveCompare:@"APPLICATION"] == NSOrderedSame) { + return @(AWSConnectIntegrationTypeApplication); + } return @(AWSConnectIntegrationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -10584,6 +10856,8 @@ + (NSValueTransformer *)integrationTypeJSONTransformer { return @"WISDOM_KNOWLEDGE_BASE"; case AWSConnectIntegrationTypeCasesDomain: return @"CASES_DOMAIN"; + case AWSConnectIntegrationTypeApplication: + return @"APPLICATION"; default: return nil; } @@ -12261,6 +12535,9 @@ + (NSValueTransformer *)eventSourceNameJSONTransformer { if ([value caseInsensitiveCompare:@"OnContactEvaluationSubmit"] == NSOrderedSame) { return @(AWSConnectEventSourceNameOnContactEvaluationSubmit); } + if ([value caseInsensitiveCompare:@"OnMetricDataUpdate"] == NSOrderedSame) { + return @(AWSConnectEventSourceNameOnMetricDataUpdate); + } return @(AWSConnectEventSourceNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -12278,6 +12555,8 @@ + (NSValueTransformer *)eventSourceNameJSONTransformer { return @"OnSalesforceCaseCreate"; case AWSConnectEventSourceNameOnContactEvaluationSubmit: return @"OnContactEvaluationSubmit"; + case AWSConnectEventSourceNameOnMetricDataUpdate: + return @"OnMetricDataUpdate"; default: return nil; } @@ -12361,6 +12640,42 @@ + (NSValueTransformer *)securityKeysJSONTransformer { @end +@implementation AWSConnectListSecurityProfileApplicationsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + @"securityProfileId" : @"SecurityProfileId", + }; +} + +@end + +@implementation AWSConnectListSecurityProfileApplicationsResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"applications" : @"Applications", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)applicationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectApplication class]]; +} + +@end + @implementation AWSConnectListSecurityProfilePermissionsRequest + (BOOL)supportsSecureCoding { @@ -12690,7 +13005,7 @@ + (NSValueTransformer *)userSummaryListJSONTransformer { @end -@implementation AWSConnectMediaConcurrency +@implementation AWSConnectListViewVersionsRequest + (BOOL)supportsSecureCoding { return YES; @@ -12698,37 +13013,130 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"channel" : @"Channel", - @"concurrency" : @"Concurrency", - @"crossChannelBehavior" : @"CrossChannelBehavior", + @"instanceId" : @"InstanceId", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + @"viewId" : @"ViewId", }; } -+ (NSValueTransformer *)channelJSONTransformer { - return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { - if ([value caseInsensitiveCompare:@"VOICE"] == NSOrderedSame) { - return @(AWSConnectChannelVoice); - } - if ([value caseInsensitiveCompare:@"CHAT"] == NSOrderedSame) { - return @(AWSConnectChannelChat); - } - if ([value caseInsensitiveCompare:@"TASK"] == NSOrderedSame) { - return @(AWSConnectChannelTask); - } - return @(AWSConnectChannelUnknown); - } reverseBlock:^NSString *(NSNumber *value) { - switch ([value integerValue]) { - case AWSConnectChannelVoice: - return @"VOICE"; - case AWSConnectChannelChat: - return @"CHAT"; - case AWSConnectChannelTask: - return @"TASK"; - default: - return nil; - } - }]; -} +@end + +@implementation AWSConnectListViewVersionsResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"nextToken" : @"NextToken", + @"viewVersionSummaryList" : @"ViewVersionSummaryList", + }; +} + ++ (NSValueTransformer *)viewVersionSummaryListJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectViewVersionSummary class]]; +} + +@end + +@implementation AWSConnectListViewsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + @"types" : @"Type", + }; +} + ++ (NSValueTransformer *)typesJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CUSTOMER_MANAGED"] == NSOrderedSame) { + return @(AWSConnectViewTypeCustomerManaged); + } + if ([value caseInsensitiveCompare:@"AWS_MANAGED"] == NSOrderedSame) { + return @(AWSConnectViewTypeAwsManaged); + } + return @(AWSConnectViewTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectViewTypeCustomerManaged: + return @"CUSTOMER_MANAGED"; + case AWSConnectViewTypeAwsManaged: + return @"AWS_MANAGED"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSConnectListViewsResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"nextToken" : @"NextToken", + @"viewsSummaryList" : @"ViewsSummaryList", + }; +} + ++ (NSValueTransformer *)viewsSummaryListJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectViewSummary class]]; +} + +@end + +@implementation AWSConnectMediaConcurrency + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"channel" : @"Channel", + @"concurrency" : @"Concurrency", + @"crossChannelBehavior" : @"CrossChannelBehavior", + }; +} + ++ (NSValueTransformer *)channelJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"VOICE"] == NSOrderedSame) { + return @(AWSConnectChannelVoice); + } + if ([value caseInsensitiveCompare:@"CHAT"] == NSOrderedSame) { + return @(AWSConnectChannelChat); + } + if ([value caseInsensitiveCompare:@"TASK"] == NSOrderedSame) { + return @(AWSConnectChannelTask); + } + return @(AWSConnectChannelUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectChannelVoice: + return @"VOICE"; + case AWSConnectChannelChat: + return @"CHAT"; + case AWSConnectChannelTask: + return @"TASK"; + default: + return nil; + } + }]; +} + (NSValueTransformer *)crossChannelBehaviorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectCrossChannelBehavior class]]; @@ -12765,9 +13173,83 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"metricFilterKey" : @"MetricFilterKey", @"metricFilterValues" : @"MetricFilterValues", + @"negate" : @"Negate", + }; +} + +@end + +@implementation AWSConnectMetricInterval + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"endTime" : @"EndTime", + @"interval" : @"Interval", + @"startTime" : @"StartTime", }; } ++ (NSValueTransformer *)endTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)intervalJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"FIFTEEN_MIN"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodFifteenMin); + } + if ([value caseInsensitiveCompare:@"THIRTY_MIN"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodThirtyMin); + } + if ([value caseInsensitiveCompare:@"HOUR"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodHour); + } + if ([value caseInsensitiveCompare:@"DAY"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodDay); + } + if ([value caseInsensitiveCompare:@"WEEK"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodWeek); + } + if ([value caseInsensitiveCompare:@"TOTAL"] == NSOrderedSame) { + return @(AWSConnectIntervalPeriodTotal); + } + return @(AWSConnectIntervalPeriodUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectIntervalPeriodFifteenMin: + return @"FIFTEEN_MIN"; + case AWSConnectIntervalPeriodThirtyMin: + return @"THIRTY_MIN"; + case AWSConnectIntervalPeriodHour: + return @"HOUR"; + case AWSConnectIntervalPeriodDay: + return @"DAY"; + case AWSConnectIntervalPeriodWeek: + return @"WEEK"; + case AWSConnectIntervalPeriodTotal: + return @"TOTAL"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)startTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + @end @implementation AWSConnectMetricResultV2 @@ -12780,6 +13262,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"collections" : @"Collections", @"dimensions" : @"Dimensions", + @"metricInterval" : @"MetricInterval", }; } @@ -12787,6 +13270,10 @@ + (NSValueTransformer *)collectionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectMetricDataV2 class]]; } ++ (NSValueTransformer *)metricIntervalJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectMetricInterval class]]; +} + @end @implementation AWSConnectMetricV2 @@ -15658,6 +16145,9 @@ + (NSValueTransformer *)eventSourceNameJSONTransformer { if ([value caseInsensitiveCompare:@"OnContactEvaluationSubmit"] == NSOrderedSame) { return @(AWSConnectEventSourceNameOnContactEvaluationSubmit); } + if ([value caseInsensitiveCompare:@"OnMetricDataUpdate"] == NSOrderedSame) { + return @(AWSConnectEventSourceNameOnMetricDataUpdate); + } return @(AWSConnectEventSourceNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -15675,6 +16165,8 @@ + (NSValueTransformer *)eventSourceNameJSONTransformer { return @"OnSalesforceCaseCreate"; case AWSConnectEventSourceNameOnContactEvaluationSubmit: return @"OnContactEvaluationSubmit"; + case AWSConnectEventSourceNameOnMetricDataUpdate: + return @"OnMetricDataUpdate"; default: return nil; } @@ -15748,6 +16240,9 @@ + (NSValueTransformer *)eventSourceNameJSONTransformer { if ([value caseInsensitiveCompare:@"OnContactEvaluationSubmit"] == NSOrderedSame) { return @(AWSConnectEventSourceNameOnContactEvaluationSubmit); } + if ([value caseInsensitiveCompare:@"OnMetricDataUpdate"] == NSOrderedSame) { + return @(AWSConnectEventSourceNameOnMetricDataUpdate); + } return @(AWSConnectEventSourceNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -15765,6 +16260,8 @@ + (NSValueTransformer *)eventSourceNameJSONTransformer { return @"OnSalesforceCaseCreate"; case AWSConnectEventSourceNameOnContactEvaluationSubmit: return @"OnContactEvaluationSubmit"; + case AWSConnectEventSourceNameOnMetricDataUpdate: + return @"OnMetricDataUpdate"; default: return nil; } @@ -19577,6 +20074,22 @@ + (BOOL)supportsSecureCoding { @end +@implementation AWSConnectUpdatePhoneNumberMetadataRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"clientToken" : @"ClientToken", + @"phoneNumberDescription" : @"PhoneNumberDescription", + @"phoneNumberId" : @"PhoneNumberId", + }; +} + +@end + @implementation AWSConnectUpdatePhoneNumberRequest + (BOOL)supportsSecureCoding { @@ -19947,6 +20460,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allowedAccessControlTags" : @"AllowedAccessControlTags", + @"applications" : @"Applications", @"detail" : @"Description", @"instanceId" : @"InstanceId", @"permissions" : @"Permissions", @@ -19955,6 +20469,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)applicationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectApplication class]]; +} + @end @implementation AWSConnectUpdateTaskTemplateRequest @@ -20246,6 +20764,91 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectUpdateViewContentRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"content" : @"Content", + @"instanceId" : @"InstanceId", + @"status" : @"Status", + @"viewId" : @"ViewId", + }; +} + ++ (NSValueTransformer *)contentJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectViewInputContent class]]; +} + ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"PUBLISHED"] == NSOrderedSame) { + return @(AWSConnectViewStatusPublished); + } + if ([value caseInsensitiveCompare:@"SAVED"] == NSOrderedSame) { + return @(AWSConnectViewStatusSaved); + } + return @(AWSConnectViewStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectViewStatusPublished: + return @"PUBLISHED"; + case AWSConnectViewStatusSaved: + return @"SAVED"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSConnectUpdateViewContentResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"view" : @"View", + }; +} + ++ (NSValueTransformer *)viewJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectView class]]; +} + +@end + +@implementation AWSConnectUpdateViewMetadataRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"detail" : @"Description", + @"instanceId" : @"InstanceId", + @"name" : @"Name", + @"viewId" : @"ViewId", + }; +} + +@end + +@implementation AWSConnectUpdateViewMetadataResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + @implementation AWSConnectUrlReference + (BOOL)supportsSecureCoding { @@ -20592,6 +21195,227 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectView + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"arn" : @"Arn", + @"content" : @"Content", + @"createdTime" : @"CreatedTime", + @"detail" : @"Description", + @"identifier" : @"Id", + @"lastModifiedTime" : @"LastModifiedTime", + @"name" : @"Name", + @"status" : @"Status", + @"tags" : @"Tags", + @"types" : @"Type", + @"version" : @"Version", + @"versionDescription" : @"VersionDescription", + @"viewContentSha256" : @"ViewContentSha256", + }; +} + ++ (NSValueTransformer *)contentJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectViewContent class]]; +} + ++ (NSValueTransformer *)createdTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)lastModifiedTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"PUBLISHED"] == NSOrderedSame) { + return @(AWSConnectViewStatusPublished); + } + if ([value caseInsensitiveCompare:@"SAVED"] == NSOrderedSame) { + return @(AWSConnectViewStatusSaved); + } + return @(AWSConnectViewStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectViewStatusPublished: + return @"PUBLISHED"; + case AWSConnectViewStatusSaved: + return @"SAVED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)typesJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CUSTOMER_MANAGED"] == NSOrderedSame) { + return @(AWSConnectViewTypeCustomerManaged); + } + if ([value caseInsensitiveCompare:@"AWS_MANAGED"] == NSOrderedSame) { + return @(AWSConnectViewTypeAwsManaged); + } + return @(AWSConnectViewTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectViewTypeCustomerManaged: + return @"CUSTOMER_MANAGED"; + case AWSConnectViewTypeAwsManaged: + return @"AWS_MANAGED"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSConnectViewContent + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"actions" : @"Actions", + @"inputSchema" : @"InputSchema", + @"template" : @"Template", + }; +} + +@end + +@implementation AWSConnectViewInputContent + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"actions" : @"Actions", + @"template" : @"Template", + }; +} + +@end + +@implementation AWSConnectViewSummary + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"arn" : @"Arn", + @"detail" : @"Description", + @"identifier" : @"Id", + @"name" : @"Name", + @"status" : @"Status", + @"types" : @"Type", + }; +} + ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"PUBLISHED"] == NSOrderedSame) { + return @(AWSConnectViewStatusPublished); + } + if ([value caseInsensitiveCompare:@"SAVED"] == NSOrderedSame) { + return @(AWSConnectViewStatusSaved); + } + return @(AWSConnectViewStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectViewStatusPublished: + return @"PUBLISHED"; + case AWSConnectViewStatusSaved: + return @"SAVED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)typesJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CUSTOMER_MANAGED"] == NSOrderedSame) { + return @(AWSConnectViewTypeCustomerManaged); + } + if ([value caseInsensitiveCompare:@"AWS_MANAGED"] == NSOrderedSame) { + return @(AWSConnectViewTypeAwsManaged); + } + return @(AWSConnectViewTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectViewTypeCustomerManaged: + return @"CUSTOMER_MANAGED"; + case AWSConnectViewTypeAwsManaged: + return @"AWS_MANAGED"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSConnectViewVersionSummary + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"arn" : @"Arn", + @"detail" : @"Description", + @"identifier" : @"Id", + @"name" : @"Name", + @"types" : @"Type", + @"version" : @"Version", + @"versionDescription" : @"VersionDescription", + }; +} + ++ (NSValueTransformer *)typesJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CUSTOMER_MANAGED"] == NSOrderedSame) { + return @(AWSConnectViewTypeCustomerManaged); + } + if ([value caseInsensitiveCompare:@"AWS_MANAGED"] == NSOrderedSame) { + return @(AWSConnectViewTypeAwsManaged); + } + return @(AWSConnectViewTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectViewTypeCustomerManaged: + return @"CUSTOMER_MANAGED"; + case AWSConnectViewTypeAwsManaged: + return @"AWS_MANAGED"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSConnectVocabulary + (BOOL)supportsSecureCoding { diff --git a/AWSConnect/AWSConnectResources.m b/AWSConnect/AWSConnectResources.m index e323393b9aa..ae59675b08c 100644 --- a/AWSConnect/AWSConnectResources.m +++ b/AWSConnect/AWSConnectResources.m @@ -485,7 +485,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

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

Creates a new queue for the specified Amazon Connect instance.

If the number being used in the input is claimed to a traffic distribution group, and you are calling this API using an instance in the Amazon Web Services Region where the traffic distribution group was created, you can use either a full phone number ARN or UUID value for the OutboundCallerIdNumberId value of the OutboundCallerConfig request body parameter. However, if the number is claimed to a traffic distribution group and you are calling this API using an instance in the alternate Amazon Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

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

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

Creates a new queue for the specified Amazon Connect instance.

  • If the phone number is claimed to a traffic distribution group that was created in the same Region as the Amazon Connect instance where you are calling this API, then you can use a full phone number ARN or a UUID for OutboundCallerIdNumberId. However, if the phone number is claimed to a traffic distribution group that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that is associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

  • Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

  • If you plan to use IAM policies to allow/deny access to this API for phone number resources claimed to a traffic distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region.

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

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

Creates a security profile.

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

Creates a security profile.

\"\ },\ \"CreateTaskTemplate\":{\ \"name\":\"CreateTaskTemplate\",\ @@ -599,7 +599,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceConflictException\"},\ {\"shape\":\"ResourceNotReadyException\"}\ ],\ - \"documentation\":\"

Creates a traffic distribution group given an Amazon Connect instance that has been replicated.

For more information about creating traffic distribution groups, see Set up traffic distribution groups in the Amazon Connect Administrator Guide.

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

Creates a traffic distribution group given an Amazon Connect instance that has been replicated.

The SignInConfig distribution is available only on a default TrafficDistributionGroup (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about creating traffic distribution groups, see Set up traffic distribution groups in the Amazon Connect Administrator Guide.

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

Creates a user account for the specified Amazon Connect instance.

For information about how to create user accounts using the Amazon Connect console, see Add Users in the Amazon Connect Administrator Guide.

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

Creates a user account for the specified Amazon Connect instance.

Certain UserIdentityInfo parameters are required in some situations. For example, Email is required if you are using SAML for identity management. FirstName and LastName are required if you are using Amazon Connect or SAML for identity management.

For information about how to create user accounts using the Amazon Connect console, see Add Users in the Amazon Connect Administrator Guide.

\"\ },\ \"CreateUserHierarchyGroup\":{\ \"name\":\"CreateUserHierarchyGroup\",\ @@ -656,6 +656,49 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Creates a new user hierarchy group.

\"\ },\ + \"CreateView\":{\ + \"name\":\"CreateView\",\ + \"http\":{\ + \"method\":\"PUT\",\ + \"requestUri\":\"/views/{InstanceId}\"\ + },\ + \"input\":{\"shape\":\"CreateViewRequest\"},\ + \"output\":{\"shape\":\"CreateViewResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"DuplicateResourceException\"},\ + {\"shape\":\"ServiceQuotaExceededException\"},\ + {\"shape\":\"TooManyRequestsException\"},\ + {\"shape\":\"ResourceInUseException\"}\ + ],\ + \"documentation\":\"

Creates a new view with the possible status of SAVED or PUBLISHED.

The views will have a unique name for each connect instance.

It performs basic content validation if the status is SAVED or full content validation if the status is set to PUBLISHED. An error is returned if validation fails. It associates either the $SAVED qualifier or both of the $SAVED and $LATEST qualifiers with the provided view content based on the status. The view is idempotent if ClientToken is provided.

\",\ + \"idempotent\":true\ + },\ + \"CreateViewVersion\":{\ + \"name\":\"CreateViewVersion\",\ + \"http\":{\ + \"method\":\"PUT\",\ + \"requestUri\":\"/views/{InstanceId}/{ViewId}/versions\"\ + },\ + \"input\":{\"shape\":\"CreateViewVersionRequest\"},\ + \"output\":{\"shape\":\"CreateViewVersionResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"TooManyRequestsException\"},\ + {\"shape\":\"ServiceQuotaExceededException\"},\ + {\"shape\":\"ResourceInUseException\"}\ + ],\ + \"documentation\":\"

Publishes a new version of the view identifier.

Versions are immutable and monotonically increasing.

It returns the highest version if there is no change in content compared to that version. An error is displayed if the supplied ViewContentSha256 is different from the ViewContentSha256 of the $LATEST alias.

\",\ + \"idempotent\":true\ + },\ \"CreateVocabulary\":{\ \"name\":\"CreateVocabulary\",\ \"http\":{\ @@ -905,7 +948,7 @@ - (NSString *)definitionString { {\"shape\":\"AccessDeniedException\"},\ {\"shape\":\"ResourceInUseException\"}\ ],\ - \"documentation\":\"

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

Deletes a security profile.

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

Deletes a security profile.

\"\ },\ \"DeleteTaskTemplate\":{\ \"name\":\"DeleteTaskTemplate\",\ @@ -989,6 +1032,44 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Deletes an existing user hierarchy group. It must not be associated with any agents or have any active child groups.

\"\ },\ + \"DeleteView\":{\ + \"name\":\"DeleteView\",\ + \"http\":{\ + \"method\":\"DELETE\",\ + \"requestUri\":\"/views/{InstanceId}/{ViewId}\"\ + },\ + \"input\":{\"shape\":\"DeleteViewRequest\"},\ + \"output\":{\"shape\":\"DeleteViewResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"TooManyRequestsException\"},\ + {\"shape\":\"ResourceInUseException\"}\ + ],\ + \"documentation\":\"

Deletes the view entirely. It deletes the view and all associated qualifiers (versions and aliases).

\"\ + },\ + \"DeleteViewVersion\":{\ + \"name\":\"DeleteViewVersion\",\ + \"http\":{\ + \"method\":\"DELETE\",\ + \"requestUri\":\"/views/{InstanceId}/{ViewId}/versions/{ViewVersion}\"\ + },\ + \"input\":{\"shape\":\"DeleteViewVersionRequest\"},\ + \"output\":{\"shape\":\"DeleteViewVersionResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"TooManyRequestsException\"},\ + {\"shape\":\"ResourceInUseException\"}\ + ],\ + \"documentation\":\"

Deletes the particular version specified in ViewVersion identifier.

\"\ + },\ \"DeleteVocabulary\":{\ \"name\":\"DeleteVocabulary\",\ \"http\":{\ @@ -1292,7 +1373,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

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

Gets basic information about the security profle.

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

Gets basic information about the security profle.

\"\ },\ \"DescribeTrafficDistributionGroup\":{\ \"name\":\"DescribeTrafficDistributionGroup\",\ @@ -1362,6 +1443,24 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Describes the hierarchy structure of the specified Amazon Connect instance.

\"\ },\ + \"DescribeView\":{\ + \"name\":\"DescribeView\",\ + \"http\":{\ + \"method\":\"GET\",\ + \"requestUri\":\"/views/{InstanceId}/{ViewId}\"\ + },\ + \"input\":{\"shape\":\"DescribeViewRequest\"},\ + \"output\":{\"shape\":\"DescribeViewResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"TooManyRequestsException\"}\ + ],\ + \"documentation\":\"

Retrieves the view for the specified Amazon Connect instance and view identifier.

The view identifier can be supplied as a ViewId or ARN.

$SAVED needs to be supplied if a view is unpublished.

The view identifier can contain an optional qualifier, for example, <view-id>:$SAVED, which is either an actual version number or an Amazon Connect managed qualifier $SAVED | $LATEST. If it is not supplied, then $LATEST is assumed for customer managed views and an error is returned if there is no published content available. Version 1 is assumed for Amazon Web Services managed views.

\"\ + },\ \"DescribeVocabulary\":{\ \"name\":\"DescribeVocabulary\",\ \"http\":{\ @@ -1624,7 +1723,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalServiceException\"},\ {\"shape\":\"DuplicateResourceException\"}\ ],\ - \"documentation\":\"

Retrieves a token for federation.

This API doesn't support root users. If you try to invoke GetFederationToken with root credentials, an error message similar to the following one appears:

Provided identity: Principal: .... User: .... cannot be used for federation with Amazon Connect

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

Supports SAML sign-in for Amazon Connect. Retrieves a token for federation. The token is for the Amazon Connect user which corresponds to the IAM credentials that were used to invoke this action.

For more information about how SAML sign-in works in Amazon Connect, see Configure SAML with IAM for Amazon Connect in the Amazon Connect Administrator Guide.

This API doesn't support root users. If you try to invoke GetFederationToken with root credentials, an error message similar to the following one appears:

Provided identity: Principal: .... User: .... cannot be used for federation with Amazon Connect

\"\ },\ \"GetMetricData\":{\ \"name\":\"GetMetricData\",\ @@ -1641,7 +1740,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ResourceNotFoundException\"}\ ],\ - \"documentation\":\"

Gets historical metric data from the specified Amazon Connect instance.

For a description of each historical metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide.

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

Gets historical metric data from the specified Amazon Connect instance.

For a description of each historical metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide.

We recommend using the GetMetricDataV2 API. It provides more flexibility, features, and the ability to query longer time ranges than GetMetricData. Use it to retrieve historical agent and contact metrics for the last 3 months, at varying intervals. You can also use it to build custom dashboards to measure historical queue and agent performance. For example, you can track the number of incoming contacts for the last 7 days, with data split by day, to see how contact volume changed per day of the week.

\"\ },\ \"GetMetricDataV2\":{\ \"name\":\"GetMetricDataV2\",\ @@ -1658,7 +1757,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ResourceNotFoundException\"}\ ],\ - \"documentation\":\"

Gets metric data from the specified Amazon Connect instance.

GetMetricDataV2 offers more features than GetMetricData, the previous version of this API. It has new metrics, offers filtering at a metric level, and offers the ability to filter and group data by channels, queues, routing profiles, agents, and agent hierarchy levels. It can retrieve historical data for the last 35 days, in 24-hour intervals.

For a description of the historical metrics that are supported by GetMetricDataV2 and GetMetricData, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

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

Gets metric data from the specified Amazon Connect instance.

GetMetricDataV2 offers more features than GetMetricData, the previous version of this API. It has new metrics, offers filtering at a metric level, and offers the ability to filter and group data by channels, queues, routing profiles, agents, and agent hierarchy levels. It can retrieve historical data for the last 3 months, at varying intervals.

For a description of the historical metrics that are supported by GetMetricDataV2 and GetMetricData, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

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

Provides information about the phone numbers for the specified Amazon Connect instance.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

The phone number Arn value that is returned from each of the items in the PhoneNumberSummaryList cannot be used to tag phone number resources. It will fail with a ResourceNotFoundException. Instead, use the ListPhoneNumbersV2 API. It returns the new phone number ARN that can be used to tag phone number resources.

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

Provides information about the phone numbers for the specified Amazon Connect instance.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

  • We recommend using ListPhoneNumbersV2 to return phone number types. ListPhoneNumbers doesn't support number types UIFN, SHARED, THIRD_PARTY_TF, and THIRD_PARTY_DID. While it returns numbers of those types, it incorrectly lists them as TOLL_FREE or DID.

  • The phone number Arn value that is returned from each of the items in the PhoneNumberSummaryList cannot be used to tag phone number resources. It will fail with a ResourceNotFoundException. Instead, use the ListPhoneNumbersV2 API. It returns the new phone number ARN that can be used to tag phone number resources.

\"\ },\ \"ListPhoneNumbersV2\":{\ \"name\":\"ListPhoneNumbersV2\",\ @@ -2162,6 +2261,23 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

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

Returns a paginated list of all security keys associated with the instance.

\"\ },\ + \"ListSecurityProfileApplications\":{\ + \"name\":\"ListSecurityProfileApplications\",\ + \"http\":{\ + \"method\":\"GET\",\ + \"requestUri\":\"/security-profiles-applications/{InstanceId}/{SecurityProfileId}\"\ + },\ + \"input\":{\"shape\":\"ListSecurityProfileApplicationsRequest\"},\ + \"output\":{\"shape\":\"ListSecurityProfileApplicationsResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"InternalServiceException\"}\ + ],\ + \"documentation\":\"

Returns a list of third party applications in a specific security profile.

\"\ + },\ \"ListSecurityProfilePermissions\":{\ \"name\":\"ListSecurityProfilePermissions\",\ \"http\":{\ @@ -2177,7 +2293,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

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

Lists the permissions granted to a security profile.

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

Lists the permissions granted to a security profile.

\"\ },\ \"ListSecurityProfiles\":{\ \"name\":\"ListSecurityProfiles\",\ @@ -2313,6 +2429,42 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Provides summary information about the users for the specified Amazon Connect instance.

\"\ },\ + \"ListViewVersions\":{\ + \"name\":\"ListViewVersions\",\ + \"http\":{\ + \"method\":\"GET\",\ + \"requestUri\":\"/views/{InstanceId}/{ViewId}/versions\"\ + },\ + \"input\":{\"shape\":\"ListViewVersionsRequest\"},\ + \"output\":{\"shape\":\"ListViewVersionsResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"TooManyRequestsException\"}\ + ],\ + \"documentation\":\"

Returns all the available versions for the specified Amazon Connect instance and view identifier.

Results will be sorted from highest to lowest.

\"\ + },\ + \"ListViews\":{\ + \"name\":\"ListViews\",\ + \"http\":{\ + \"method\":\"GET\",\ + \"requestUri\":\"/views/{InstanceId}\"\ + },\ + \"input\":{\"shape\":\"ListViewsRequest\"},\ + \"output\":{\"shape\":\"ListViewsResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"TooManyRequestsException\"}\ + ],\ + \"documentation\":\"

Returns views in the given instance.

Results are sorted primarily by type, and secondarily by name.

\"\ + },\ \"MonitorContact\":{\ \"name\":\"MonitorContact\",\ \"http\":{\ @@ -2554,7 +2706,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

Searches users in an Amazon Connect instance, with optional filtering.

AfterContactWorkTimeLimit is returned in milliseconds.

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

Searches users in an Amazon Connect instance, with optional filtering.

AfterContactWorkTimeLimit is returned in milliseconds.

\"\ },\ \"SearchVocabularies\":{\ \"name\":\"SearchVocabularies\",\ @@ -2676,7 +2828,7 @@ - (NSString *)definitionString { {\"shape\":\"ServiceQuotaExceededException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

Initiates a flow to start a new task.

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

Initiates a flow to start a new task contact. For more information about task contacts, see Concepts: Tasks in Amazon Connect in the Amazon Connect Administrator Guide.

When using PreviousContactId and RelatedContactId input parameters, note the following:

  • PreviousContactId

    • Any updates to user-defined task contact attributes on any contact linked through the same PreviousContactId will affect every contact in the chain.

    • There can be a maximum of 12 linked task contacts in a chain. That is, 12 task contacts can be created that share the same PreviousContactId.

  • RelatedContactId

    • Copies contact attributes from the related task contact to the new contact.

    • Any update on attributes in a new task contact does not update attributes on previous contact.

    • There’s no limit on the number of task contacts that can be created that use the same RelatedContactId.

In addition, when calling StartTaskContact include only one of these parameters: ContactFlowID, QuickConnectID, or TaskTemplateID. Only one parameter is required as long as the task template has a flow configured to run it. If more than one parameter is specified, or only the TaskTemplateID is specified but it does not have a flow configured, the request returns an error because Amazon Connect cannot identify the unique flow to run when the task is created.

A ServiceQuotaExceededException occurs when the number of open tasks exceeds the active tasks quota or there are already 12 tasks referencing the same PreviousContactId. For more information about service quotas for task contacts, see Amazon Connect service quotas in the Amazon Connect Administrator Guide.

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

Ends the specified contact. This call does not work for the following initiation methods:

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

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

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

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

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

\"\ },\ \"StopContactRecording\":{\ \"name\":\"StopContactRecording\",\ @@ -3091,6 +3243,25 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Updates your claimed phone number from its current Amazon Connect instance or traffic distribution group to another Amazon Connect instance or traffic distribution group in the same Amazon Web Services Region.

After using this API, you must verify that the phone number is attached to the correct flow in the target instance or traffic distribution group. You need to do this because the API switches only the phone number to a new instance or traffic distribution group. It doesn't migrate the flow configuration of the phone number, too.

You can call DescribePhoneNumber API to verify the status of a previous UpdatePhoneNumber operation.

\"\ },\ + \"UpdatePhoneNumberMetadata\":{\ + \"name\":\"UpdatePhoneNumberMetadata\",\ + \"http\":{\ + \"method\":\"PUT\",\ + \"requestUri\":\"/phone-number/{PhoneNumberId}/metadata\"\ + },\ + \"input\":{\"shape\":\"UpdatePhoneNumberMetadataRequest\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ResourceInUseException\"},\ + {\"shape\":\"IdempotencyException\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"InternalServiceException\"}\ + ],\ + \"documentation\":\"

Updates a phone number’s metadata.

To verify the status of a previous UpdatePhoneNumberMetadata operation, call the DescribePhoneNumber API.

\"\ + },\ \"UpdatePrompt\":{\ \"name\":\"UpdatePrompt\",\ \"http\":{\ @@ -3171,7 +3342,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

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

Updates the outbound caller ID name, number, and outbound whisper flow for a specified queue.

If the number being used in the input is claimed to a traffic distribution group, and you are calling this API using an instance in the Amazon Web Services Region where the traffic distribution group was created, you can use either a full phone number ARN or UUID value for the OutboundCallerIdNumberId value of the OutboundCallerConfig request body parameter. However, if the number is claimed to a traffic distribution group and you are calling this API using an instance in the alternate Amazon Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

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

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

Updates the outbound caller ID name, number, and outbound whisper flow for a specified queue.

  • If the phone number is claimed to a traffic distribution group that was created in the same Region as the Amazon Connect instance where you are calling this API, then you can use a full phone number ARN or a UUID for OutboundCallerIdNumberId. However, if the phone number is claimed to a traffic distribution group that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that is associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

  • Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

  • If you plan to use IAM policies to allow/deny access to this API for phone number resources claimed to a traffic distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region.

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

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

Updates a security profile.

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

Updates a security profile.

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

Updates the traffic distribution for a given traffic distribution group.

You can change the SignInConfig only for a default TrafficDistributionGroup. If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about updating a traffic distribution group, see Update telephony traffic distribution across Amazon Web Services Regions in the Amazon Connect Administrator Guide.

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

Updates the traffic distribution for a given traffic distribution group.

The SignInConfig distribution is available only on a default TrafficDistributionGroup (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about updating a traffic distribution group, see Update telephony traffic distribution across Amazon Web Services Regions in the Amazon Connect Administrator Guide.

\"\ },\ \"UpdateUserHierarchy\":{\ \"name\":\"UpdateUserHierarchy\",\ @@ -3484,6 +3655,45 @@ - (NSString *)definitionString { {\"shape\":\"InternalServiceException\"}\ ],\ \"documentation\":\"

Assigns the specified security profiles to the specified user.

\"\ + },\ + \"UpdateViewContent\":{\ + \"name\":\"UpdateViewContent\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/views/{InstanceId}/{ViewId}\"\ + },\ + \"input\":{\"shape\":\"UpdateViewContentRequest\"},\ + \"output\":{\"shape\":\"UpdateViewContentResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"TooManyRequestsException\"},\ + {\"shape\":\"ResourceInUseException\"}\ + ],\ + \"documentation\":\"

Updates the view content of the given view identifier in the specified Amazon Connect instance.

It performs content validation if Status is set to SAVED and performs full content validation if Status is PUBLISHED. Note that the $SAVED alias' content will always be updated, but the $LATEST alias' content will only be updated if Status is PUBLISHED.

\"\ + },\ + \"UpdateViewMetadata\":{\ + \"name\":\"UpdateViewMetadata\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/views/{InstanceId}/{ViewId}/metadata\"\ + },\ + \"input\":{\"shape\":\"UpdateViewMetadataRequest\"},\ + \"output\":{\"shape\":\"UpdateViewMetadataResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"TooManyRequestsException\"},\ + {\"shape\":\"DuplicateResourceException\"},\ + {\"shape\":\"ResourceInUseException\"}\ + ],\ + \"documentation\":\"

Updates the view metadata. Note that either Name or Description must be provided.

\"\ }\ },\ \"shapes\":{\ @@ -3814,6 +4024,31 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Configuration of the answering machine detection.

\"\ },\ + \"Application\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Namespace\":{\ + \"shape\":\"Namespace\",\ + \"documentation\":\"

Namespace of the application that you want to give access to.

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

The permissions that the agent is granted on the application. Only the ACCESS permission is supported.

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

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

A third party application's metadata.

\"\ + },\ + \"ApplicationPermissions\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"Permission\"},\ + \"max\":10,\ + \"min\":1\ + },\ + \"Applications\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"Application\"},\ + \"max\":10\ + },\ \"ApproximateTotalCount\":{\"type\":\"long\"},\ \"AssignContactCategoryActionDefinition\":{\ \"type\":\"structure\",\ @@ -4188,10 +4423,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":50\ },\ - \"BoxedBoolean\":{\ - \"type\":\"boolean\",\ - \"box\":true\ - },\ + \"BoxedBoolean\":{\"type\":\"boolean\"},\ \"BucketName\":{\ \"type\":\"string\",\ \"max\":128,\ @@ -4360,7 +4592,7 @@ - (NSString *)definitionString { },\ \"PhoneNumberStatus\":{\ \"shape\":\"PhoneNumberStatus\",\ - \"documentation\":\"

The status of the phone number.

  • CLAIMED means the previous ClaimedPhoneNumber or UpdatePhoneNumber operation succeeded.

  • IN_PROGRESS means a ClaimedPhoneNumber or UpdatePhoneNumber operation is still in progress and has not yet completed. You can call DescribePhoneNumber at a later time to verify if the previous operation has completed.

  • FAILED indicates that the previous ClaimedPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the failure reason. A common reason for a failure may be that the TargetArn value you are claiming or updating a phone number to has reached its limit of total claimed numbers. If you received a FAILED status from a ClaimPhoneNumber API call, you have one day to retry claiming the phone number before the number is released back to the inventory for other customers to claim.

You will not be billed for the phone number during the 1-day period if number claiming fails.

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

The status of the phone number.

  • CLAIMED means the previous ClaimPhoneNumber or UpdatePhoneNumber operation succeeded.

  • IN_PROGRESS means a ClaimPhoneNumber, UpdatePhoneNumber, or UpdatePhoneNumberMetadata operation is still in progress and has not yet completed. You can call DescribePhoneNumber at a later time to verify if the previous operation has completed.

  • FAILED indicates that the previous ClaimPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the failure reason. A common reason for a failure may be that the TargetArn value you are claiming or updating a phone number to has reached its limit of total claimed numbers. If you received a FAILED status from a ClaimPhoneNumber API call, you have one day to retry claiming the phone number before the number is released back to the inventory for other customers to claim.

You will not be billed for the phone number during the 1-day period if number claiming fails.

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

Information about a phone number that has been claimed to your Amazon Connect instance or traffic distribution group.

\"\ @@ -4492,7 +4724,7 @@ - (NSString *)definitionString { },\ \"Content\":{\ \"shape\":\"ContactFlowContent\",\ - \"documentation\":\"

The content of the flow.

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

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

Length Constraints: Minimum length of 1. Maximum length of 256000.

\"\ },\ \"Tags\":{\ \"shape\":\"TagMap\",\ @@ -4524,7 +4756,7 @@ - (NSString *)definitionString { },\ \"Content\":{\ \"shape\":\"ContactFlowModuleContent\",\ - \"documentation\":\"

The content of the flow module.

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

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

\"\ },\ \"Description\":{\ \"shape\":\"ContactFlowModuleDescription\",\ @@ -4703,7 +4935,7 @@ - (NSString *)definitionString { \"documentation\":\"

The message.

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

The contact with the specified ID is not active or does not exist. Applies to Voice calls only, not to Chat, Task, or Voice Callback.

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

The contact with the specified ID is not active or does not exist. Applies to Voice calls only, not to Chat or Task contacts.

\",\ \"error\":{\"httpStatusCode\":410},\ \"exception\":true\ },\ @@ -4828,7 +5060,7 @@ - (NSString *)definitionString { },\ \"Content\":{\ \"shape\":\"ContactFlowModuleContent\",\ - \"documentation\":\"

The content of the flow module.

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

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

\"\ },\ \"Tags\":{\ \"shape\":\"TagMap\",\ @@ -4883,7 +5115,7 @@ - (NSString *)definitionString { },\ \"Content\":{\ \"shape\":\"ContactFlowContent\",\ - \"documentation\":\"

The content of the flow.

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

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

Length Constraints: Minimum length of 1. Maximum length of 256000.

\"\ },\ \"Tags\":{\ \"shape\":\"TagMap\",\ @@ -5267,7 +5499,7 @@ - (NSString *)definitionString { },\ \"Name\":{\ \"shape\":\"QuickConnectName\",\ - \"documentation\":\"

The name of the quick connect.

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

A unique name of the quick connect.

\"\ },\ \"Description\":{\ \"shape\":\"QuickConnectDescription\",\ @@ -5458,6 +5690,10 @@ - (NSString *)definitionString { \"TagRestrictedResources\":{\ \"shape\":\"TagRestrictedResourceList\",\ \"documentation\":\"

The list of resources that a security profile applies tag restrictions to in Amazon Connect. Following are acceptable ResourceNames: User | SecurityProfile | Queue | RoutingProfile

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

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

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

\"\ }\ }\ },\ @@ -5733,6 +5969,94 @@ - (NSString *)definitionString { }\ }\ },\ + \"CreateViewRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"Status\",\ + \"Content\",\ + \"Name\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"ViewsInstanceId\",\ + \"documentation\":\"

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"ClientToken\":{\ + \"shape\":\"ViewsClientToken\",\ + \"documentation\":\"

A unique Id for each create view request to avoid duplicate view creation. For example, the view is idempotent ClientToken is provided.

\"\ + },\ + \"Status\":{\ + \"shape\":\"ViewStatus\",\ + \"documentation\":\"

Indicates the view status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content.

\"\ + },\ + \"Content\":{\ + \"shape\":\"ViewInputContent\",\ + \"documentation\":\"

View content containing all content necessary to render a view except for runtime input data.

The total uncompressed content has a maximum file size of 400kB.

\"\ + },\ + \"Description\":{\ + \"shape\":\"ViewDescription\",\ + \"documentation\":\"

The description of the view.

\"\ + },\ + \"Name\":{\ + \"shape\":\"ViewName\",\ + \"documentation\":\"

The name of the view.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

The tags associated with the view resource (not specific to view version).These tags can be used to organize, track, or control access for this resource. For example, { \\\"tags\\\": {\\\"key1\\\":\\\"value1\\\", \\\"key2\\\":\\\"value2\\\"} }.

\"\ + }\ + }\ + },\ + \"CreateViewResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"View\":{\ + \"shape\":\"View\",\ + \"documentation\":\"

A view resource object. Contains metadata and content necessary to render the view.

\"\ + }\ + }\ + },\ + \"CreateViewVersionRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"ViewId\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"ViewsInstanceId\",\ + \"documentation\":\"

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"ViewId\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view. Both ViewArn and ViewId can be used.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"ViewId\"\ + },\ + \"VersionDescription\":{\ + \"shape\":\"ViewDescription\",\ + \"documentation\":\"

The description for the version being published.

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

Indicates the checksum value of the latest published view content.

\"\ + }\ + }\ + },\ + \"CreateViewVersionResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"View\":{\ + \"shape\":\"View\",\ + \"documentation\":\"

All view data is contained within the View object.

\"\ + }\ + }\ + },\ \"CreateVocabularyRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -6111,6 +6435,7 @@ - (NSString *)definitionString { \"EvaluationFormVersion\":{\ \"shape\":\"VersionNumber\",\ \"documentation\":\"

The unique identifier for the evaluation form.

\",\ + \"box\":true,\ \"location\":\"querystring\",\ \"locationName\":\"version\"\ }\ @@ -6409,6 +6734,65 @@ - (NSString *)definitionString { }\ }\ },\ + \"DeleteViewRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"ViewId\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"ViewsInstanceId\",\ + \"documentation\":\"

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"ViewId\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view. Both ViewArn and ViewId can be used.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"ViewId\"\ + }\ + }\ + },\ + \"DeleteViewResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ + },\ + \"DeleteViewVersionRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"ViewId\",\ + \"ViewVersion\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"ViewsInstanceId\",\ + \"documentation\":\"

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"ViewId\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view. Both ViewArn and ViewId can be used.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"ViewId\"\ + },\ + \"ViewVersion\":{\ + \"shape\":\"ViewVersion\",\ + \"documentation\":\"

The version number of the view.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"ViewVersion\"\ + }\ + }\ + },\ + \"DeleteViewVersionResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ + },\ \"DeleteVocabularyRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -6632,6 +7016,7 @@ - (NSString *)definitionString { \"EvaluationFormVersion\":{\ \"shape\":\"VersionNumber\",\ \"documentation\":\"

A version of the evaluation form.

\",\ + \"box\":true,\ \"location\":\"querystring\",\ \"locationName\":\"version\"\ }\ @@ -7069,28 +7454,58 @@ - (NSString *)definitionString { }\ }\ },\ - \"DescribeVocabularyRequest\":{\ + \"DescribeViewRequest\":{\ \"type\":\"structure\",\ \"required\":[\ \"InstanceId\",\ - \"VocabularyId\"\ + \"ViewId\"\ ],\ \"members\":{\ \"InstanceId\":{\ - \"shape\":\"InstanceId\",\ - \"documentation\":\"

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

\",\ + \"shape\":\"ViewsInstanceId\",\ + \"documentation\":\"

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

\",\ \"location\":\"uri\",\ \"locationName\":\"InstanceId\"\ },\ - \"VocabularyId\":{\ - \"shape\":\"VocabularyId\",\ - \"documentation\":\"

The identifier of the custom vocabulary.

\",\ + \"ViewId\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The ViewId of the view. This must be an ARN for Amazon Web Services managed views.

\",\ \"location\":\"uri\",\ - \"locationName\":\"VocabularyId\"\ + \"locationName\":\"ViewId\"\ }\ }\ },\ - \"DescribeVocabularyResponse\":{\ + \"DescribeViewResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"View\":{\ + \"shape\":\"View\",\ + \"documentation\":\"

All view data is contained within the View object.

\"\ + }\ + }\ + },\ + \"DescribeVocabularyRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"VocabularyId\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

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

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"VocabularyId\":{\ + \"shape\":\"VocabularyId\",\ + \"documentation\":\"

The identifier of the custom vocabulary.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"VocabularyId\"\ + }\ + }\ + },\ + \"DescribeVocabularyResponse\":{\ \"type\":\"structure\",\ \"required\":[\"Vocabulary\"],\ \"members\":{\ @@ -8141,7 +8556,8 @@ - (NSString *)definitionString { },\ \"ActiveVersion\":{\ \"shape\":\"VersionNumber\",\ - \"documentation\":\"

The version of the active evaluation form version.

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

The version of the active evaluation form version.

\",\ + \"box\":true\ }\ },\ \"documentation\":\"

Summary information about an evaluation form.

\"\ @@ -8384,7 +8800,8 @@ - (NSString *)definitionString { \"OnZendeskTicketCreate\",\ \"OnZendeskTicketStatusUpdate\",\ \"OnSalesforceCaseCreate\",\ - \"OnContactEvaluationSubmit\"\ + \"OnContactEvaluationSubmit\",\ + \"OnMetricDataUpdate\"\ ]\ },\ \"FilterV2\":{\ @@ -8686,11 +9103,15 @@ - (NSString *)definitionString { },\ \"StartTime\":{\ \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be before the end time timestamp. The time range between the start and end time must be less than 24 hours. The start time cannot be earlier than 35 days before the time of the request. Historical metrics are available for 35 days.

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

The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be before the end time timestamp. The start and end time depends on the IntervalPeriod selected. By default the time range between start and end time is 35 days. Historical metrics are available for 3 months.

\"\ },\ \"EndTime\":{\ \"shape\":\"Timestamp\",\ - \"documentation\":\"

The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be later than the start time timestamp. It cannot be later than the current timestamp.

The time range between the start and end time must be less than 24 hours.

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

The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be later than the start time timestamp. It cannot be later than the current timestamp.

\"\ + },\ + \"Interval\":{\ + \"shape\":\"IntervalDetails\",\ + \"documentation\":\"

The interval period and timezone to apply to returned metrics.

  • IntervalPeriod: An aggregated grouping applied to request metrics. Valid IntervalPeriod values are: FIFTEEN_MIN | THIRTY_MIN | HOUR | DAY | WEEK | TOTAL.

    For example, if IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime differs by 1 day, then Amazon Connect returns 48 results in the response. Each result is aggregated by the THIRTY_MIN period. By default Amazon Connect aggregates results based on the TOTAL interval period.

    The following list describes restrictions on StartTime and EndTime based on which IntervalPeriod is requested.

    • FIFTEEN_MIN: The difference between StartTime and EndTime must be less than 3 days.

    • THIRTY_MIN: The difference between StartTime and EndTime must be less than 3 days.

    • HOUR: The difference between StartTime and EndTime must be less than 3 days.

    • DAY: The difference between StartTime and EndTime must be less than 35 days.

    • WEEK: The difference between StartTime and EndTime must be less than 35 days.

    • TOTAL: The difference between StartTime and EndTime must be less than 35 days.

  • TimeZone: The timezone applied to requested metrics.

\"\ },\ \"Filters\":{\ \"shape\":\"FiltersV2List\",\ @@ -8702,7 +9123,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's Guide.

AGENT_ADHERENT_TIME

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

Unit: Seconds

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

AGENT_NON_RESPONSE

Unit: Count

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

AGENT_OCCUPANCY

Unit: Percentage

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

AGENT_SCHEDULE_ADHERENCE

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

Unit: Percent

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

AGENT_SCHEDULED_TIME

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

Unit: Seconds

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

AVG_ABANDON_TIME

Unit: Seconds

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

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

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

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

AVG_CONTACT_DURATION

Unit: Seconds

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

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

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

AVG_HANDLE_TIME

Unit: Seconds

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

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

Feature is a valid filter but not a valid grouping.

AVG_HOLDS

Unit: Count

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

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

AVG_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

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

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

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

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

Feature is a valid filter but not a valid grouping.

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

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

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

CONTACTS_ABANDONED

Unit: Count

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

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

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

Feature is a valid filter but not a valid grouping.

CONTACTS_HOLD_ABANDONS

Unit: Count

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

CONTACTS_QUEUED

Unit: Count

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

CONTACTS_TRANSFERRED_OUT

Unit: Count

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

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

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

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

MAX_QUEUED_TIME

Unit: Seconds

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

SERVICE_LEVEL

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

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

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

ABANDONMENT_RATE

Unit: Percent

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

AGENT_ADHERENT_TIME

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

Unit: Seconds

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

AGENT_NON_RESPONSE

Unit: Count

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

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

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

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

AGENT_OCCUPANCY

Unit: Percentage

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

AGENT_SCHEDULE_ADHERENCE

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

Unit: Percent

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

AGENT_SCHEDULED_TIME

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

Unit: Seconds

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

AVG_ABANDON_TIME

Unit: Seconds

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

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

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

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

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

AVG_CONTACT_DURATION

Unit: Seconds

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

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

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

AVG_HANDLE_TIME

Unit: Seconds

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

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

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

AVG_HOLDS

Unit: Count

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

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

AVG_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

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

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

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

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile

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

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

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

CONTACTS_ABANDONED

Unit: Count

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

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature

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

Feature is a valid filter but not a valid grouping.

CONTACTS_HOLD_ABANDONS

Unit: Count

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

CONTACTS_QUEUED

Unit: Count

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

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

CONTACTS_TRANSFERRED_OUT

Unit: Count

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

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

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

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

MAX_QUEUED_TIME

Unit: Seconds

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

SERVICE_LEVEL

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

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

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

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile

\"\ },\ \"NextToken\":{\ \"shape\":\"NextToken2500\",\ @@ -8876,7 +9297,7 @@ - (NSString *)definitionString { },\ \"SignInConfig\":{\ \"shape\":\"SignInConfig\",\ - \"documentation\":\"

The distribution of allowing signing in to the instance and its replica(s).

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

The distribution that determines which Amazon Web Services Regions should be used to sign in agents in to both the instance and its replica(s).

\"\ },\ \"AgentConfig\":{\ \"shape\":\"AgentConfig\",\ @@ -9663,7 +10084,8 @@ - (NSString *)definitionString { \"PINPOINT_APP\",\ \"WISDOM_ASSISTANT\",\ \"WISDOM_KNOWLEDGE_BASE\",\ - \"CASES_DOMAIN\"\ + \"CASES_DOMAIN\",\ + \"APPLICATION\"\ ]\ },\ \"InternalServiceException\":{\ @@ -9678,6 +10100,31 @@ - (NSString *)definitionString { \"error\":{\"httpStatusCode\":500},\ \"exception\":true\ },\ + \"IntervalDetails\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TimeZone\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The timezone applied to requested metrics.

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

IntervalPeriod: An aggregated grouping applied to request metrics. Valid IntervalPeriod values are: FIFTEEN_MIN | THIRTY_MIN | HOUR | DAY | WEEK | TOTAL.

For example, if IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime differs by 1 day, then Amazon Connect returns 48 results in the response. Each result is aggregated by the THIRTY_MIN period. By default Amazon Connect aggregates results based on the TOTAL interval period.

The following list describes restrictions on StartTime and EndTime based on what IntervalPeriod is requested.

  • FIFTEEN_MIN: The difference between StartTime and EndTime must be less than 3 days.

  • THIRTY_MIN: The difference between StartTime and EndTime must be less than 3 days.

  • HOUR: The difference between StartTime and EndTime must be less than 3 days.

  • DAY: The difference between StartTime and EndTime must be less than 35 days.

  • WEEK: The difference between StartTime and EndTime must be less than 35 days.

  • TOTAL: The difference between StartTime and EndTime must be less than 35 days.

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

Information about the interval period to use for returning results.

\"\ + },\ + \"IntervalPeriod\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"FIFTEEN_MIN\",\ + \"THIRTY_MIN\",\ + \"HOUR\",\ + \"DAY\",\ + \"WEEK\",\ + \"TOTAL\"\ + ]\ + },\ \"InvalidContactFlowException\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -10576,7 +11023,7 @@ - (NSString *)definitionString { },\ \"PhoneNumberTypes\":{\ \"shape\":\"PhoneNumberTypes\",\ - \"documentation\":\"

The type of phone number.

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

The type of phone number.

We recommend using ListPhoneNumbersV2 to return phone number types. While ListPhoneNumbers returns number types UIFN, SHARED, THIRD_PARTY_TF, and THIRD_PARTY_DID, it incorrectly lists them as TOLL_FREE or DID.

\",\ \"location\":\"querystring\",\ \"locationName\":\"phoneNumberTypes\"\ },\ @@ -11036,6 +11483,52 @@ - (NSString *)definitionString { }\ }\ },\ + \"ListSecurityProfileApplicationsRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"SecurityProfileId\",\ + \"InstanceId\"\ + ],\ + \"members\":{\ + \"SecurityProfileId\":{\ + \"shape\":\"SecurityProfileId\",\ + \"documentation\":\"

The security profile identifier.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"SecurityProfileId\"\ + },\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

The instance identifier.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"NextToken\":{\ + \"shape\":\"NextToken\",\ + \"documentation\":\"

The token for the next set of results. The next set of results can be retrieved by using the token value returned in the previous response when making the next request.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"nextToken\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"MaxResult1000\",\ + \"documentation\":\"

The maximum number of results to return per page.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"maxResults\"\ + }\ + }\ + },\ + \"ListSecurityProfileApplicationsResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Applications\":{\ + \"shape\":\"Applications\",\ + \"documentation\":\"

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

A list of the third party application's metadata.

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

The token for the next set of results. The next set of results can be retrieved by using the token value returned in the previous response when making the next request.

\"\ + }\ + }\ + },\ \"ListSecurityProfilePermissionsRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -11390,6 +11883,97 @@ - (NSString *)definitionString { }\ }\ },\ + \"ListViewVersionsRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"ViewId\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"ViewsInstanceId\",\ + \"documentation\":\"

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"ViewId\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view. Both ViewArn and ViewId can be used.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"ViewId\"\ + },\ + \"NextToken\":{\ + \"shape\":\"ViewsNextToken\",\ + \"documentation\":\"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"nextToken\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"MaxResults\",\ + \"documentation\":\"

The maximum number of results to return per page. The default MaxResult size is 100.

\",\ + \"box\":true,\ + \"location\":\"querystring\",\ + \"locationName\":\"maxResults\"\ + }\ + }\ + },\ + \"ListViewVersionsResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ViewVersionSummaryList\":{\ + \"shape\":\"ViewVersionSummaryList\",\ + \"documentation\":\"

A list of view version summaries.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"ViewsNextToken\",\ + \"documentation\":\"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

\"\ + }\ + }\ + },\ + \"ListViewsRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"InstanceId\"],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"ViewsInstanceId\",\ + \"documentation\":\"

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"Type\":{\ + \"shape\":\"ViewType\",\ + \"documentation\":\"

The type of the view.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"type\"\ + },\ + \"NextToken\":{\ + \"shape\":\"ViewsNextToken\",\ + \"documentation\":\"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"nextToken\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"MaxResults\",\ + \"documentation\":\"

The maximum number of results to return per page. The default MaxResult size is 100.

\",\ + \"box\":true,\ + \"location\":\"querystring\",\ + \"locationName\":\"maxResults\"\ + }\ + }\ + },\ + \"ListViewsResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ViewsSummaryList\":{\ + \"shape\":\"ViewsSummaryList\",\ + \"documentation\":\"

A list of view summaries.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"ViewsNextToken\",\ + \"documentation\":\"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

\"\ + }\ + }\ + },\ \"Long\":{\"type\":\"long\"},\ \"MaxResult10\":{\ \"type\":\"integer\",\ @@ -11426,6 +12010,11 @@ - (NSString *)definitionString { \"max\":7,\ \"min\":1\ },\ + \"MaxResults\":{\ + \"type\":\"integer\",\ + \"max\":100,\ + \"min\":1\ + },\ \"MaximumResultReturnedException\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -11491,6 +12080,10 @@ - (NSString *)definitionString { \"MetricFilterValues\":{\ \"shape\":\"MetricFilterValueList\",\ \"documentation\":\"

The values to use for filtering data.

Valid metric filter values for INITIATION_METHOD: INBOUND | OUTBOUND | TRANSFER | QUEUE_TRANSFER | CALLBACK | API

Valid metric filter values for DISCONNECT_REASON: CUSTOMER_DISCONNECT | AGENT_DISCONNECT | THIRD_PARTY_DISCONNECT | TELECOM_PROBLEM | BARGED | CONTACT_FLOW_DISCONNECT | OTHER | EXPIRED | API

\"\ + },\ + \"Negate\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

The flag to use to filter on requested metric filter values or to not filter on requested metric filter values. By default the negate is false, which indicates to filter on the requested metric filter.

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

Contains information about the filter used when retrieving metrics. MetricFiltersV2 can be used on the following metrics: AVG_AGENT_CONNECTING_TIME, CONTACTS_CREATED, CONTACTS_HANDLED, SUM_CONTACTS_DISCONNECTED.

\"\ @@ -11506,6 +12099,24 @@ - (NSString *)definitionString { \"member\":{\"shape\":\"MetricFilterV2\"},\ \"max\":2\ },\ + \"MetricInterval\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Interval\":{\ + \"shape\":\"IntervalPeriod\",\ + \"documentation\":\"

The interval period provided in the API request.

\"\ + },\ + \"StartTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp, in UNIX Epoch time format. Start time is based on the interval period selected.

\"\ + },\ + \"EndTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp, in UNIX Epoch time format. End time is based on the interval period selected. For example, If IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime in the API request differs by 1 day, then 48 results are returned in the response. Each result is aggregated by the 30 minutes period, with each StartTime and EndTime differing by 30 minutes.

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

The interval period with the start and end time for the metrics.

\"\ + },\ \"MetricNameV2\":{\"type\":\"string\"},\ \"MetricResultV2\":{\ \"type\":\"structure\",\ @@ -11514,6 +12125,10 @@ - (NSString *)definitionString { \"shape\":\"DimensionsV2Map\",\ \"documentation\":\"

The dimension for the metrics.

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

The interval period with the start and end time for the metrics.

\"\ + },\ \"Collections\":{\ \"shape\":\"MetricDataCollectionsV2\",\ \"documentation\":\"

The set of metrics.

\"\ @@ -11614,6 +12229,11 @@ - (NSString *)definitionString { \"min\":1,\ \"pattern\":\"(^[\\\\S].*[\\\\S]$)|(^[\\\\S]$)\"\ },\ + \"Namespace\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1\ + },\ \"NextToken\":{\"type\":\"string\"},\ \"NextToken2500\":{\ \"type\":\"string\",\ @@ -11856,6 +12476,11 @@ - (NSString *)definitionString { \"max\":100,\ \"min\":0\ },\ + \"Permission\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1\ + },\ \"PermissionsList\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"SecurityProfilePermission\"},\ @@ -12160,7 +12785,7 @@ - (NSString *)definitionString { \"documentation\":\"

The status message.

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

The status of the phone number.

  • CLAIMED means the previous ClaimedPhoneNumber or UpdatePhoneNumber operation succeeded.

  • IN_PROGRESS means a ClaimedPhoneNumber or UpdatePhoneNumber operation is still in progress and has not yet completed. You can call DescribePhoneNumber at a later time to verify if the previous operation has completed.

  • FAILED indicates that the previous ClaimedPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the failure reason. A common reason for a failure may be that the TargetArn value you are claiming or updating a phone number to has reached its limit of total claimed numbers. If you received a FAILED status from a ClaimPhoneNumber API call, you have one day to retry claiming the phone number before the number is released back to the inventory for other customers to claim.

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

The status of the phone number.

  • CLAIMED means the previous ClaimPhoneNumber or UpdatePhoneNumber operation succeeded.

  • IN_PROGRESS means a ClaimPhoneNumber, UpdatePhoneNumber, or UpdatePhoneNumberMetadata operation is still in progress and has not yet completed. You can call DescribePhoneNumber at a later time to verify if the previous operation has completed.

  • FAILED indicates that the previous ClaimPhoneNumber or UpdatePhoneNumber operation has failed. It will include a message indicating the failure reason. A common reason for a failure may be that the TargetArn value you are claiming or updating a phone number to has reached its limit of total claimed numbers. If you received a FAILED status from a ClaimPhoneNumber API call, you have one day to retry claiming the phone number before the number is released back to the inventory for other customers to claim.

\"\ },\ \"PhoneNumberSummary\":{\ \"type\":\"structure\",\ @@ -13379,15 +14004,15 @@ - (NSString *)definitionString { },\ \"EventBridgeAction\":{\ \"shape\":\"EventBridgeActionDefinition\",\ - \"documentation\":\"

Information about the EventBridge action.

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

Information about the EventBridge action.

Supported only for TriggerEventSource values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable | OnContactEvaluationSubmit | OnMetricDataUpdate

\"\ },\ \"AssignContactCategoryAction\":{\ \"shape\":\"AssignContactCategoryActionDefinition\",\ - \"documentation\":\"

Information about the contact category action.

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

Information about the contact category action.

Supported only for TriggerEventSource values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable | OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate

\"\ },\ \"SendNotificationAction\":{\ \"shape\":\"SendNotificationActionDefinition\",\ - \"documentation\":\"

Information about the send notification action.

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

Information about the send notification action.

Supported only for TriggerEventSource values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable | OnContactEvaluationSubmit | OnMetricDataUpdate

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

Information about the action to be performed when a rule is triggered.

\"\ @@ -13480,7 +14105,7 @@ - (NSString *)definitionString { \"documentation\":\"

The identifier for the integration association.

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

The name of the event source. This field is required if TriggerEventSource is one of the following values: OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate

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

The name of the event source. This field is required if TriggerEventSource is one of the following values: OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate | OnContactEvaluationSubmit | OnMetricDataUpdate.

\"\ },\ \"S3Config\":{\ \"type\":\"structure\",\ @@ -13867,7 +14492,7 @@ - (NSString *)definitionString { \"members\":{\ \"InstanceId\":{\ \"shape\":\"InstanceId\",\ - \"documentation\":\"

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

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

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

InstanceID is a required field. The \\\"Required: No\\\" below is incorrect.

\"\ },\ \"NextToken\":{\ \"shape\":\"NextToken2500\",\ @@ -14173,7 +14798,7 @@ - (NSString *)definitionString { \"documentation\":\"

Information about traffic distributions.

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

The distribution of allowing signing in to the instance and its replica(s).

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

The distribution that determines which Amazon Web Services Regions should be used to sign in agents in to both the instance and its replica(s).

\"\ },\ \"SignInDistribution\":{\ \"type\":\"structure\",\ @@ -14518,7 +15143,7 @@ - (NSString *)definitionString { },\ \"PreviousContactId\":{\ \"shape\":\"ContactId\",\ - \"documentation\":\"

The identifier of the previous chat, voice, or task contact.

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

The identifier of the previous chat, voice, or task contact. Any updates to user-defined attributes to task contacts linked using the same PreviousContactID will affect every contact in the chain. There can be a maximum of 12 linked task contacts in a chain.

\"\ },\ \"ContactFlowId\":{\ \"shape\":\"ContactFlowId\",\ @@ -14534,7 +15159,7 @@ - (NSString *)definitionString { },\ \"References\":{\ \"shape\":\"ContactReferences\",\ - \"documentation\":\"

A formatted URL that is shown to an agent in the Contact Control Panel (CCP).

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

A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Tasks can have the following reference types at the time of creation: URL | NUMBER | STRING | DATE | EMAIL. ATTACHMENT is not a supported reference type during task creation.

\"\ },\ \"Description\":{\ \"shape\":\"Description\",\ @@ -14551,15 +15176,15 @@ - (NSString *)definitionString { },\ \"TaskTemplateId\":{\ \"shape\":\"TaskTemplateId\",\ - \"documentation\":\"

A unique identifier for the task template.

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

A unique identifier for the task template. For more information about task templates, see Create task templates in the Amazon Connect Administrator Guide.

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

The identifier for the quick connect.

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

The identifier for the quick connect. Tasks that are created by using QuickConnectId will use the flow that is defined on agent or queue quick connect. For more information about quick connects, see Create quick connects.

\"\ },\ \"RelatedContactId\":{\ \"shape\":\"ContactId\",\ - \"documentation\":\"

The contactId that is related to this contact.

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

The contactId that is related to this contact. Linking tasks together by using RelatedContactID copies over contact attributes from the related task contact to the new task contact. All updates to user-defined attributes in the new task contact are limited to the individual contact ID, unlike what happens when tasks are linked by using PreviousContactID. There are no limits to the number of contacts that can be linked by using RelatedContactId.

\"\ }\ }\ },\ @@ -15206,6 +15831,15 @@ - (NSString *)definitionString { ]\ },\ \"Timestamp\":{\"type\":\"timestamp\"},\ + \"TooManyRequestsException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Message\":{\"shape\":\"Message\"}\ + },\ + \"documentation\":\"

Displayed when rate-related API limits are exceeded.

\",\ + \"error\":{\"httpStatusCode\":429},\ + \"exception\":true\ + },\ \"TrafficDistributionGroup\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -15231,7 +15865,7 @@ - (NSString *)definitionString { },\ \"Status\":{\ \"shape\":\"TrafficDistributionGroupStatus\",\ - \"documentation\":\"

The status of the traffic distribution group.

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

The status of the traffic distribution group.

\"\ },\ \"Tags\":{\ \"shape\":\"TagMap\",\ @@ -15239,7 +15873,7 @@ - (NSString *)definitionString { },\ \"IsDefault\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Whether this is the default traffic distribution group created during instance replication. The default traffic distribution group cannot be deleted by the DeleteTrafficDistributionGroup API. The default traffic distribution group is deleted as part of the process for deleting a replica.

You can change the SignInConfig only for a default TrafficDistributionGroup. If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

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

Whether this is the default traffic distribution group created during instance replication. The default traffic distribution group cannot be deleted by the DeleteTrafficDistributionGroup API. The default traffic distribution group is deleted as part of the process for deleting a replica.

The SignInConfig distribution is available only on the default TrafficDistributionGroup. If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

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

Information about a traffic distribution group.

\"\ @@ -15550,7 +16184,7 @@ - (NSString *)definitionString { },\ \"Content\":{\ \"shape\":\"ContactFlowContent\",\ - \"documentation\":\"

The JSON string that represents flow's content. For an example, see Example contact flow in Amazon Connect Flow language.

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

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

Length Constraints: Minimum length of 1. Maximum length of 256000.

\"\ }\ }\ },\ @@ -15619,7 +16253,7 @@ - (NSString *)definitionString { },\ \"Content\":{\ \"shape\":\"ContactFlowModuleContent\",\ - \"documentation\":\"

The content of the flow module.

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

The JSON string that represents the content of the flow. For an example, see Example flow in Amazon Connect Flow language.

\"\ }\ }\ },\ @@ -15793,7 +16427,8 @@ - (NSString *)definitionString { },\ \"CreateNewVersion\":{\ \"shape\":\"BoxedBoolean\",\ - \"documentation\":\"

A flag indicating whether the operation must create a new version.

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

A flag indicating whether the operation must create a new version.

\",\ + \"box\":true\ },\ \"Title\":{\ \"shape\":\"EvaluationFormTitle\",\ @@ -15980,6 +16615,27 @@ - (NSString *)definitionString { \"members\":{\ }\ },\ + \"UpdatePhoneNumberMetadataRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"PhoneNumberId\"],\ + \"members\":{\ + \"PhoneNumberId\":{\ + \"shape\":\"PhoneNumberId\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) or resource ID of the phone number.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"PhoneNumberId\"\ + },\ + \"PhoneNumberDescription\":{\ + \"shape\":\"PhoneNumberDescription\",\ + \"documentation\":\"

The description of the phone number.

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

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

\",\ + \"idempotencyToken\":true\ + }\ + }\ + },\ \"UpdatePhoneNumberRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -16464,6 +17120,10 @@ - (NSString *)definitionString { \"TagRestrictedResources\":{\ \"shape\":\"TagRestrictedResourceList\",\ \"documentation\":\"

The list of resources that a security profile applies tag restrictions to in Amazon Connect.

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

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

A list of the third party application's metadata.

\"\ }\ }\ },\ @@ -16585,7 +17245,7 @@ - (NSString *)definitionString { },\ \"SignInConfig\":{\ \"shape\":\"SignInConfig\",\ - \"documentation\":\"

The distribution of allowing signing in to the instance and its replica(s).

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

The distribution that determines which Amazon Web Services Regions should be used to sign in agents in to both the instance and its replica(s).

\"\ },\ \"AgentConfig\":{\ \"shape\":\"AgentConfig\",\ @@ -16772,6 +17432,80 @@ - (NSString *)definitionString { }\ }\ },\ + \"UpdateViewContentRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"ViewId\",\ + \"Status\",\ + \"Content\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"ViewsInstanceId\",\ + \"documentation\":\"

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"ViewId\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view. Both ViewArn and ViewId can be used.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"ViewId\"\ + },\ + \"Status\":{\ + \"shape\":\"ViewStatus\",\ + \"documentation\":\"

Indicates the view status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content.

\"\ + },\ + \"Content\":{\ + \"shape\":\"ViewInputContent\",\ + \"documentation\":\"

View content containing all content necessary to render a view except for runtime input data and the runtime input schema, which is auto-generated by this operation.

The total uncompressed content has a maximum file size of 400kB.

\"\ + }\ + }\ + },\ + \"UpdateViewContentResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"View\":{\ + \"shape\":\"View\",\ + \"documentation\":\"

A view resource object. Contains metadata and content necessary to render the view.

\"\ + }\ + }\ + },\ + \"UpdateViewMetadataRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"ViewId\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"ViewsInstanceId\",\ + \"documentation\":\"

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"ViewId\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view. Both ViewArn and ViewId can be used.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"ViewId\"\ + },\ + \"Name\":{\ + \"shape\":\"ViewName\",\ + \"documentation\":\"

The name of the view.

\"\ + },\ + \"Description\":{\ + \"shape\":\"ViewDescription\",\ + \"documentation\":\"

The description of the view.

\"\ + }\ + }\ + },\ + \"UpdateViewMetadataResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ + },\ \"Url\":{\"type\":\"string\"},\ \"UrlReference\":{\ \"type\":\"structure\",\ @@ -17164,9 +17898,243 @@ - (NSString *)definitionString { \"Value\":{\"type\":\"double\"},\ \"VersionNumber\":{\ \"type\":\"integer\",\ - \"box\":true,\ \"min\":1\ },\ + \"View\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Id\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view.

\"\ + },\ + \"Arn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the view.

\"\ + },\ + \"Name\":{\ + \"shape\":\"ViewName\",\ + \"documentation\":\"

The name of the view.

\"\ + },\ + \"Status\":{\ + \"shape\":\"ViewStatus\",\ + \"documentation\":\"

Indicates the view status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content.

\"\ + },\ + \"Type\":{\ + \"shape\":\"ViewType\",\ + \"documentation\":\"

The type of the view - CUSTOMER_MANAGED.

\"\ + },\ + \"Description\":{\ + \"shape\":\"ViewDescription\",\ + \"documentation\":\"

The description of the view.

\"\ + },\ + \"Version\":{\ + \"shape\":\"ViewVersion\",\ + \"documentation\":\"

Current version of the view.

\"\ + },\ + \"VersionDescription\":{\ + \"shape\":\"ViewDescription\",\ + \"documentation\":\"

The description of the version.

\"\ + },\ + \"Content\":{\ + \"shape\":\"ViewContent\",\ + \"documentation\":\"

View content containing all content necessary to render a view except for runtime input data.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

The tags associated with the view resource (not specific to view version).

\"\ + },\ + \"CreatedTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

The timestamp of when the view was created.

\"\ + },\ + \"LastModifiedTime\":{\ + \"shape\":\"Timestamp\",\ + \"documentation\":\"

Latest timestamp of the UpdateViewContent or CreateViewVersion operations.

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

Indicates the checksum value of the latest published view content.

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

A view resource object. Contains metadata and content necessary to render the view.

\"\ + },\ + \"ViewAction\":{\ + \"type\":\"string\",\ + \"max\":255,\ + \"min\":1,\ + \"pattern\":\"^([\\\\p{L}\\\\p{N}_.:\\\\/=+\\\\-@()']+[\\\\p{L}\\\\p{Z}\\\\p{N}_.:\\\\/=+\\\\-@()']*)$\",\ + \"sensitive\":true\ + },\ + \"ViewActions\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ViewAction\"}\ + },\ + \"ViewContent\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"InputSchema\":{\ + \"shape\":\"ViewInputSchema\",\ + \"documentation\":\"

The data schema matching data that the view template must be provided to render.

\"\ + },\ + \"Template\":{\ + \"shape\":\"ViewTemplate\",\ + \"documentation\":\"

The view template representing the structure of the view.

\"\ + },\ + \"Actions\":{\ + \"shape\":\"ViewActions\",\ + \"documentation\":\"

A list of possible actions from the view.

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

View content containing all content necessary to render a view except for runtime input data.

\"\ + },\ + \"ViewContentSha256\":{\ + \"type\":\"string\",\ + \"max\":64,\ + \"min\":1,\ + \"pattern\":\"^[a-zA-Z0-9]$\"\ + },\ + \"ViewDescription\":{\ + \"type\":\"string\",\ + \"max\":4096,\ + \"min\":1,\ + \"pattern\":\"^([\\\\p{L}\\\\p{N}_.:\\\\/=+\\\\-@,()']+[\\\\p{L}\\\\p{Z}\\\\p{N}_.:\\\\/=+\\\\-@,()']*)$\"\ + },\ + \"ViewId\":{\ + \"type\":\"string\",\ + \"max\":500,\ + \"min\":1,\ + \"pattern\":\"^[a-zA-Z0-9\\\\_\\\\-:\\\\/$]+$\"\ + },\ + \"ViewInputContent\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Template\":{\ + \"shape\":\"ViewTemplate\",\ + \"documentation\":\"

The view template representing the structure of the view.

\"\ + },\ + \"Actions\":{\ + \"shape\":\"ViewActions\",\ + \"documentation\":\"

A list of possible actions from the view.

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

View content containing all content necessary to render a view except for runtime input data and the runtime input schema, which is auto-generated by this operation.

\"\ + },\ + \"ViewInputSchema\":{\ + \"type\":\"string\",\ + \"sensitive\":true\ + },\ + \"ViewName\":{\ + \"type\":\"string\",\ + \"max\":255,\ + \"min\":1,\ + \"pattern\":\"^([\\\\p{L}\\\\p{N}_.:\\\\/=+\\\\-@()']+[\\\\p{L}\\\\p{Z}\\\\p{N}_.:\\\\/=+\\\\-@()']*)$\",\ + \"sensitive\":true\ + },\ + \"ViewStatus\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"PUBLISHED\",\ + \"SAVED\"\ + ]\ + },\ + \"ViewSummary\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Id\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view.

\"\ + },\ + \"Arn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the view.

\"\ + },\ + \"Name\":{\ + \"shape\":\"ViewName\",\ + \"documentation\":\"

The name of the view.

\"\ + },\ + \"Type\":{\ + \"shape\":\"ViewType\",\ + \"documentation\":\"

The type of the view.

\"\ + },\ + \"Status\":{\ + \"shape\":\"ViewStatus\",\ + \"documentation\":\"

Indicates the view status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content.

\"\ + },\ + \"Description\":{\ + \"shape\":\"ViewDescription\",\ + \"documentation\":\"

The description of the view.

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

A summary of a view's metadata.

\"\ + },\ + \"ViewTemplate\":{\"type\":\"string\"},\ + \"ViewType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"CUSTOMER_MANAGED\",\ + \"AWS_MANAGED\"\ + ]\ + },\ + \"ViewVersion\":{\"type\":\"integer\"},\ + \"ViewVersionSummary\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Id\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view version.

\"\ + },\ + \"Arn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the view version.

\"\ + },\ + \"Description\":{\ + \"shape\":\"ViewDescription\",\ + \"documentation\":\"

The description of the view version.

\"\ + },\ + \"Name\":{\ + \"shape\":\"ViewName\",\ + \"documentation\":\"

The name of the view version.

\"\ + },\ + \"Type\":{\ + \"shape\":\"ViewType\",\ + \"documentation\":\"

The type of the view version.

\"\ + },\ + \"Version\":{\ + \"shape\":\"ViewVersion\",\ + \"documentation\":\"

The sequentially incremented version of the view version.

\"\ + },\ + \"VersionDescription\":{\ + \"shape\":\"ViewDescription\",\ + \"documentation\":\"

The description of the view version.

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

A summary of a view version's metadata.

\"\ + },\ + \"ViewVersionSummaryList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ViewVersionSummary\"}\ + },\ + \"ViewsClientToken\":{\ + \"type\":\"string\",\ + \"max\":500,\ + \"pattern\":\"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:\\\\/=+\\\\-@]*)$\"\ + },\ + \"ViewsInstanceId\":{\ + \"type\":\"string\",\ + \"max\":100,\ + \"min\":1,\ + \"pattern\":\"^[a-zA-Z0-9\\\\_\\\\-:\\\\/]+$\"\ + },\ + \"ViewsNextToken\":{\ + \"type\":\"string\",\ + \"max\":4096,\ + \"min\":1,\ + \"pattern\":\"^[a-zA-Z0-9=\\\\/+_.-]+$\"\ + },\ + \"ViewsSummaryList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ViewSummary\"}\ + },\ \"Vocabulary\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -17354,7 +18322,7 @@ - (NSString *)definitionString { },\ \"timestamp\":{\"type\":\"timestamp\"}\ },\ - \"documentation\":\"

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents.

There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

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

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents.

There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, seeP98941055 Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

\"\ }\ "; } diff --git a/AWSConnect/AWSConnectService.h b/AWSConnect/AWSConnectService.h index 6a781e33639..d72d26c71ce 100644 --- a/AWSConnect/AWSConnectService.h +++ b/AWSConnect/AWSConnectService.h @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; /** -

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents.

There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

+

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also resolve customer issues more efficiently by getting customers in touch with the appropriate agents.

There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number of requests that you can make per second. For more information, seeP98941055 Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

*/ @interface AWSConnect : AWSService @@ -704,7 +704,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)createPrompt:(AWSConnectCreatePromptRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectCreatePromptResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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

Creates a new queue for the specified Amazon Connect instance.

If the number being used in the input is claimed to a traffic distribution group, and you are calling this API using an instance in the Amazon Web Services Region where the traffic distribution group was created, you can use either a full phone number ARN or UUID value for the OutboundCallerIdNumberId value of the OutboundCallerConfig request body parameter. However, if the number is claimed to a traffic distribution group and you are calling this API using an instance in the alternate Amazon Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

+

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

Creates a new queue for the specified Amazon Connect instance.

  • If the phone number is claimed to a traffic distribution group that was created in the same Region as the Amazon Connect instance where you are calling this API, then you can use a full phone number ARN or a UUID for OutboundCallerIdNumberId. However, if the phone number is claimed to a traffic distribution group that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that is associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

  • Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

  • If you plan to use IAM policies to allow/deny access to this API for phone number resources claimed to a traffic distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region.

@param request A container for the necessary parameters to execute the CreateQueue service method. @@ -716,7 +716,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)createQueue:(AWSConnectCreateQueueRequest *)request; /** -

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

Creates a new queue for the specified Amazon Connect instance.

If the number being used in the input is claimed to a traffic distribution group, and you are calling this API using an instance in the Amazon Web Services Region where the traffic distribution group was created, you can use either a full phone number ARN or UUID value for the OutboundCallerIdNumberId value of the OutboundCallerConfig request body parameter. However, if the number is claimed to a traffic distribution group and you are calling this API using an instance in the alternate Amazon Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

+

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

Creates a new queue for the specified Amazon Connect instance.

  • If the phone number is claimed to a traffic distribution group that was created in the same Region as the Amazon Connect instance where you are calling this API, then you can use a full phone number ARN or a UUID for OutboundCallerIdNumberId. However, if the phone number is claimed to a traffic distribution group that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that is associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

  • Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

  • If you plan to use IAM policies to allow/deny access to this API for phone number resources claimed to a traffic distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region.

@param request A container for the necessary parameters to execute the CreateQueue service method. @param completionHandler The completion handler to call when the load request is complete. @@ -804,7 +804,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)createRule:(AWSConnectCreateRuleRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectCreateRuleResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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

Creates a security profile.

+

Creates a security profile.

@param request A container for the necessary parameters to execute the CreateSecurityProfile service method. @@ -816,7 +816,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)createSecurityProfile:(AWSConnectCreateSecurityProfileRequest *)request; /** -

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

Creates a security profile.

+

Creates a security profile.

@param request A container for the necessary parameters to execute the CreateSecurityProfile service method. @param completionHandler The completion handler to call when the load request is complete. @@ -854,7 +854,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)createTaskTemplate:(AWSConnectCreateTaskTemplateRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectCreateTaskTemplateResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a traffic distribution group given an Amazon Connect instance that has been replicated.

For more information about creating traffic distribution groups, see Set up traffic distribution groups in the Amazon Connect Administrator Guide.

+

Creates a traffic distribution group given an Amazon Connect instance that has been replicated.

The SignInConfig distribution is available only on a default TrafficDistributionGroup (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about creating traffic distribution groups, see Set up traffic distribution groups in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the CreateTrafficDistributionGroup service method. @@ -866,7 +866,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)createTrafficDistributionGroup:(AWSConnectCreateTrafficDistributionGroupRequest *)request; /** -

Creates a traffic distribution group given an Amazon Connect instance that has been replicated.

For more information about creating traffic distribution groups, see Set up traffic distribution groups in the Amazon Connect Administrator Guide.

+

Creates a traffic distribution group given an Amazon Connect instance that has been replicated.

The SignInConfig distribution is available only on a default TrafficDistributionGroup (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about creating traffic distribution groups, see Set up traffic distribution groups in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the CreateTrafficDistributionGroup service method. @param completionHandler The completion handler to call when the load request is complete. @@ -904,7 +904,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)createUseCase:(AWSConnectCreateUseCaseRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectCreateUseCaseResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a user account for the specified Amazon Connect instance.

For information about how to create user accounts using the Amazon Connect console, see Add Users in the Amazon Connect Administrator Guide.

+

Creates a user account for the specified Amazon Connect instance.

Certain UserIdentityInfo parameters are required in some situations. For example, Email is required if you are using SAML for identity management. FirstName and LastName are required if you are using Amazon Connect or SAML for identity management.

For information about how to create user accounts using the Amazon Connect console, see Add Users in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the CreateUser service method. @@ -916,7 +916,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)createUser:(AWSConnectCreateUserRequest *)request; /** -

Creates a user account for the specified Amazon Connect instance.

For information about how to create user accounts using the Amazon Connect console, see Add Users in the Amazon Connect Administrator Guide.

+

Creates a user account for the specified Amazon Connect instance.

Certain UserIdentityInfo parameters are required in some situations. For example, Email is required if you are using SAML for identity management. FirstName and LastName are required if you are using Amazon Connect or SAML for identity management.

For information about how to create user accounts using the Amazon Connect console, see Add Users in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the CreateUser service method. @param completionHandler The completion handler to call when the load request is complete. @@ -953,6 +953,56 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)createUserHierarchyGroup:(AWSConnectCreateUserHierarchyGroupRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectCreateUserHierarchyGroupResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Creates a new view with the possible status of SAVED or PUBLISHED.

The views will have a unique name for each connect instance.

It performs basic content validation if the status is SAVED or full content validation if the status is set to PUBLISHED. An error is returned if validation fails. It associates either the $SAVED qualifier or both of the $SAVED and $LATEST qualifiers with the provided view content based on the status. The view is idempotent if ClientToken is provided.

+ + @param request A container for the necessary parameters to execute the CreateView service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectCreateViewResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorDuplicateResource`, `AWSConnectErrorServiceQuotaExceeded`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectCreateViewRequest + @see AWSConnectCreateViewResponse + */ +- (AWSTask *)createView:(AWSConnectCreateViewRequest *)request; + +/** +

Creates a new view with the possible status of SAVED or PUBLISHED.

The views will have a unique name for each connect instance.

It performs basic content validation if the status is SAVED or full content validation if the status is set to PUBLISHED. An error is returned if validation fails. It associates either the $SAVED qualifier or both of the $SAVED and $LATEST qualifiers with the provided view content based on the status. The view is idempotent if ClientToken is provided.

+ + @param request A container for the necessary parameters to execute the CreateView 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorDuplicateResource`, `AWSConnectErrorServiceQuotaExceeded`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectCreateViewRequest + @see AWSConnectCreateViewResponse + */ +- (void)createView:(AWSConnectCreateViewRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectCreateViewResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Publishes a new version of the view identifier.

Versions are immutable and monotonically increasing.

It returns the highest version if there is no change in content compared to that version. An error is displayed if the supplied ViewContentSha256 is different from the ViewContentSha256 of the $LATEST alias.

+ + @param request A container for the necessary parameters to execute the CreateViewVersion service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectCreateViewVersionResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorServiceQuotaExceeded`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectCreateViewVersionRequest + @see AWSConnectCreateViewVersionResponse + */ +- (AWSTask *)createViewVersion:(AWSConnectCreateViewVersionRequest *)request; + +/** +

Publishes a new version of the view identifier.

Versions are immutable and monotonically increasing.

It returns the highest version if there is no change in content compared to that version. An error is displayed if the supplied ViewContentSha256 is different from the ViewContentSha256 of the $LATEST alias.

+ + @param request A container for the necessary parameters to execute the CreateViewVersion 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorServiceQuotaExceeded`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectCreateViewVersionRequest + @see AWSConnectCreateViewVersionResponse + */ +- (void)createViewVersion:(AWSConnectCreateViewVersionRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectCreateViewVersionResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Creates a custom vocabulary associated with your Amazon Connect instance. You can set a custom vocabulary to be your default vocabulary for a given language. Contact Lens for Amazon Connect uses the default vocabulary in post-call and real-time contact analysis sessions for that language.

@@ -1274,7 +1324,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)deleteRule:(AWSConnectDeleteRuleRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

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

Deletes a security profile.

+

Deletes a security profile.

@param request A container for the necessary parameters to execute the DeleteSecurityProfile service method. @@ -1285,7 +1335,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)deleteSecurityProfile:(AWSConnectDeleteSecurityProfileRequest *)request; /** -

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

Deletes a security profile.

+

Deletes a security profile.

@param request A container for the necessary parameters to execute the DeleteSecurityProfile service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1411,6 +1461,56 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)deleteUserHierarchyGroup:(AWSConnectDeleteUserHierarchyGroupRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; +/** +

Deletes the view entirely. It deletes the view and all associated qualifiers (versions and aliases).

+ + @param request A container for the necessary parameters to execute the DeleteView service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectDeleteViewResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectDeleteViewRequest + @see AWSConnectDeleteViewResponse + */ +- (AWSTask *)deleteView:(AWSConnectDeleteViewRequest *)request; + +/** +

Deletes the view entirely. It deletes the view and all associated qualifiers (versions and aliases).

+ + @param request A container for the necessary parameters to execute the DeleteView 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectDeleteViewRequest + @see AWSConnectDeleteViewResponse + */ +- (void)deleteView:(AWSConnectDeleteViewRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDeleteViewResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Deletes the particular version specified in ViewVersion identifier.

+ + @param request A container for the necessary parameters to execute the DeleteViewVersion service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectDeleteViewVersionResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectDeleteViewVersionRequest + @see AWSConnectDeleteViewVersionResponse + */ +- (AWSTask *)deleteViewVersion:(AWSConnectDeleteViewVersionRequest *)request; + +/** +

Deletes the particular version specified in ViewVersion identifier.

+ + @param request A container for the necessary parameters to execute the DeleteViewVersion 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectDeleteViewVersionRequest + @see AWSConnectDeleteViewVersionResponse + */ +- (void)deleteViewVersion:(AWSConnectDeleteViewVersionRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDeleteViewVersionResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Deletes the vocabulary that has the given identifier.

@@ -1837,7 +1937,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)describeRule:(AWSConnectDescribeRuleRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDescribeRuleResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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

Gets basic information about the security profle.

+

Gets basic information about the security profle.

@param request A container for the necessary parameters to execute the DescribeSecurityProfile service method. @@ -1849,7 +1949,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)describeSecurityProfile:(AWSConnectDescribeSecurityProfileRequest *)request; /** -

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

Gets basic information about the security profle.

+

Gets basic information about the security profle.

@param request A container for the necessary parameters to execute the DescribeSecurityProfile service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1961,6 +2061,31 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)describeUserHierarchyStructure:(AWSConnectDescribeUserHierarchyStructureRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDescribeUserHierarchyStructureResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Retrieves the view for the specified Amazon Connect instance and view identifier.

The view identifier can be supplied as a ViewId or ARN.

$SAVED needs to be supplied if a view is unpublished.

The view identifier can contain an optional qualifier, for example, <view-id>:$SAVED, which is either an actual version number or an Amazon Connect managed qualifier $SAVED | $LATEST. If it is not supplied, then $LATEST is assumed for customer managed views and an error is returned if there is no published content available. Version 1 is assumed for Amazon Web Services managed views.

+ + @param request A container for the necessary parameters to execute the DescribeView service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectDescribeViewResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`. + + @see AWSConnectDescribeViewRequest + @see AWSConnectDescribeViewResponse + */ +- (AWSTask *)describeView:(AWSConnectDescribeViewRequest *)request; + +/** +

Retrieves the view for the specified Amazon Connect instance and view identifier.

The view identifier can be supplied as a ViewId or ARN.

$SAVED needs to be supplied if a view is unpublished.

The view identifier can contain an optional qualifier, for example, <view-id>:$SAVED, which is either an actual version number or an Amazon Connect managed qualifier $SAVED | $LATEST. If it is not supplied, then $LATEST is assumed for customer managed views and an error is returned if there is no published content available. Version 1 is assumed for Amazon Web Services managed views.

+ + @param request A container for the necessary parameters to execute the DescribeView 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`. + + @see AWSConnectDescribeViewRequest + @see AWSConnectDescribeViewResponse + */ +- (void)describeView:(AWSConnectDescribeViewRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDescribeViewResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Describes the specified vocabulary.

@@ -2310,7 +2435,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)getCurrentUserData:(AWSConnectGetCurrentUserDataRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectGetCurrentUserDataResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Retrieves a token for federation.

This API doesn't support root users. If you try to invoke GetFederationToken with root credentials, an error message similar to the following one appears:

Provided identity: Principal: .... User: .... cannot be used for federation with Amazon Connect

+

Supports SAML sign-in for Amazon Connect. Retrieves a token for federation. The token is for the Amazon Connect user which corresponds to the IAM credentials that were used to invoke this action.

For more information about how SAML sign-in works in Amazon Connect, see Configure SAML with IAM for Amazon Connect in the Amazon Connect Administrator Guide.

This API doesn't support root users. If you try to invoke GetFederationToken with root credentials, an error message similar to the following one appears:

Provided identity: Principal: .... User: .... cannot be used for federation with Amazon Connect

@param request A container for the necessary parameters to execute the GetFederationToken service method. @@ -2322,7 +2447,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)getFederationToken:(AWSConnectGetFederationTokenRequest *)request; /** -

Retrieves a token for federation.

This API doesn't support root users. If you try to invoke GetFederationToken with root credentials, an error message similar to the following one appears:

Provided identity: Principal: .... User: .... cannot be used for federation with Amazon Connect

+

Supports SAML sign-in for Amazon Connect. Retrieves a token for federation. The token is for the Amazon Connect user which corresponds to the IAM credentials that were used to invoke this action.

For more information about how SAML sign-in works in Amazon Connect, see Configure SAML with IAM for Amazon Connect in the Amazon Connect Administrator Guide.

This API doesn't support root users. If you try to invoke GetFederationToken with root credentials, an error message similar to the following one appears:

Provided identity: Principal: .... User: .... cannot be used for federation with Amazon Connect

@param request A container for the necessary parameters to execute the GetFederationToken service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2335,7 +2460,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)getFederationToken:(AWSConnectGetFederationTokenRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectGetFederationTokenResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Gets historical metric data from the specified Amazon Connect instance.

For a description of each historical metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide.

+

Gets historical metric data from the specified Amazon Connect instance.

For a description of each historical metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide.

We recommend using the GetMetricDataV2 API. It provides more flexibility, features, and the ability to query longer time ranges than GetMetricData. Use it to retrieve historical agent and contact metrics for the last 3 months, at varying intervals. You can also use it to build custom dashboards to measure historical queue and agent performance. For example, you can track the number of incoming contacts for the last 7 days, with data split by day, to see how contact volume changed per day of the week.

@param request A container for the necessary parameters to execute the GetMetricData service method. @@ -2347,7 +2472,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)getMetricData:(AWSConnectGetMetricDataRequest *)request; /** -

Gets historical metric data from the specified Amazon Connect instance.

For a description of each historical metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide.

+

Gets historical metric data from the specified Amazon Connect instance.

For a description of each historical metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide.

We recommend using the GetMetricDataV2 API. It provides more flexibility, features, and the ability to query longer time ranges than GetMetricData. Use it to retrieve historical agent and contact metrics for the last 3 months, at varying intervals. You can also use it to build custom dashboards to measure historical queue and agent performance. For example, you can track the number of incoming contacts for the last 7 days, with data split by day, to see how contact volume changed per day of the week.

@param request A container for the necessary parameters to execute the GetMetricData service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2360,7 +2485,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)getMetricData:(AWSConnectGetMetricDataRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectGetMetricDataResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Gets metric data from the specified Amazon Connect instance.

GetMetricDataV2 offers more features than GetMetricData, the previous version of this API. It has new metrics, offers filtering at a metric level, and offers the ability to filter and group data by channels, queues, routing profiles, agents, and agent hierarchy levels. It can retrieve historical data for the last 35 days, in 24-hour intervals.

For a description of the historical metrics that are supported by GetMetricDataV2 and GetMetricData, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

+

Gets metric data from the specified Amazon Connect instance.

GetMetricDataV2 offers more features than GetMetricData, the previous version of this API. It has new metrics, offers filtering at a metric level, and offers the ability to filter and group data by channels, queues, routing profiles, agents, and agent hierarchy levels. It can retrieve historical data for the last 3 months, at varying intervals.

For a description of the historical metrics that are supported by GetMetricDataV2 and GetMetricData, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

@param request A container for the necessary parameters to execute the GetMetricDataV2 service method. @@ -2372,7 +2497,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)getMetricDataV2:(AWSConnectGetMetricDataV2Request *)request; /** -

Gets metric data from the specified Amazon Connect instance.

GetMetricDataV2 offers more features than GetMetricData, the previous version of this API. It has new metrics, offers filtering at a metric level, and offers the ability to filter and group data by channels, queues, routing profiles, agents, and agent hierarchy levels. It can retrieve historical data for the last 35 days, in 24-hour intervals.

For a description of the historical metrics that are supported by GetMetricDataV2 and GetMetricData, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

+

Gets metric data from the specified Amazon Connect instance.

GetMetricDataV2 offers more features than GetMetricData, the previous version of this API. It has new metrics, offers filtering at a metric level, and offers the ability to filter and group data by channels, queues, routing profiles, agents, and agent hierarchy levels. It can retrieve historical data for the last 3 months, at varying intervals.

For a description of the historical metrics that are supported by GetMetricDataV2 and GetMetricData, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

@param request A container for the necessary parameters to execute the GetMetricDataV2 service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2885,7 +3010,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)listLexBots:(AWSConnectListLexBotsRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectListLexBotsResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Provides information about the phone numbers for the specified Amazon Connect instance.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

The phone number Arn value that is returned from each of the items in the PhoneNumberSummaryList cannot be used to tag phone number resources. It will fail with a ResourceNotFoundException. Instead, use the ListPhoneNumbersV2 API. It returns the new phone number ARN that can be used to tag phone number resources.

+

Provides information about the phone numbers for the specified Amazon Connect instance.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

  • We recommend using ListPhoneNumbersV2 to return phone number types. ListPhoneNumbers doesn't support number types UIFN, SHARED, THIRD_PARTY_TF, and THIRD_PARTY_DID. While it returns numbers of those types, it incorrectly lists them as TOLL_FREE or DID.

  • The phone number Arn value that is returned from each of the items in the PhoneNumberSummaryList cannot be used to tag phone number resources. It will fail with a ResourceNotFoundException. Instead, use the ListPhoneNumbersV2 API. It returns the new phone number ARN that can be used to tag phone number resources.

@param request A container for the necessary parameters to execute the ListPhoneNumbers service method. @@ -2897,7 +3022,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)listPhoneNumbers:(AWSConnectListPhoneNumbersRequest *)request; /** -

Provides information about the phone numbers for the specified Amazon Connect instance.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

The phone number Arn value that is returned from each of the items in the PhoneNumberSummaryList cannot be used to tag phone number resources. It will fail with a ResourceNotFoundException. Instead, use the ListPhoneNumbersV2 API. It returns the new phone number ARN that can be used to tag phone number resources.

+

Provides information about the phone numbers for the specified Amazon Connect instance.

For more information about phone numbers, see Set Up Phone Numbers for Your Contact Center in the Amazon Connect Administrator Guide.

  • We recommend using ListPhoneNumbersV2 to return phone number types. ListPhoneNumbers doesn't support number types UIFN, SHARED, THIRD_PARTY_TF, and THIRD_PARTY_DID. While it returns numbers of those types, it incorrectly lists them as TOLL_FREE or DID.

  • The phone number Arn value that is returned from each of the items in the PhoneNumberSummaryList cannot be used to tag phone number resources. It will fail with a ResourceNotFoundException. Instead, use the ListPhoneNumbersV2 API. It returns the new phone number ARN that can be used to tag phone number resources.

@param request A container for the necessary parameters to execute the ListPhoneNumbers service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3135,7 +3260,32 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)listSecurityKeys:(AWSConnectListSecurityKeysRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectListSecurityKeysResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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

Lists the permissions granted to a security profile.

+

Returns a list of third party applications in a specific security profile.

+ + @param request A container for the necessary parameters to execute the ListSecurityProfileApplications service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectListSecurityProfileApplicationsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`, `AWSConnectErrorInternalService`. + + @see AWSConnectListSecurityProfileApplicationsRequest + @see AWSConnectListSecurityProfileApplicationsResponse + */ +- (AWSTask *)listSecurityProfileApplications:(AWSConnectListSecurityProfileApplicationsRequest *)request; + +/** +

Returns a list of third party applications in a specific security profile.

+ + @param request A container for the necessary parameters to execute the ListSecurityProfileApplications 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`, `AWSConnectErrorInternalService`. + + @see AWSConnectListSecurityProfileApplicationsRequest + @see AWSConnectListSecurityProfileApplicationsResponse + */ +- (void)listSecurityProfileApplications:(AWSConnectListSecurityProfileApplicationsRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectListSecurityProfileApplicationsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists the permissions granted to a security profile.

@param request A container for the necessary parameters to execute the ListSecurityProfilePermissions service method. @@ -3147,7 +3297,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)listSecurityProfilePermissions:(AWSConnectListSecurityProfilePermissionsRequest *)request; /** -

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

Lists the permissions granted to a security profile.

+

Lists the permissions granted to a security profile.

@param request A container for the necessary parameters to execute the ListSecurityProfilePermissions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3359,6 +3509,56 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)listUsers:(AWSConnectListUsersRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectListUsersResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Returns all the available versions for the specified Amazon Connect instance and view identifier.

Results will be sorted from highest to lowest.

+ + @param request A container for the necessary parameters to execute the ListViewVersions service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectListViewVersionsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`. + + @see AWSConnectListViewVersionsRequest + @see AWSConnectListViewVersionsResponse + */ +- (AWSTask *)listViewVersions:(AWSConnectListViewVersionsRequest *)request; + +/** +

Returns all the available versions for the specified Amazon Connect instance and view identifier.

Results will be sorted from highest to lowest.

+ + @param request A container for the necessary parameters to execute the ListViewVersions 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`. + + @see AWSConnectListViewVersionsRequest + @see AWSConnectListViewVersionsResponse + */ +- (void)listViewVersions:(AWSConnectListViewVersionsRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectListViewVersionsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Returns views in the given instance.

Results are sorted primarily by type, and secondarily by name.

+ + @param request A container for the necessary parameters to execute the ListViews service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectListViewsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`. + + @see AWSConnectListViewsRequest + @see AWSConnectListViewsResponse + */ +- (AWSTask *)listViews:(AWSConnectListViewsRequest *)request; + +/** +

Returns views in the given instance.

Results are sorted primarily by type, and secondarily by name.

+ + @param request A container for the necessary parameters to execute the ListViews 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`. + + @see AWSConnectListViewsRequest + @see AWSConnectListViewsResponse + */ +- (void)listViews:(AWSConnectListViewsRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectListViewsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Initiates silent monitoring of a contact. The Contact Control Panel (CCP) of the user specified by userId will be set to silent monitoring mode on the contact.

@@ -3682,7 +3882,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)searchSecurityProfiles:(AWSConnectSearchSecurityProfilesRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectSearchSecurityProfilesResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Searches users in an Amazon Connect instance, with optional filtering.

AfterContactWorkTimeLimit is returned in milliseconds.

+

Searches users in an Amazon Connect instance, with optional filtering.

AfterContactWorkTimeLimit is returned in milliseconds.

@param request A container for the necessary parameters to execute the SearchUsers service method. @@ -3694,7 +3894,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)searchUsers:(AWSConnectSearchUsersRequest *)request; /** -

Searches users in an Amazon Connect instance, with optional filtering.

AfterContactWorkTimeLimit is returned in milliseconds.

+

Searches users in an Amazon Connect instance, with optional filtering.

AfterContactWorkTimeLimit is returned in milliseconds.

@param request A container for the necessary parameters to execute the SearchUsers service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3857,7 +4057,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)startOutboundVoiceContact:(AWSConnectStartOutboundVoiceContactRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectStartOutboundVoiceContactResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Initiates a flow to start a new task.

+

Initiates a flow to start a new task contact. For more information about task contacts, see Concepts: Tasks in Amazon Connect in the Amazon Connect Administrator Guide.

When using PreviousContactId and RelatedContactId input parameters, note the following:

  • PreviousContactId

    • Any updates to user-defined task contact attributes on any contact linked through the same PreviousContactId will affect every contact in the chain.

    • There can be a maximum of 12 linked task contacts in a chain. That is, 12 task contacts can be created that share the same PreviousContactId.

  • RelatedContactId

    • Copies contact attributes from the related task contact to the new contact.

    • Any update on attributes in a new task contact does not update attributes on previous contact.

    • There’s no limit on the number of task contacts that can be created that use the same RelatedContactId.

In addition, when calling StartTaskContact include only one of these parameters: ContactFlowID, QuickConnectID, or TaskTemplateID. Only one parameter is required as long as the task template has a flow configured to run it. If more than one parameter is specified, or only the TaskTemplateID is specified but it does not have a flow configured, the request returns an error because Amazon Connect cannot identify the unique flow to run when the task is created.

A ServiceQuotaExceededException occurs when the number of open tasks exceeds the active tasks quota or there are already 12 tasks referencing the same PreviousContactId. For more information about service quotas for task contacts, see Amazon Connect service quotas in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the StartTaskContact service method. @@ -3869,7 +4069,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)startTaskContact:(AWSConnectStartTaskContactRequest *)request; /** -

Initiates a flow to start a new task.

+

Initiates a flow to start a new task contact. For more information about task contacts, see Concepts: Tasks in Amazon Connect in the Amazon Connect Administrator Guide.

When using PreviousContactId and RelatedContactId input parameters, note the following:

  • PreviousContactId

    • Any updates to user-defined task contact attributes on any contact linked through the same PreviousContactId will affect every contact in the chain.

    • There can be a maximum of 12 linked task contacts in a chain. That is, 12 task contacts can be created that share the same PreviousContactId.

  • RelatedContactId

    • Copies contact attributes from the related task contact to the new contact.

    • Any update on attributes in a new task contact does not update attributes on previous contact.

    • There’s no limit on the number of task contacts that can be created that use the same RelatedContactId.

In addition, when calling StartTaskContact include only one of these parameters: ContactFlowID, QuickConnectID, or TaskTemplateID. Only one parameter is required as long as the task template has a flow configured to run it. If more than one parameter is specified, or only the TaskTemplateID is specified but it does not have a flow configured, the request returns an error because Amazon Connect cannot identify the unique flow to run when the task is created.

A ServiceQuotaExceededException occurs when the number of open tasks exceeds the active tasks quota or there are already 12 tasks referencing the same PreviousContactId. For more information about service quotas for task contacts, see Amazon Connect service quotas in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the StartTaskContact service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3882,7 +4082,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)startTaskContact:(AWSConnectStartTaskContactRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectStartTaskContactResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Ends the specified contact. This call does not work for the following initiation methods:

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

+

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

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

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

@param request A container for the necessary parameters to execute the StopContact service method. @@ -3894,7 +4094,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)stopContact:(AWSConnectStopContactRequest *)request; /** -

Ends the specified contact. This call does not work for the following initiation methods:

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

+

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

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

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

@param request A container for the necessary parameters to execute the StopContact service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4463,6 +4663,28 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)updatePhoneNumber:(AWSConnectUpdatePhoneNumberRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectUpdatePhoneNumberResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Updates a phone number’s metadata.

To verify the status of a previous UpdatePhoneNumberMetadata operation, call the DescribePhoneNumber API.

+ + @param request A container for the necessary parameters to execute the UpdatePhoneNumberMetadata service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorInvalidParameter`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorAccessDenied`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorResourceInUse`, `AWSConnectErrorIdempotency`, `AWSConnectErrorThrottling`, `AWSConnectErrorInternalService`. + + @see AWSConnectUpdatePhoneNumberMetadataRequest + */ +- (AWSTask *)updatePhoneNumberMetadata:(AWSConnectUpdatePhoneNumberMetadataRequest *)request; + +/** +

Updates a phone number’s metadata.

To verify the status of a previous UpdatePhoneNumberMetadata operation, call the DescribePhoneNumber API.

+ + @param request A container for the necessary parameters to execute the UpdatePhoneNumberMetadata service method. + @param completionHandler The completion handler to call when the load request is complete. + `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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorInvalidParameter`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorAccessDenied`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorResourceInUse`, `AWSConnectErrorIdempotency`, `AWSConnectErrorThrottling`, `AWSConnectErrorInternalService`. + + @see AWSConnectUpdatePhoneNumberMetadataRequest + */ +- (void)updatePhoneNumberMetadata:(AWSConnectUpdatePhoneNumberMetadataRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + /**

Updates a prompt.

@@ -4555,7 +4777,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)updateQueueName:(AWSConnectUpdateQueueNameRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

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

Updates the outbound caller ID name, number, and outbound whisper flow for a specified queue.

If the number being used in the input is claimed to a traffic distribution group, and you are calling this API using an instance in the Amazon Web Services Region where the traffic distribution group was created, you can use either a full phone number ARN or UUID value for the OutboundCallerIdNumberId value of the OutboundCallerConfig request body parameter. However, if the number is claimed to a traffic distribution group and you are calling this API using an instance in the alternate Amazon Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

+

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

Updates the outbound caller ID name, number, and outbound whisper flow for a specified queue.

  • If the phone number is claimed to a traffic distribution group that was created in the same Region as the Amazon Connect instance where you are calling this API, then you can use a full phone number ARN or a UUID for OutboundCallerIdNumberId. However, if the phone number is claimed to a traffic distribution group that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that is associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

  • Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

  • If you plan to use IAM policies to allow/deny access to this API for phone number resources claimed to a traffic distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region.

@param request A container for the necessary parameters to execute the UpdateQueueOutboundCallerConfig service method. @@ -4566,7 +4788,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)updateQueueOutboundCallerConfig:(AWSConnectUpdateQueueOutboundCallerConfigRequest *)request; /** -

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

Updates the outbound caller ID name, number, and outbound whisper flow for a specified queue.

If the number being used in the input is claimed to a traffic distribution group, and you are calling this API using an instance in the Amazon Web Services Region where the traffic distribution group was created, you can use either a full phone number ARN or UUID value for the OutboundCallerIdNumberId value of the OutboundCallerConfig request body parameter. However, if the number is claimed to a traffic distribution group and you are calling this API using an instance in the alternate Amazon Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

+

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

Updates the outbound caller ID name, number, and outbound whisper flow for a specified queue.

  • If the phone number is claimed to a traffic distribution group that was created in the same Region as the Amazon Connect instance where you are calling this API, then you can use a full phone number ARN or a UUID for OutboundCallerIdNumberId. However, if the phone number is claimed to a traffic distribution group that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that is associated with the traffic distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a ResourceNotFoundException.

  • Only use the phone number ARN format that doesn't contain instance in the path, for example, arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned when you call the ListPhoneNumbersV2 API.

  • If you plan to use IAM policies to allow/deny access to this API for phone number resources claimed to a traffic distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region.

@param request A container for the necessary parameters to execute the UpdateQueueOutboundCallerConfig service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4775,7 +4997,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)updateRule:(AWSConnectUpdateRuleRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

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

Updates a security profile.

+

Updates a security profile.

@param request A container for the necessary parameters to execute the UpdateSecurityProfile service method. @@ -4786,7 +5008,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)updateSecurityProfile:(AWSConnectUpdateSecurityProfileRequest *)request; /** -

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

Updates a security profile.

+

Updates a security profile.

@param request A container for the necessary parameters to execute the UpdateSecurityProfile service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4822,7 +5044,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)updateTaskTemplate:(AWSConnectUpdateTaskTemplateRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectUpdateTaskTemplateResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the traffic distribution for a given traffic distribution group.

You can change the SignInConfig only for a default TrafficDistributionGroup. If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about updating a traffic distribution group, see Update telephony traffic distribution across Amazon Web Services Regions in the Amazon Connect Administrator Guide.

+

Updates the traffic distribution for a given traffic distribution group.

The SignInConfig distribution is available only on a default TrafficDistributionGroup (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about updating a traffic distribution group, see Update telephony traffic distribution across Amazon Web Services Regions in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the UpdateTrafficDistribution service method. @@ -4834,7 +5056,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)updateTrafficDistribution:(AWSConnectUpdateTrafficDistributionRequest *)request; /** -

Updates the traffic distribution for a given traffic distribution group.

You can change the SignInConfig only for a default TrafficDistributionGroup. If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about updating a traffic distribution group, see Update telephony traffic distribution across Amazon Web Services Regions in the Amazon Connect Administrator Guide.

+

Updates the traffic distribution for a given traffic distribution group.

The SignInConfig distribution is available only on a default TrafficDistributionGroup (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified SignInConfig and a non-default TrafficDistributionGroup, an InvalidRequestException is returned.

For more information about updating a traffic distribution group, see Update telephony traffic distribution across Amazon Web Services Regions in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the UpdateTrafficDistribution service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5000,6 +5222,56 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)updateUserSecurityProfiles:(AWSConnectUpdateUserSecurityProfilesRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; +/** +

Updates the view content of the given view identifier in the specified Amazon Connect instance.

It performs content validation if Status is set to SAVED and performs full content validation if Status is PUBLISHED. Note that the $SAVED alias' content will always be updated, but the $LATEST alias' content will only be updated if Status is PUBLISHED.

+ + @param request A container for the necessary parameters to execute the UpdateViewContent service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectUpdateViewContentResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectUpdateViewContentRequest + @see AWSConnectUpdateViewContentResponse + */ +- (AWSTask *)updateViewContent:(AWSConnectUpdateViewContentRequest *)request; + +/** +

Updates the view content of the given view identifier in the specified Amazon Connect instance.

It performs content validation if Status is set to SAVED and performs full content validation if Status is PUBLISHED. Note that the $SAVED alias' content will always be updated, but the $LATEST alias' content will only be updated if Status is PUBLISHED.

+ + @param request A container for the necessary parameters to execute the UpdateViewContent 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectUpdateViewContentRequest + @see AWSConnectUpdateViewContentResponse + */ +- (void)updateViewContent:(AWSConnectUpdateViewContentRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectUpdateViewContentResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Updates the view metadata. Note that either Name or Description must be provided.

+ + @param request A container for the necessary parameters to execute the UpdateViewMetadata service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectUpdateViewMetadataResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorDuplicateResource`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectUpdateViewMetadataRequest + @see AWSConnectUpdateViewMetadataResponse + */ +- (AWSTask *)updateViewMetadata:(AWSConnectUpdateViewMetadataRequest *)request; + +/** +

Updates the view metadata. Note that either Name or Description must be provided.

+ + @param request A container for the necessary parameters to execute the UpdateViewMetadata 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 `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorInternalService`, `AWSConnectErrorTooManyRequests`, `AWSConnectErrorDuplicateResource`, `AWSConnectErrorResourceInUse`. + + @see AWSConnectUpdateViewMetadataRequest + @see AWSConnectUpdateViewMetadataResponse + */ +- (void)updateViewMetadata:(AWSConnectUpdateViewMetadataRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectUpdateViewMetadataResponse * _Nullable response, NSError * _Nullable error))completionHandler; + @end NS_ASSUME_NONNULL_END diff --git a/AWSConnect/AWSConnectService.m b/AWSConnect/AWSConnectService.m index e3eee9245ac..3aab4b9ec64 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.33.4"; +NSString *const AWSConnectSDKVersion = @"2.33.5"; @interface AWSConnectResponseSerializer : AWSJSONResponseSerializer @@ -60,6 +60,7 @@ + (void)initialize { @"ResourceNotReadyException" : @(AWSConnectErrorResourceNotReady), @"ServiceQuotaExceededException" : @(AWSConnectErrorServiceQuotaExceeded), @"ThrottlingException" : @(AWSConnectErrorThrottling), + @"TooManyRequestsException" : @(AWSConnectErrorTooManyRequests), @"UserNotFoundException" : @(AWSConnectErrorUserNotFound), }; } @@ -1026,6 +1027,52 @@ - (void)createUserHierarchyGroup:(AWSConnectCreateUserHierarchyGroupRequest *)re }]; } +- (AWSTask *)createView:(AWSConnectCreateViewRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPUT + URLString:@"/views/{InstanceId}" + targetPrefix:@"" + operationName:@"CreateView" + outputClass:[AWSConnectCreateViewResponse class]]; +} + +- (void)createView:(AWSConnectCreateViewRequest *)request + completionHandler:(void (^)(AWSConnectCreateViewResponse *response, NSError *error))completionHandler { + [[self createView:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectCreateViewResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)createViewVersion:(AWSConnectCreateViewVersionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPUT + URLString:@"/views/{InstanceId}/{ViewId}/versions" + targetPrefix:@"" + operationName:@"CreateViewVersion" + outputClass:[AWSConnectCreateViewVersionResponse class]]; +} + +- (void)createViewVersion:(AWSConnectCreateViewVersionRequest *)request + completionHandler:(void (^)(AWSConnectCreateViewVersionResponse *response, NSError *error))completionHandler { + [[self createViewVersion:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectCreateViewVersionResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)createVocabulary:(AWSConnectCreateVocabularyRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -1472,6 +1519,52 @@ - (void)deleteUserHierarchyGroup:(AWSConnectDeleteUserHierarchyGroupRequest *)re }]; } +- (AWSTask *)deleteView:(AWSConnectDeleteViewRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodDELETE + URLString:@"/views/{InstanceId}/{ViewId}" + targetPrefix:@"" + operationName:@"DeleteView" + outputClass:[AWSConnectDeleteViewResponse class]]; +} + +- (void)deleteView:(AWSConnectDeleteViewRequest *)request + completionHandler:(void (^)(AWSConnectDeleteViewResponse *response, NSError *error))completionHandler { + [[self deleteView:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectDeleteViewResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)deleteViewVersion:(AWSConnectDeleteViewVersionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodDELETE + URLString:@"/views/{InstanceId}/{ViewId}/versions/{ViewVersion}" + targetPrefix:@"" + operationName:@"DeleteViewVersion" + outputClass:[AWSConnectDeleteViewVersionResponse class]]; +} + +- (void)deleteViewVersion:(AWSConnectDeleteViewVersionRequest *)request + completionHandler:(void (^)(AWSConnectDeleteViewVersionResponse *response, NSError *error))completionHandler { + [[self deleteViewVersion:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectDeleteViewVersionResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)deleteVocabulary:(AWSConnectDeleteVocabularyRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -1978,6 +2071,29 @@ - (void)describeUserHierarchyStructure:(AWSConnectDescribeUserHierarchyStructure }]; } +- (AWSTask *)describeView:(AWSConnectDescribeViewRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodGET + URLString:@"/views/{InstanceId}/{ViewId}" + targetPrefix:@"" + operationName:@"DescribeView" + outputClass:[AWSConnectDescribeViewResponse class]]; +} + +- (void)describeView:(AWSConnectDescribeViewRequest *)request + completionHandler:(void (^)(AWSConnectDescribeViewResponse *response, NSError *error))completionHandler { + [[self describeView:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectDescribeViewResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)describeVocabulary:(AWSConnectDescribeVocabularyRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodGET @@ -3073,6 +3189,29 @@ - (void)listSecurityKeys:(AWSConnectListSecurityKeysRequest *)request }]; } +- (AWSTask *)listSecurityProfileApplications:(AWSConnectListSecurityProfileApplicationsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodGET + URLString:@"/security-profiles-applications/{InstanceId}/{SecurityProfileId}" + targetPrefix:@"" + operationName:@"ListSecurityProfileApplications" + outputClass:[AWSConnectListSecurityProfileApplicationsResponse class]]; +} + +- (void)listSecurityProfileApplications:(AWSConnectListSecurityProfileApplicationsRequest *)request + completionHandler:(void (^)(AWSConnectListSecurityProfileApplicationsResponse *response, NSError *error))completionHandler { + [[self listSecurityProfileApplications:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectListSecurityProfileApplicationsResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)listSecurityProfilePermissions:(AWSConnectListSecurityProfilePermissionsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodGET @@ -3280,6 +3419,52 @@ - (void)listUsers:(AWSConnectListUsersRequest *)request }]; } +- (AWSTask *)listViewVersions:(AWSConnectListViewVersionsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodGET + URLString:@"/views/{InstanceId}/{ViewId}/versions" + targetPrefix:@"" + operationName:@"ListViewVersions" + outputClass:[AWSConnectListViewVersionsResponse class]]; +} + +- (void)listViewVersions:(AWSConnectListViewVersionsRequest *)request + completionHandler:(void (^)(AWSConnectListViewVersionsResponse *response, NSError *error))completionHandler { + [[self listViewVersions:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectListViewVersionsResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)listViews:(AWSConnectListViewsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodGET + URLString:@"/views/{InstanceId}" + targetPrefix:@"" + operationName:@"ListViews" + outputClass:[AWSConnectListViewsResponse class]]; +} + +- (void)listViews:(AWSConnectListViewsRequest *)request + completionHandler:(void (^)(AWSConnectListViewsResponse *response, NSError *error))completionHandler { + [[self listViews:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectListViewsResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)monitorContact:(AWSConnectMonitorContactRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -4308,6 +4493,28 @@ - (void)updatePhoneNumber:(AWSConnectUpdatePhoneNumberRequest *)request }]; } +- (AWSTask *)updatePhoneNumberMetadata:(AWSConnectUpdatePhoneNumberMetadataRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPUT + URLString:@"/phone-number/{PhoneNumberId}/metadata" + targetPrefix:@"" + operationName:@"UpdatePhoneNumberMetadata" + outputClass:nil]; +} + +- (void)updatePhoneNumberMetadata:(AWSConnectUpdatePhoneNumberMetadataRequest *)request + completionHandler:(void (^)(NSError *error))completionHandler { + [[self updatePhoneNumberMetadata:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + NSError *error = task.error; + + if (completionHandler) { + completionHandler(error); + } + + return nil; + }]; +} + - (AWSTask *)updatePrompt:(AWSConnectUpdatePromptRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -4839,6 +5046,52 @@ - (void)updateUserSecurityProfiles:(AWSConnectUpdateUserSecurityProfilesRequest }]; } +- (AWSTask *)updateViewContent:(AWSConnectUpdateViewContentRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"/views/{InstanceId}/{ViewId}" + targetPrefix:@"" + operationName:@"UpdateViewContent" + outputClass:[AWSConnectUpdateViewContentResponse class]]; +} + +- (void)updateViewContent:(AWSConnectUpdateViewContentRequest *)request + completionHandler:(void (^)(AWSConnectUpdateViewContentResponse *response, NSError *error))completionHandler { + [[self updateViewContent:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectUpdateViewContentResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)updateViewMetadata:(AWSConnectUpdateViewMetadataRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"/views/{InstanceId}/{ViewId}/metadata" + targetPrefix:@"" + operationName:@"UpdateViewMetadata" + outputClass:[AWSConnectUpdateViewMetadataResponse class]]; +} + +- (void)updateViewMetadata:(AWSConnectUpdateViewMetadataRequest *)request + completionHandler:(void (^)(AWSConnectUpdateViewMetadataResponse *response, NSError *error))completionHandler { + [[self updateViewMetadata:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectUpdateViewMetadataResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + #pragma mark - @end diff --git a/AWSConnect/Info.plist b/AWSConnect/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSConnect/Info.plist +++ b/AWSConnect/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnectParticipant.podspec b/AWSConnectParticipant.podspec index 8ffd6fdeda5..33438179d4d 100644 --- a/AWSConnectParticipant.podspec +++ b/AWSConnectParticipant.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnectParticipant' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSConnectParticipant/*.{h,m}' end diff --git a/AWSConnectParticipant/AWSConnectParticipantModel.h b/AWSConnectParticipant/AWSConnectParticipantModel.h index 16df6422bd4..f761a53929e 100644 --- a/AWSConnectParticipant/AWSConnectParticipantModel.h +++ b/AWSConnectParticipant/AWSConnectParticipantModel.h @@ -26,6 +26,7 @@ typedef NS_ENUM(NSInteger, AWSConnectParticipantErrorType) { AWSConnectParticipantErrorAccessDenied, AWSConnectParticipantErrorConflict, AWSConnectParticipantErrorInternalServer, + AWSConnectParticipantErrorResourceNotFound, AWSConnectParticipantErrorServiceQuotaExceeded, AWSConnectParticipantErrorThrottling, AWSConnectParticipantErrorValidation, @@ -65,6 +66,18 @@ typedef NS_ENUM(NSInteger, AWSConnectParticipantParticipantRole) { AWSConnectParticipantParticipantRoleAgent, AWSConnectParticipantParticipantRoleCustomer, AWSConnectParticipantParticipantRoleSystem, + AWSConnectParticipantParticipantRoleCustomBot, +}; + +typedef NS_ENUM(NSInteger, AWSConnectParticipantResourceType) { + AWSConnectParticipantResourceTypeUnknown, + AWSConnectParticipantResourceTypeContact, + AWSConnectParticipantResourceTypeContactFlow, + AWSConnectParticipantResourceTypeInstance, + AWSConnectParticipantResourceTypeParticipant, + AWSConnectParticipantResourceTypeHierarchyLevel, + AWSConnectParticipantResourceTypeHierarchyGroup, + AWSConnectParticipantResourceTypeUser, }; typedef NS_ENUM(NSInteger, AWSConnectParticipantScanDirection) { @@ -85,6 +98,8 @@ typedef NS_ENUM(NSInteger, AWSConnectParticipantSortKey) { @class AWSConnectParticipantConnectionCredentials; @class AWSConnectParticipantCreateParticipantConnectionRequest; @class AWSConnectParticipantCreateParticipantConnectionResponse; +@class AWSConnectParticipantDescribeViewRequest; +@class AWSConnectParticipantDescribeViewResponse; @class AWSConnectParticipantDisconnectParticipantRequest; @class AWSConnectParticipantDisconnectParticipantResponse; @class AWSConnectParticipantGetAttachmentRequest; @@ -102,6 +117,8 @@ typedef NS_ENUM(NSInteger, AWSConnectParticipantSortKey) { @class AWSConnectParticipantStartAttachmentUploadResponse; @class AWSConnectParticipantStartPosition; @class AWSConnectParticipantUploadMetadata; +@class AWSConnectParticipantView; +@class AWSConnectParticipantViewContent; @class AWSConnectParticipantWebsocket; /** @@ -198,7 +215,7 @@ typedef NS_ENUM(NSInteger, AWSConnectParticipantSortKey) { @property (nonatomic, strong) NSString * _Nullable participantToken; /** -

Type of connection information required. This can be omitted if ConnectParticipant is true.

+

Type of connection information required. If you need CONNECTION_CREDENTIALS along with marking participant as connected, pass CONNECTION_CREDENTIALS in Type.

*/ @property (nonatomic, strong) NSArray * _Nullable types; @@ -222,6 +239,37 @@ typedef NS_ENUM(NSInteger, AWSConnectParticipantSortKey) { @end +/** + + */ +@interface AWSConnectParticipantDescribeViewRequest : AWSRequest + + +/** +

The connection token.

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

An encrypted token originating from the interactive message of a ShowView block operation. Represents the desired view.

+ */ +@property (nonatomic, strong) NSString * _Nullable viewToken; + +@end + +/** + + */ +@interface AWSConnectParticipantDescribeViewResponse : AWSModel + + +/** +

A view resource object. Contains metadata and content necessary to render the view.

+ */ +@property (nonatomic, strong) AWSConnectParticipantView * _Nullable view; + +@end + /** */ @@ -648,6 +696,62 @@ typedef NS_ENUM(NSInteger, AWSConnectParticipantSortKey) { @end +/** +

A view resource object. Contains metadata and content necessary to render the view.

+ */ +@interface AWSConnectParticipantView : AWSModel + + +/** +

The Amazon Resource Name (ARN) of the view.

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

View content containing all content necessary to render a view except for runtime input data.

+ */ +@property (nonatomic, strong) AWSConnectParticipantViewContent * _Nullable content; + +/** +

The identifier of the view.

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

The name of the view.

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

The current version of the view.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable version; + +@end + +/** +

View content containing all content necessary to render a view except for runtime input data.

+ */ +@interface AWSConnectParticipantViewContent : AWSModel + + +/** +

A list of actions possible from the view

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

The schema representing the input data that the view template must be supplied to render.

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

The view template representing the structure of the view.

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

The websocket for the participant's connection.

*/ diff --git a/AWSConnectParticipant/AWSConnectParticipantModel.m b/AWSConnectParticipant/AWSConnectParticipantModel.m index 2e00d87548c..ba7c5367436 100644 --- a/AWSConnectParticipant/AWSConnectParticipantModel.m +++ b/AWSConnectParticipant/AWSConnectParticipantModel.m @@ -139,6 +139,39 @@ + (NSValueTransformer *)websocketJSONTransformer { @end +@implementation AWSConnectParticipantDescribeViewRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"connectionToken" : @"ConnectionToken", + @"viewToken" : @"ViewToken", + }; +} + +@end + +@implementation AWSConnectParticipantDescribeViewResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"view" : @"View", + }; +} + ++ (NSValueTransformer *)viewJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectParticipantView class]]; +} + +@end + @implementation AWSConnectParticipantDisconnectParticipantRequest + (BOOL)supportsSecureCoding { @@ -320,6 +353,9 @@ + (NSValueTransformer *)participantRoleJSONTransformer { if ([value caseInsensitiveCompare:@"SYSTEM"] == NSOrderedSame) { return @(AWSConnectParticipantParticipantRoleSystem); } + if ([value caseInsensitiveCompare:@"CUSTOM_BOT"] == NSOrderedSame) { + return @(AWSConnectParticipantParticipantRoleCustomBot); + } return @(AWSConnectParticipantParticipantRoleUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -329,6 +365,8 @@ + (NSValueTransformer *)participantRoleJSONTransformer { return @"CUSTOMER"; case AWSConnectParticipantParticipantRoleSystem: return @"SYSTEM"; + case AWSConnectParticipantParticipantRoleCustomBot: + return @"CUSTOM_BOT"; default: return nil; } @@ -576,6 +614,44 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectParticipantView + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"arn" : @"Arn", + @"content" : @"Content", + @"identifier" : @"Id", + @"name" : @"Name", + @"version" : @"Version", + }; +} + ++ (NSValueTransformer *)contentJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectParticipantViewContent class]]; +} + +@end + +@implementation AWSConnectParticipantViewContent + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"actions" : @"Actions", + @"inputSchema" : @"InputSchema", + @"template" : @"Template", + }; +} + +@end + @implementation AWSConnectParticipantWebsocket + (BOOL)supportsSecureCoding { diff --git a/AWSConnectParticipant/AWSConnectParticipantResources.m b/AWSConnectParticipant/AWSConnectParticipantResources.m index 784a4d67b88..abc89932372 100644 --- a/AWSConnectParticipant/AWSConnectParticipantResources.m +++ b/AWSConnectParticipant/AWSConnectParticipantResources.m @@ -105,6 +105,23 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Creates the participant's connection.

ParticipantToken is used for invoking this API instead of ConnectionToken.

The participant token is valid for the lifetime of the participant – until they are part of a contact.

The response URL for WEBSOCKET Type has a connect expiry timeout of 100s. Clients must manually connect to the returned websocket URL and subscribe to the desired topic.

For chat, you need to publish the following on the established websocket connection:

{\\\"topic\\\":\\\"aws/subscribe\\\",\\\"content\\\":{\\\"topics\\\":[\\\"aws/chat\\\"]}}

Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter, clients need to call this API again to obtain a new websocket URL and perform the same steps as before.

Message streaming support: This API can also be used together with the StartContactStreaming API to create a participant connection for chat contacts that are not using a websocket. For more information about message streaming, Enable real-time chat message streaming in the Amazon Connect Administrator Guide.

Feature specifications: For information about feature specifications, such as the allowed number of open websocket connections per participant, see Feature specifications in the Amazon Connect Administrator Guide.

The Amazon Connect Participant Service APIs do not use Signature Version 4 authentication.

\"\ },\ + \"DescribeView\":{\ + \"name\":\"DescribeView\",\ + \"http\":{\ + \"method\":\"GET\",\ + \"requestUri\":\"/participant/views/{ViewToken}\"\ + },\ + \"input\":{\"shape\":\"DescribeViewRequest\"},\ + \"output\":{\"shape\":\"DescribeViewResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InternalServerException\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ValidationException\"}\ + ],\ + \"documentation\":\"

Retrieves the view for the specified view token.

\"\ + },\ \"DisconnectParticipant\":{\ \"name\":\"DisconnectParticipant\",\ \"http\":{\ @@ -204,6 +221,7 @@ - (NSString *)definitionString { }\ },\ \"shapes\":{\ + \"ARN\":{\"type\":\"string\"},\ \"AccessDeniedException\":{\ \"type\":\"structure\",\ \"required\":[\"Message\"],\ @@ -387,7 +405,7 @@ - (NSString *)definitionString { \"members\":{\ \"Type\":{\ \"shape\":\"ConnectionTypeList\",\ - \"documentation\":\"

Type of connection information required. This can be omitted if ConnectParticipant is true.

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

Type of connection information required. If you need CONNECTION_CREDENTIALS along with marking participant as connected, pass CONNECTION_CREDENTIALS in Type.

\"\ },\ \"ParticipantToken\":{\ \"shape\":\"ParticipantToken\",\ @@ -414,6 +432,36 @@ - (NSString *)definitionString { }\ }\ },\ + \"DescribeViewRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"ViewToken\",\ + \"ConnectionToken\"\ + ],\ + \"members\":{\ + \"ViewToken\":{\ + \"shape\":\"ViewToken\",\ + \"documentation\":\"

An encrypted token originating from the interactive message of a ShowView block operation. Represents the desired view.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"ViewToken\"\ + },\ + \"ConnectionToken\":{\ + \"shape\":\"ParticipantToken\",\ + \"documentation\":\"

The connection token.

\",\ + \"location\":\"header\",\ + \"locationName\":\"X-Amz-Bearer\"\ + }\ + }\ + },\ + \"DescribeViewResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"View\":{\ + \"shape\":\"View\",\ + \"documentation\":\"

A view resource object. Contains metadata and content necessary to render the view.

\"\ + }\ + }\ + },\ \"DisconnectParticipantRequest\":{\ \"type\":\"structure\",\ \"required\":[\"ConnectionToken\"],\ @@ -643,7 +691,8 @@ - (NSString *)definitionString { \"enum\":[\ \"AGENT\",\ \"CUSTOMER\",\ - \"SYSTEM\"\ + \"SYSTEM\",\ + \"CUSTOM_BOT\"\ ]\ },\ \"ParticipantToken\":{\ @@ -688,6 +737,36 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"Receipt\"}\ },\ + \"ResourceId\":{\"type\":\"string\"},\ + \"ResourceNotFoundException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Message\":{\"shape\":\"Message\"},\ + \"ResourceId\":{\ + \"shape\":\"ResourceId\",\ + \"documentation\":\"

The identifier of the resource.

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

The type of Amazon Connect resource.

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

The resource was not found.

\",\ + \"error\":{\"httpStatusCode\":404},\ + \"exception\":true\ + },\ + \"ResourceType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"CONTACT\",\ + \"CONTACT_FLOW\",\ + \"INSTANCE\",\ + \"PARTICIPANT\",\ + \"HIERARCHY_LEVEL\",\ + \"HIERARCHY_GROUP\",\ + \"USER\"\ + ]\ + },\ \"ScanDirection\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -923,6 +1002,88 @@ - (NSString *)definitionString { \"error\":{\"httpStatusCode\":400},\ \"exception\":true\ },\ + \"View\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Id\":{\ + \"shape\":\"ViewId\",\ + \"documentation\":\"

The identifier of the view.

\"\ + },\ + \"Arn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the view.

\"\ + },\ + \"Name\":{\ + \"shape\":\"ViewName\",\ + \"documentation\":\"

The name of the view.

\"\ + },\ + \"Version\":{\ + \"shape\":\"ViewVersion\",\ + \"documentation\":\"

The current version of the view.

\"\ + },\ + \"Content\":{\ + \"shape\":\"ViewContent\",\ + \"documentation\":\"

View content containing all content necessary to render a view except for runtime input data.

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

A view resource object. Contains metadata and content necessary to render the view.

\"\ + },\ + \"ViewAction\":{\ + \"type\":\"string\",\ + \"max\":255,\ + \"min\":1,\ + \"pattern\":\"^([\\\\p{L}\\\\p{N}_.:\\\\/=+\\\\-@()']+[\\\\p{L}\\\\p{Z}\\\\p{N}_.:\\\\/=+\\\\-@()']*)$\",\ + \"sensitive\":true\ + },\ + \"ViewActions\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ViewAction\"}\ + },\ + \"ViewContent\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"InputSchema\":{\ + \"shape\":\"ViewInputSchema\",\ + \"documentation\":\"

The schema representing the input data that the view template must be supplied to render.

\"\ + },\ + \"Template\":{\ + \"shape\":\"ViewTemplate\",\ + \"documentation\":\"

The view template representing the structure of the view.

\"\ + },\ + \"Actions\":{\ + \"shape\":\"ViewActions\",\ + \"documentation\":\"

A list of actions possible from the view

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

View content containing all content necessary to render a view except for runtime input data.

\"\ + },\ + \"ViewId\":{\ + \"type\":\"string\",\ + \"max\":500,\ + \"min\":1,\ + \"pattern\":\"^[a-zA-Z0-9\\\\_\\\\-:\\\\/$]+$\"\ + },\ + \"ViewInputSchema\":{\ + \"type\":\"string\",\ + \"sensitive\":true\ + },\ + \"ViewName\":{\ + \"type\":\"string\",\ + \"max\":255,\ + \"min\":1,\ + \"pattern\":\"^([\\\\p{L}\\\\p{N}_.:\\\\/=+\\\\-@()']+[\\\\p{L}\\\\p{Z}\\\\p{N}_.:\\\\/=+\\\\-@()']*)$\",\ + \"sensitive\":true\ + },\ + \"ViewTemplate\":{\ + \"type\":\"string\",\ + \"sensitive\":true\ + },\ + \"ViewToken\":{\ + \"type\":\"string\",\ + \"max\":1000,\ + \"min\":1\ + },\ + \"ViewVersion\":{\"type\":\"integer\"},\ \"Websocket\":{\ \"type\":\"structure\",\ \"members\":{\ diff --git a/AWSConnectParticipant/AWSConnectParticipantService.h b/AWSConnectParticipant/AWSConnectParticipantService.h index a3eaa3d2781..af9cdc7fa3c 100644 --- a/AWSConnectParticipant/AWSConnectParticipantService.h +++ b/AWSConnectParticipant/AWSConnectParticipantService.h @@ -224,6 +224,31 @@ FOUNDATION_EXPORT NSString *const AWSConnectParticipantSDKVersion; */ - (void)createParticipantConnection:(AWSConnectParticipantCreateParticipantConnectionRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectParticipantCreateParticipantConnectionResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Retrieves the view for the specified view token.

+ + @param request A container for the necessary parameters to execute the DescribeView service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectParticipantDescribeViewResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectParticipantErrorDomain` domain and the following error code: `AWSConnectParticipantErrorAccessDenied`, `AWSConnectParticipantErrorInternalServer`, `AWSConnectParticipantErrorThrottling`, `AWSConnectParticipantErrorResourceNotFound`, `AWSConnectParticipantErrorValidation`. + + @see AWSConnectParticipantDescribeViewRequest + @see AWSConnectParticipantDescribeViewResponse + */ +- (AWSTask *)describeView:(AWSConnectParticipantDescribeViewRequest *)request; + +/** +

Retrieves the view for the specified view token.

+ + @param request A container for the necessary parameters to execute the DescribeView 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 `AWSConnectParticipantErrorDomain` domain and the following error code: `AWSConnectParticipantErrorAccessDenied`, `AWSConnectParticipantErrorInternalServer`, `AWSConnectParticipantErrorThrottling`, `AWSConnectParticipantErrorResourceNotFound`, `AWSConnectParticipantErrorValidation`. + + @see AWSConnectParticipantDescribeViewRequest + @see AWSConnectParticipantDescribeViewResponse + */ +- (void)describeView:(AWSConnectParticipantDescribeViewRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectParticipantDescribeViewResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Disconnects a participant.

ConnectionToken is used for invoking this API instead of ParticipantToken.

The Amazon Connect Participant Service APIs do not use Signature Version 4 authentication.

diff --git a/AWSConnectParticipant/AWSConnectParticipantService.m b/AWSConnectParticipant/AWSConnectParticipantService.m index 3b657a5df31..9de1b149cbc 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.33.4"; +NSString *const AWSConnectParticipantSDKVersion = @"2.33.5"; @interface AWSConnectParticipantResponseSerializer : AWSJSONResponseSerializer @@ -42,6 +42,7 @@ + (void)initialize { @"AccessDeniedException" : @(AWSConnectParticipantErrorAccessDenied), @"ConflictException" : @(AWSConnectParticipantErrorConflict), @"InternalServerException" : @(AWSConnectParticipantErrorInternalServer), + @"ResourceNotFoundException" : @(AWSConnectParticipantErrorResourceNotFound), @"ServiceQuotaExceededException" : @(AWSConnectParticipantErrorServiceQuotaExceeded), @"ThrottlingException" : @(AWSConnectParticipantErrorThrottling), @"ValidationException" : @(AWSConnectParticipantErrorValidation), @@ -325,6 +326,29 @@ - (void)createParticipantConnection:(AWSConnectParticipantCreateParticipantConne }]; } +- (AWSTask *)describeView:(AWSConnectParticipantDescribeViewRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodGET + URLString:@"/participant/views/{ViewToken}" + targetPrefix:@"" + operationName:@"DescribeView" + outputClass:[AWSConnectParticipantDescribeViewResponse class]]; +} + +- (void)describeView:(AWSConnectParticipantDescribeViewRequest *)request + completionHandler:(void (^)(AWSConnectParticipantDescribeViewResponse *response, NSError *error))completionHandler { + [[self describeView:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectParticipantDescribeViewResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)disconnectParticipant:(AWSConnectParticipantDisconnectParticipantRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSConnectParticipant/Info.plist b/AWSConnectParticipant/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSConnectParticipant/Info.plist +++ b/AWSConnectParticipant/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnectParticipantUnitTests/AWSConnectParticipantNSSecureCodingTests.m b/AWSConnectParticipantUnitTests/AWSConnectParticipantNSSecureCodingTests.m index 7f51412284d..1f4550d3b7a 100644 --- a/AWSConnectParticipantUnitTests/AWSConnectParticipantNSSecureCodingTests.m +++ b/AWSConnectParticipantUnitTests/AWSConnectParticipantNSSecureCodingTests.m @@ -25,6 +25,8 @@ - (void) test_AWSConnectParticipantCompleteAttachmentUploadResponse API_AVAILABL - (void) test_AWSConnectParticipantConnectionCredentials API_AVAILABLE(ios(11)); - (void) test_AWSConnectParticipantCreateParticipantConnectionRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectParticipantCreateParticipantConnectionResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectParticipantDescribeViewRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectParticipantDescribeViewResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectParticipantDisconnectParticipantRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectParticipantDisconnectParticipantResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectParticipantGetAttachmentRequest API_AVAILABLE(ios(11)); @@ -42,6 +44,8 @@ - (void) test_AWSConnectParticipantStartAttachmentUploadRequest API_AVAILABLE(io - (void) test_AWSConnectParticipantStartAttachmentUploadResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectParticipantStartPosition API_AVAILABLE(ios(11)); - (void) test_AWSConnectParticipantUploadMetadata API_AVAILABLE(ios(11)); +- (void) test_AWSConnectParticipantView API_AVAILABLE(ios(11)); +- (void) test_AWSConnectParticipantViewContent API_AVAILABLE(ios(11)); - (void) test_AWSConnectParticipantWebsocket API_AVAILABLE(ios(11)); @end @@ -72,6 +76,14 @@ - (void) test_AWSConnectParticipantCreateParticipantConnectionResponse { [self validateSecureCodingForClass:[AWSConnectParticipantCreateParticipantConnectionResponse class]]; } +- (void) test_AWSConnectParticipantDescribeViewRequest { + [self validateSecureCodingForClass:[AWSConnectParticipantDescribeViewRequest class]]; +} + +- (void) test_AWSConnectParticipantDescribeViewResponse { + [self validateSecureCodingForClass:[AWSConnectParticipantDescribeViewResponse class]]; +} + - (void) test_AWSConnectParticipantDisconnectParticipantRequest { [self validateSecureCodingForClass:[AWSConnectParticipantDisconnectParticipantRequest class]]; } @@ -140,6 +152,14 @@ - (void) test_AWSConnectParticipantUploadMetadata { [self validateSecureCodingForClass:[AWSConnectParticipantUploadMetadata class]]; } +- (void) test_AWSConnectParticipantView { + [self validateSecureCodingForClass:[AWSConnectParticipantView class]]; +} + +- (void) test_AWSConnectParticipantViewContent { + [self validateSecureCodingForClass:[AWSConnectParticipantViewContent class]]; +} + - (void) test_AWSConnectParticipantWebsocket { [self validateSecureCodingForClass:[AWSConnectParticipantWebsocket class]]; } diff --git a/AWSConnectParticipantUnitTests/AWSGeneralConnectParticipantTests.m b/AWSConnectParticipantUnitTests/AWSGeneralConnectParticipantTests.m index 3a0a8394ac6..a5061797290 100644 --- a/AWSConnectParticipantUnitTests/AWSGeneralConnectParticipantTests.m +++ b/AWSConnectParticipantUnitTests/AWSGeneralConnectParticipantTests.m @@ -153,6 +153,54 @@ - (void)testCreateParticipantConnectionCompletionHandler { [AWSConnectParticipant removeConnectParticipantForKey:key]; } +- (void)testDescribeView { + NSString *key = @"testDescribeView"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnectParticipant registerConnectParticipantWithConfiguration:configuration forKey:key]; + + AWSConnectParticipant *awsClient = [AWSConnectParticipant ConnectParticipantForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnectParticipant ConnectParticipantForKey:key] describeView:[AWSConnectParticipantDescribeViewRequest 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]]); + + [AWSConnectParticipant removeConnectParticipantForKey:key]; +} + +- (void)testDescribeViewCompletionHandler { + NSString *key = @"testDescribeView"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnectParticipant registerConnectParticipantWithConfiguration:configuration forKey:key]; + + AWSConnectParticipant *awsClient = [AWSConnectParticipant ConnectParticipantForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnectParticipant ConnectParticipantForKey:key] describeView:[AWSConnectParticipantDescribeViewRequest new] completionHandler:^(AWSConnectParticipantDescribeViewResponse* _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]]); + + [AWSConnectParticipant removeConnectParticipantForKey:key]; +} + - (void)testDisconnectParticipant { NSString *key = @"testDisconnectParticipant"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; diff --git a/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m b/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m index afa3505cf25..c145d6d4758 100644 --- a/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m +++ b/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m @@ -29,6 +29,7 @@ - (void) test_AWSConnectAgentStatus API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentStatusReference API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentStatusSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectAnswerMachineDetectionConfig API_AVAILABLE(ios(11)); +- (void) test_AWSConnectApplication API_AVAILABLE(ios(11)); - (void) test_AWSConnectAssignContactCategoryActionDefinition API_AVAILABLE(ios(11)); - (void) test_AWSConnectAssociateApprovedOriginRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectAssociateBotRequest API_AVAILABLE(ios(11)); @@ -99,6 +100,10 @@ - (void) test_AWSConnectCreateUserHierarchyGroupRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectCreateUserHierarchyGroupResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectCreateUserRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectCreateUserResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectCreateViewRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectCreateViewResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectCreateViewVersionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectCreateViewVersionResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectCreateVocabularyRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectCreateVocabularyResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectCredentials API_AVAILABLE(ios(11)); @@ -133,6 +138,10 @@ - (void) test_AWSConnectDeleteTrafficDistributionGroupResponse API_AVAILABLE(ios - (void) test_AWSConnectDeleteUseCaseRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDeleteUserHierarchyGroupRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDeleteUserRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDeleteViewRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDeleteViewResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDeleteViewVersionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDeleteViewVersionResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectDeleteVocabularyRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDeleteVocabularyResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectDescribeAgentStatusRequest API_AVAILABLE(ios(11)); @@ -177,6 +186,8 @@ - (void) test_AWSConnectDescribeUserHierarchyStructureRequest API_AVAILABLE(ios( - (void) test_AWSConnectDescribeUserHierarchyStructureResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectDescribeUserRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDescribeUserResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDescribeViewRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDescribeViewResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectDescribeVocabularyRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDescribeVocabularyResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectDimensions API_AVAILABLE(ios(11)); @@ -265,6 +276,7 @@ - (void) test_AWSConnectInstanceStatusReason API_AVAILABLE(ios(11)); - (void) test_AWSConnectInstanceStorageConfig API_AVAILABLE(ios(11)); - (void) test_AWSConnectInstanceSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectIntegrationAssociationSummary API_AVAILABLE(ios(11)); +- (void) test_AWSConnectIntervalDetails API_AVAILABLE(ios(11)); - (void) test_AWSConnectInvisibleFieldInfo API_AVAILABLE(ios(11)); - (void) test_AWSConnectKinesisFirehoseConfig API_AVAILABLE(ios(11)); - (void) test_AWSConnectKinesisStreamConfig API_AVAILABLE(ios(11)); @@ -327,6 +339,8 @@ - (void) test_AWSConnectListRulesRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectListRulesResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectListSecurityKeysRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectListSecurityKeysResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectListSecurityProfileApplicationsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectListSecurityProfileApplicationsResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectListSecurityProfilePermissionsRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectListSecurityProfilePermissionsResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectListSecurityProfilesRequest API_AVAILABLE(ios(11)); @@ -345,9 +359,14 @@ - (void) test_AWSConnectListUserHierarchyGroupsRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectListUserHierarchyGroupsResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectListUsersRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectListUsersResponse API_AVAILABLE(ios(11)); +- (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_AWSConnectMediaConcurrency API_AVAILABLE(ios(11)); - (void) test_AWSConnectMetricDataV2 API_AVAILABLE(ios(11)); - (void) test_AWSConnectMetricFilterV2 API_AVAILABLE(ios(11)); +- (void) test_AWSConnectMetricInterval API_AVAILABLE(ios(11)); - (void) test_AWSConnectMetricResultV2 API_AVAILABLE(ios(11)); - (void) test_AWSConnectMetricV2 API_AVAILABLE(ios(11)); - (void) test_AWSConnectMonitorContactRequest API_AVAILABLE(ios(11)); @@ -509,6 +528,7 @@ - (void) test_AWSConnectUpdateInstanceStorageConfigRequest API_AVAILABLE(ios(11) - (void) test_AWSConnectUpdateParticipantRoleConfigChannelInfo API_AVAILABLE(ios(11)); - (void) test_AWSConnectUpdateParticipantRoleConfigRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectUpdateParticipantRoleConfigResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectUpdatePhoneNumberMetadataRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectUpdatePhoneNumberRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectUpdatePhoneNumberResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectUpdatePromptRequest API_AVAILABLE(ios(11)); @@ -538,6 +558,10 @@ - (void) test_AWSConnectUpdateUserIdentityInfoRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectUpdateUserPhoneConfigRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectUpdateUserRoutingProfileRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectUpdateUserSecurityProfilesRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectUpdateViewContentRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectUpdateViewContentResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectUpdateViewMetadataRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectUpdateViewMetadataResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectUrlReference API_AVAILABLE(ios(11)); - (void) test_AWSConnectUseCase API_AVAILABLE(ios(11)); - (void) test_AWSConnectUser API_AVAILABLE(ios(11)); @@ -552,6 +576,11 @@ - (void) test_AWSConnectUserSearchCriteria API_AVAILABLE(ios(11)); - (void) test_AWSConnectUserSearchFilter API_AVAILABLE(ios(11)); - (void) test_AWSConnectUserSearchSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectUserSummary API_AVAILABLE(ios(11)); +- (void) test_AWSConnectView API_AVAILABLE(ios(11)); +- (void) test_AWSConnectViewContent API_AVAILABLE(ios(11)); +- (void) test_AWSConnectViewInputContent API_AVAILABLE(ios(11)); +- (void) test_AWSConnectViewSummary API_AVAILABLE(ios(11)); +- (void) test_AWSConnectViewVersionSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectVocabulary API_AVAILABLE(ios(11)); - (void) test_AWSConnectVocabularySummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectVoiceRecordingConfiguration API_AVAILABLE(ios(11)); @@ -601,6 +630,10 @@ - (void) test_AWSConnectAnswerMachineDetectionConfig { [self validateSecureCodingForClass:[AWSConnectAnswerMachineDetectionConfig class]]; } +- (void) test_AWSConnectApplication { + [self validateSecureCodingForClass:[AWSConnectApplication class]]; +} + - (void) test_AWSConnectAssignContactCategoryActionDefinition { [self validateSecureCodingForClass:[AWSConnectAssignContactCategoryActionDefinition class]]; } @@ -881,6 +914,22 @@ - (void) test_AWSConnectCreateUserResponse { [self validateSecureCodingForClass:[AWSConnectCreateUserResponse class]]; } +- (void) test_AWSConnectCreateViewRequest { + [self validateSecureCodingForClass:[AWSConnectCreateViewRequest class]]; +} + +- (void) test_AWSConnectCreateViewResponse { + [self validateSecureCodingForClass:[AWSConnectCreateViewResponse class]]; +} + +- (void) test_AWSConnectCreateViewVersionRequest { + [self validateSecureCodingForClass:[AWSConnectCreateViewVersionRequest class]]; +} + +- (void) test_AWSConnectCreateViewVersionResponse { + [self validateSecureCodingForClass:[AWSConnectCreateViewVersionResponse class]]; +} + - (void) test_AWSConnectCreateVocabularyRequest { [self validateSecureCodingForClass:[AWSConnectCreateVocabularyRequest class]]; } @@ -1017,6 +1066,22 @@ - (void) test_AWSConnectDeleteUserRequest { [self validateSecureCodingForClass:[AWSConnectDeleteUserRequest class]]; } +- (void) test_AWSConnectDeleteViewRequest { + [self validateSecureCodingForClass:[AWSConnectDeleteViewRequest class]]; +} + +- (void) test_AWSConnectDeleteViewResponse { + [self validateSecureCodingForClass:[AWSConnectDeleteViewResponse class]]; +} + +- (void) test_AWSConnectDeleteViewVersionRequest { + [self validateSecureCodingForClass:[AWSConnectDeleteViewVersionRequest class]]; +} + +- (void) test_AWSConnectDeleteViewVersionResponse { + [self validateSecureCodingForClass:[AWSConnectDeleteViewVersionResponse class]]; +} + - (void) test_AWSConnectDeleteVocabularyRequest { [self validateSecureCodingForClass:[AWSConnectDeleteVocabularyRequest class]]; } @@ -1193,6 +1258,14 @@ - (void) test_AWSConnectDescribeUserResponse { [self validateSecureCodingForClass:[AWSConnectDescribeUserResponse class]]; } +- (void) test_AWSConnectDescribeViewRequest { + [self validateSecureCodingForClass:[AWSConnectDescribeViewRequest class]]; +} + +- (void) test_AWSConnectDescribeViewResponse { + [self validateSecureCodingForClass:[AWSConnectDescribeViewResponse class]]; +} + - (void) test_AWSConnectDescribeVocabularyRequest { [self validateSecureCodingForClass:[AWSConnectDescribeVocabularyRequest class]]; } @@ -1545,6 +1618,10 @@ - (void) test_AWSConnectIntegrationAssociationSummary { [self validateSecureCodingForClass:[AWSConnectIntegrationAssociationSummary class]]; } +- (void) test_AWSConnectIntervalDetails { + [self validateSecureCodingForClass:[AWSConnectIntervalDetails class]]; +} + - (void) test_AWSConnectInvisibleFieldInfo { [self validateSecureCodingForClass:[AWSConnectInvisibleFieldInfo class]]; } @@ -1793,6 +1870,14 @@ - (void) test_AWSConnectListSecurityKeysResponse { [self validateSecureCodingForClass:[AWSConnectListSecurityKeysResponse class]]; } +- (void) test_AWSConnectListSecurityProfileApplicationsRequest { + [self validateSecureCodingForClass:[AWSConnectListSecurityProfileApplicationsRequest class]]; +} + +- (void) test_AWSConnectListSecurityProfileApplicationsResponse { + [self validateSecureCodingForClass:[AWSConnectListSecurityProfileApplicationsResponse class]]; +} + - (void) test_AWSConnectListSecurityProfilePermissionsRequest { [self validateSecureCodingForClass:[AWSConnectListSecurityProfilePermissionsRequest class]]; } @@ -1865,6 +1950,22 @@ - (void) test_AWSConnectListUsersResponse { [self validateSecureCodingForClass:[AWSConnectListUsersResponse class]]; } +- (void) test_AWSConnectListViewVersionsRequest { + [self validateSecureCodingForClass:[AWSConnectListViewVersionsRequest class]]; +} + +- (void) test_AWSConnectListViewVersionsResponse { + [self validateSecureCodingForClass:[AWSConnectListViewVersionsResponse class]]; +} + +- (void) test_AWSConnectListViewsRequest { + [self validateSecureCodingForClass:[AWSConnectListViewsRequest class]]; +} + +- (void) test_AWSConnectListViewsResponse { + [self validateSecureCodingForClass:[AWSConnectListViewsResponse class]]; +} + - (void) test_AWSConnectMediaConcurrency { [self validateSecureCodingForClass:[AWSConnectMediaConcurrency class]]; } @@ -1877,6 +1978,10 @@ - (void) test_AWSConnectMetricFilterV2 { [self validateSecureCodingForClass:[AWSConnectMetricFilterV2 class]]; } +- (void) test_AWSConnectMetricInterval { + [self validateSecureCodingForClass:[AWSConnectMetricInterval class]]; +} + - (void) test_AWSConnectMetricResultV2 { [self validateSecureCodingForClass:[AWSConnectMetricResultV2 class]]; } @@ -2521,6 +2626,10 @@ - (void) test_AWSConnectUpdateParticipantRoleConfigResponse { [self validateSecureCodingForClass:[AWSConnectUpdateParticipantRoleConfigResponse class]]; } +- (void) test_AWSConnectUpdatePhoneNumberMetadataRequest { + [self validateSecureCodingForClass:[AWSConnectUpdatePhoneNumberMetadataRequest class]]; +} + - (void) test_AWSConnectUpdatePhoneNumberRequest { [self validateSecureCodingForClass:[AWSConnectUpdatePhoneNumberRequest class]]; } @@ -2637,6 +2746,22 @@ - (void) test_AWSConnectUpdateUserSecurityProfilesRequest { [self validateSecureCodingForClass:[AWSConnectUpdateUserSecurityProfilesRequest class]]; } +- (void) test_AWSConnectUpdateViewContentRequest { + [self validateSecureCodingForClass:[AWSConnectUpdateViewContentRequest class]]; +} + +- (void) test_AWSConnectUpdateViewContentResponse { + [self validateSecureCodingForClass:[AWSConnectUpdateViewContentResponse class]]; +} + +- (void) test_AWSConnectUpdateViewMetadataRequest { + [self validateSecureCodingForClass:[AWSConnectUpdateViewMetadataRequest class]]; +} + +- (void) test_AWSConnectUpdateViewMetadataResponse { + [self validateSecureCodingForClass:[AWSConnectUpdateViewMetadataResponse class]]; +} + - (void) test_AWSConnectUrlReference { [self validateSecureCodingForClass:[AWSConnectUrlReference class]]; } @@ -2693,6 +2818,26 @@ - (void) test_AWSConnectUserSummary { [self validateSecureCodingForClass:[AWSConnectUserSummary class]]; } +- (void) test_AWSConnectView { + [self validateSecureCodingForClass:[AWSConnectView class]]; +} + +- (void) test_AWSConnectViewContent { + [self validateSecureCodingForClass:[AWSConnectViewContent class]]; +} + +- (void) test_AWSConnectViewInputContent { + [self validateSecureCodingForClass:[AWSConnectViewInputContent class]]; +} + +- (void) test_AWSConnectViewSummary { + [self validateSecureCodingForClass:[AWSConnectViewSummary class]]; +} + +- (void) test_AWSConnectViewVersionSummary { + [self validateSecureCodingForClass:[AWSConnectViewVersionSummary class]]; +} + - (void) test_AWSConnectVocabulary { [self validateSecureCodingForClass:[AWSConnectVocabulary class]]; } diff --git a/AWSConnectUnitTests/AWSGeneralConnectTests.m b/AWSConnectUnitTests/AWSGeneralConnectTests.m index 3e8b9334101..7edb595dc2a 100644 --- a/AWSConnectUnitTests/AWSGeneralConnectTests.m +++ b/AWSConnectUnitTests/AWSGeneralConnectTests.m @@ -1586,6 +1586,102 @@ - (void)testCreateUserHierarchyGroupCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testCreateView { + NSString *key = @"testCreateView"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] createView:[AWSConnectCreateViewRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testCreateViewCompletionHandler { + NSString *key = @"testCreateView"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] createView:[AWSConnectCreateViewRequest new] completionHandler:^(AWSConnectCreateViewResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testCreateViewVersion { + NSString *key = @"testCreateViewVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] createViewVersion:[AWSConnectCreateViewVersionRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testCreateViewVersionCompletionHandler { + NSString *key = @"testCreateViewVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] createViewVersion:[AWSConnectCreateViewVersionRequest new] completionHandler:^(AWSConnectCreateViewVersionResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + - (void)testCreateVocabulary { NSString *key = @"testCreateVocabulary"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -2532,6 +2628,102 @@ - (void)testDeleteUserHierarchyGroupCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testDeleteView { + NSString *key = @"testDeleteView"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] deleteView:[AWSConnectDeleteViewRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testDeleteViewCompletionHandler { + NSString *key = @"testDeleteView"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] deleteView:[AWSConnectDeleteViewRequest new] completionHandler:^(AWSConnectDeleteViewResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testDeleteViewVersion { + NSString *key = @"testDeleteViewVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] deleteViewVersion:[AWSConnectDeleteViewVersionRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testDeleteViewVersionCompletionHandler { + NSString *key = @"testDeleteViewVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] deleteViewVersion:[AWSConnectDeleteViewVersionRequest new] completionHandler:^(AWSConnectDeleteViewVersionResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + - (void)testDeleteVocabulary { NSString *key = @"testDeleteVocabulary"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -3588,6 +3780,54 @@ - (void)testDescribeUserHierarchyStructureCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testDescribeView { + NSString *key = @"testDescribeView"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] describeView:[AWSConnectDescribeViewRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testDescribeViewCompletionHandler { + NSString *key = @"testDescribeView"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] describeView:[AWSConnectDescribeViewRequest new] completionHandler:^(AWSConnectDescribeViewResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + - (void)testDescribeVocabulary { NSString *key = @"testDescribeVocabulary"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -5883,6 +6123,54 @@ - (void)testListSecurityKeysCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testListSecurityProfileApplications { + NSString *key = @"testListSecurityProfileApplications"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] listSecurityProfileApplications:[AWSConnectListSecurityProfileApplicationsRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testListSecurityProfileApplicationsCompletionHandler { + NSString *key = @"testListSecurityProfileApplications"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] listSecurityProfileApplications:[AWSConnectListSecurityProfileApplicationsRequest new] completionHandler:^(AWSConnectListSecurityProfileApplicationsResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + - (void)testListSecurityProfilePermissions { NSString *key = @"testListSecurityProfilePermissions"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -6315,6 +6603,102 @@ - (void)testListUsersCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testListViewVersions { + NSString *key = @"testListViewVersions"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] listViewVersions:[AWSConnectListViewVersionsRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testListViewVersionsCompletionHandler { + NSString *key = @"testListViewVersions"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] listViewVersions:[AWSConnectListViewVersionsRequest new] completionHandler:^(AWSConnectListViewVersionsResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testListViews { + NSString *key = @"testListViews"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] listViews:[AWSConnectListViewsRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testListViewsCompletionHandler { + NSString *key = @"testListViews"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] listViews:[AWSConnectListViewsRequest new] completionHandler:^(AWSConnectListViewsResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + - (void)testMonitorContact { NSString *key = @"testMonitorContact"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -8468,6 +8852,53 @@ - (void)testUpdatePhoneNumberCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testUpdatePhoneNumberMetadata { + NSString *key = @"testUpdatePhoneNumberMetadata"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] updatePhoneNumberMetadata:[AWSConnectUpdatePhoneNumberMetadataRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testUpdatePhoneNumberMetadataCompletionHandler { + NSString *key = @"testUpdatePhoneNumberMetadata"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] updatePhoneNumberMetadata:[AWSConnectUpdatePhoneNumberMetadataRequest new] completionHandler:^(NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSConnect removeConnectForKey:key]; +} + - (void)testUpdatePrompt { NSString *key = @"testUpdatePrompt"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -9599,4 +10030,100 @@ - (void)testUpdateUserSecurityProfilesCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testUpdateViewContent { + NSString *key = @"testUpdateViewContent"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] updateViewContent:[AWSConnectUpdateViewContentRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testUpdateViewContentCompletionHandler { + NSString *key = @"testUpdateViewContent"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] updateViewContent:[AWSConnectUpdateViewContentRequest new] completionHandler:^(AWSConnectUpdateViewContentResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testUpdateViewMetadata { + NSString *key = @"testUpdateViewMetadata"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSConnect ConnectForKey:key] updateViewMetadata:[AWSConnectUpdateViewMetadataRequest 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]]); + + [AWSConnect removeConnectForKey:key]; +} + +- (void)testUpdateViewMetadataCompletionHandler { + NSString *key = @"testUpdateViewMetadata"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSConnect registerConnectWithConfiguration:configuration forKey:key]; + + AWSConnect *awsClient = [AWSConnect ConnectForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSConnect ConnectForKey:key] updateViewMetadata:[AWSConnectUpdateViewMetadataRequest new] completionHandler:^(AWSConnectUpdateViewMetadataResponse* _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]]); + + [AWSConnect removeConnectForKey:key]; +} + @end diff --git a/AWSCore.podspec b/AWSCore.podspec index 6efeaa33f63..a0a6ee11306 100644 --- a/AWSCore.podspec +++ b/AWSCore.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSCore' - s.version = '2.33.4' + s.version = '2.33.5' 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 a2c2de79b02..e4fb6d14e33 100644 --- a/AWSCore/Info.plist +++ b/AWSCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCore/STS/AWSSTSResources.m b/AWSCore/STS/AWSSTSResources.m index 86d00a0eb32..b04b5d40c20 100644 --- a/AWSCore/STS/AWSSTSResources.m +++ b/AWSCore/STS/AWSSTSResources.m @@ -231,7 +231,7 @@ - (NSString *)definitionString { \"documentation\":\"

The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

\"\ },\ \"Policy\":{\ - \"shape\":\"sessionPolicyDocumentType\",\ + \"shape\":\"unrestrictedSessionPolicyDocumentType\",\ \"documentation\":\"

An IAM policy in JSON format that you want to use as an inline session policy.

This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\\\u0020 through \\\\u00FF). It can also include the tab (\\\\u0009), linefeed (\\\\u000A), and carriage return (\\\\u000D) characters.

An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

\"\ },\ \"DurationSeconds\":{\ @@ -929,6 +929,11 @@ - (NSString *)definitionString { \"pattern\":\"[\\\\d]*\"\ },\ \"tokenType\":{\"type\":\"string\"},\ + \"unrestrictedSessionPolicyDocumentType\":{\ + \"type\":\"string\",\ + \"min\":1,\ + \"pattern\":\"[\\\\u0009\\\\u000A\\\\u000D\\\\u0020-\\\\u00FF]+\"\ + },\ \"urlType\":{\ \"type\":\"string\",\ \"max\":2048,\ diff --git a/AWSCore/STS/Info.plist b/AWSCore/STS/Info.plist index 29813613163..a2c2de79b02 100644 --- a/AWSCore/STS/Info.plist +++ b/AWSCore/STS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.1 + 2.33.4 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCore/Service/AWSService.m b/AWSCore/Service/AWSService.m index 404833e76f5..5eadd18f62c 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.33.4"; +NSString *const AWSiOSSDKVersion = @"2.33.5"; NSString *const AWSServiceErrorDomain = @"com.amazonaws.AWSServiceErrorDomain"; static NSString *const AWSServiceConfigurationUnknown = @"Unknown"; diff --git a/AWSDynamoDB.podspec b/AWSDynamoDB.podspec index 75dea90c93b..ad6791808c2 100644 --- a/AWSDynamoDB.podspec +++ b/AWSDynamoDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSDynamoDB' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSDynamoDB/*.{h,m}' end diff --git a/AWSDynamoDB/AWSDynamoDBModel.h b/AWSDynamoDB/AWSDynamoDBModel.h index aa27c2a6283..aab09561755 100644 --- a/AWSDynamoDB/AWSDynamoDBModel.h +++ b/AWSDynamoDB/AWSDynamoDBModel.h @@ -172,6 +172,18 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBExportStatus) { AWSDynamoDBExportStatusFailed, }; +typedef NS_ENUM(NSInteger, AWSDynamoDBExportType) { + AWSDynamoDBExportTypeUnknown, + AWSDynamoDBExportTypeFullExport, + AWSDynamoDBExportTypeIncrementalExport, +}; + +typedef NS_ENUM(NSInteger, AWSDynamoDBExportViewType) { + AWSDynamoDBExportViewTypeUnknown, + AWSDynamoDBExportViewTypeNewImage, + AWSDynamoDBExportViewTypeNewAndOldImages, +}; + typedef NS_ENUM(NSInteger, AWSDynamoDBGlobalTableStatus) { AWSDynamoDBGlobalTableStatusUnknown, AWSDynamoDBGlobalTableStatusCreating, @@ -441,6 +453,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @class AWSDynamoDBImportTableDescription; @class AWSDynamoDBImportTableInput; @class AWSDynamoDBImportTableOutput; +@class AWSDynamoDBIncrementalExportSpecification; @class AWSDynamoDBInputFormatOptions; @class AWSDynamoDBItemCollectionMetrics; @class AWSDynamoDBItemResponse; @@ -2416,6 +2429,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSDate * _Nullable exportTime; +/** +

The type of export that was performed. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT.

+ */ +@property (nonatomic, assign) AWSDynamoDBExportType exportType; + /**

Status code for the result of the failed export.

*/ @@ -2426,6 +2444,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSString * _Nullable failureMessage; +/** +

Optional object containing the parameters specific to an incremental export.

+ */ +@property (nonatomic, strong) AWSDynamoDBIncrementalExportSpecification * _Nullable incrementalExportSpecification; + /**

The number of items exported.

*/ @@ -2489,6 +2512,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, assign) AWSDynamoDBExportStatus exportStatus; +/** +

The type of export that was performed. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT.

+ */ +@property (nonatomic, assign) AWSDynamoDBExportType exportType; + @end /** @@ -2512,6 +2540,16 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSDate * _Nullable exportTime; +/** +

Choice of whether to execute as a full export or incremental export. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT. The default value is FULL_EXPORT. If INCREMENTAL_EXPORT is provided, the IncrementalExportSpecification must also be used.

+ */ +@property (nonatomic, assign) AWSDynamoDBExportType exportType; + +/** +

Optional object containing the parameters specific to an incremental export.

+ */ +@property (nonatomic, strong) AWSDynamoDBIncrementalExportSpecification * _Nullable incrementalExportSpecification; + /**

The name of the Amazon S3 bucket to export the snapshot to.

*/ @@ -3094,6 +3132,29 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @end +/** +

Optional object containing the parameters specific to an incremental export.

+ */ +@interface AWSDynamoDBIncrementalExportSpecification : AWSModel + + +/** +

Time in the past which provides the inclusive start range for the export table's data, counted in seconds from the start of the Unix epoch. The incremental export will reflect the table's state including and after this point in time.

+ */ +@property (nonatomic, strong) NSDate * _Nullable exportFromTime; + +/** +

Time in the past which provides the exclusive end range for the export table's data, counted in seconds from the start of the Unix epoch. The incremental export will reflect the table's state just prior to this point in time. If this is not provided, the latest time with data available will be used.

+ */ +@property (nonatomic, strong) NSDate * _Nullable exportToTime; + +/** +

The view type that was chosen for the export. Valid values are NEW_AND_OLD_IMAGES and NEW_IMAGES. The default value is NEW_AND_OLD_IMAGES.

+ */ +@property (nonatomic, assign) AWSDynamoDBExportViewType exportViewType; + +@end + /**

The format options for the data that was imported into the target table. There is one value, CsvOption.

*/ @@ -4710,7 +4771,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSDictionary * _Nullable expressionAttributeValues; /** -

A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

+

A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) NSString * _Nullable filterExpression; diff --git a/AWSDynamoDB/AWSDynamoDBModel.m b/AWSDynamoDB/AWSDynamoDBModel.m index 4d70225ea3b..e8e119b0572 100644 --- a/AWSDynamoDB/AWSDynamoDBModel.m +++ b/AWSDynamoDB/AWSDynamoDBModel.m @@ -2718,8 +2718,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"exportManifest" : @"ExportManifest", @"exportStatus" : @"ExportStatus", @"exportTime" : @"ExportTime", + @"exportType" : @"ExportType", @"failureCode" : @"FailureCode", @"failureMessage" : @"FailureMessage", + @"incrementalExportSpecification" : @"IncrementalExportSpecification", @"itemCount" : @"ItemCount", @"s3Bucket" : @"S3Bucket", @"s3BucketOwner" : @"S3BucketOwner", @@ -2795,6 +2797,31 @@ + (NSValueTransformer *)exportTimeJSONTransformer { }]; } ++ (NSValueTransformer *)exportTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"FULL_EXPORT"] == NSOrderedSame) { + return @(AWSDynamoDBExportTypeFullExport); + } + if ([value caseInsensitiveCompare:@"INCREMENTAL_EXPORT"] == NSOrderedSame) { + return @(AWSDynamoDBExportTypeIncrementalExport); + } + return @(AWSDynamoDBExportTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSDynamoDBExportTypeFullExport: + return @"FULL_EXPORT"; + case AWSDynamoDBExportTypeIncrementalExport: + return @"INCREMENTAL_EXPORT"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)incrementalExportSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBIncrementalExportSpecification class]]; +} + + (NSValueTransformer *)s3SseAlgorithmJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"AES256"] == NSOrderedSame) { @@ -2836,6 +2863,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"exportArn" : @"ExportArn", @"exportStatus" : @"ExportStatus", + @"exportType" : @"ExportType", }; } @@ -2865,6 +2893,27 @@ + (NSValueTransformer *)exportStatusJSONTransformer { }]; } ++ (NSValueTransformer *)exportTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"FULL_EXPORT"] == NSOrderedSame) { + return @(AWSDynamoDBExportTypeFullExport); + } + if ([value caseInsensitiveCompare:@"INCREMENTAL_EXPORT"] == NSOrderedSame) { + return @(AWSDynamoDBExportTypeIncrementalExport); + } + return @(AWSDynamoDBExportTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSDynamoDBExportTypeFullExport: + return @"FULL_EXPORT"; + case AWSDynamoDBExportTypeIncrementalExport: + return @"INCREMENTAL_EXPORT"; + default: + return nil; + } + }]; +} + @end @implementation AWSDynamoDBExportTableToPointInTimeInput @@ -2878,6 +2927,8 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"clientToken" : @"ClientToken", @"exportFormat" : @"ExportFormat", @"exportTime" : @"ExportTime", + @"exportType" : @"ExportType", + @"incrementalExportSpecification" : @"IncrementalExportSpecification", @"s3Bucket" : @"S3Bucket", @"s3BucketOwner" : @"S3BucketOwner", @"s3Prefix" : @"S3Prefix", @@ -2916,6 +2967,31 @@ + (NSValueTransformer *)exportTimeJSONTransformer { }]; } ++ (NSValueTransformer *)exportTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"FULL_EXPORT"] == NSOrderedSame) { + return @(AWSDynamoDBExportTypeFullExport); + } + if ([value caseInsensitiveCompare:@"INCREMENTAL_EXPORT"] == NSOrderedSame) { + return @(AWSDynamoDBExportTypeIncrementalExport); + } + return @(AWSDynamoDBExportTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSDynamoDBExportTypeFullExport: + return @"FULL_EXPORT"; + case AWSDynamoDBExportTypeIncrementalExport: + return @"INCREMENTAL_EXPORT"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)incrementalExportSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBIncrementalExportSpecification class]]; +} + + (NSValueTransformer *)s3SseAlgorithmJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"AES256"] == NSOrderedSame) { @@ -3700,6 +3776,59 @@ + (NSValueTransformer *)importTableDescriptionJSONTransformer { @end +@implementation AWSDynamoDBIncrementalExportSpecification + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"exportFromTime" : @"ExportFromTime", + @"exportToTime" : @"ExportToTime", + @"exportViewType" : @"ExportViewType", + }; +} + ++ (NSValueTransformer *)exportFromTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)exportToTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)exportViewTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"NEW_IMAGE"] == NSOrderedSame) { + return @(AWSDynamoDBExportViewTypeNewImage); + } + if ([value caseInsensitiveCompare:@"NEW_AND_OLD_IMAGES"] == NSOrderedSame) { + return @(AWSDynamoDBExportViewTypeNewAndOldImages); + } + return @(AWSDynamoDBExportViewTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSDynamoDBExportViewTypeNewImage: + return @"NEW_IMAGE"; + case AWSDynamoDBExportViewTypeNewAndOldImages: + return @"NEW_AND_OLD_IMAGES"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSDynamoDBInputFormatOptions + (BOOL)supportsSecureCoding { diff --git a/AWSDynamoDB/AWSDynamoDBResources.m b/AWSDynamoDB/AWSDynamoDBResources.m index 50874ed6831..f75fb969513 100644 --- a/AWSDynamoDB/AWSDynamoDBResources.m +++ b/AWSDynamoDB/AWSDynamoDBResources.m @@ -565,7 +565,7 @@ - (NSString *)definitionString { \"errors\":[\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

List backups associated with an Amazon Web Services account. To list backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.

In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.

You can call ListBackups a maximum of five times per second.

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

List DynamoDB backups that are associated with an Amazon Web Services account and weren't made with Amazon Web Services Backup. To list these backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.

In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.

You can call ListBackups a maximum of five times per second.

If you want to retrieve the complete list of backups made with Amazon Web Services Backup, use the Amazon Web Services Backup list API.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -2840,6 +2840,14 @@ - (NSString *)definitionString { \"ItemCount\":{\ \"shape\":\"ItemCount\",\ \"documentation\":\"

The number of items exported.

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

The type of export that was performed. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT.

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

Optional object containing the parameters specific to an incremental export.

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

Represents the properties of the exported table.

\"\ @@ -2852,6 +2860,7 @@ - (NSString *)definitionString { \"ION\"\ ]\ },\ + \"ExportFromTime\":{\"type\":\"timestamp\"},\ \"ExportManifest\":{\"type\":\"string\"},\ \"ExportNextToken\":{\"type\":\"string\"},\ \"ExportNotFoundException\":{\ @@ -2885,6 +2894,10 @@ - (NSString *)definitionString { \"ExportStatus\":{\ \"shape\":\"ExportStatus\",\ \"documentation\":\"

Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.

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

The type of export that was performed. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT.

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

Summary information about an export task.

\"\ @@ -2932,6 +2945,14 @@ - (NSString *)definitionString { \"ExportFormat\":{\ \"shape\":\"ExportFormat\",\ \"documentation\":\"

The format for the exported data. Valid values for ExportFormat are DYNAMODB_JSON or ION.

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

Choice of whether to execute as a full export or incremental export. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT. The default value is FULL_EXPORT. If INCREMENTAL_EXPORT is provided, the IncrementalExportSpecification must also be used.

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

Optional object containing the parameters specific to an incremental export.

\"\ }\ }\ },\ @@ -2945,6 +2966,21 @@ - (NSString *)definitionString { }\ },\ \"ExportTime\":{\"type\":\"timestamp\"},\ + \"ExportToTime\":{\"type\":\"timestamp\"},\ + \"ExportType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"FULL_EXPORT\",\ + \"INCREMENTAL_EXPORT\"\ + ]\ + },\ + \"ExportViewType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"NEW_IMAGE\",\ + \"NEW_AND_OLD_IMAGES\"\ + ]\ + },\ \"ExpressionAttributeNameMap\":{\ \"type\":\"map\",\ \"key\":{\"shape\":\"ExpressionAttributeNameVariable\"},\ @@ -3509,6 +3545,24 @@ - (NSString *)definitionString { \"type\":\"long\",\ \"min\":0\ },\ + \"IncrementalExportSpecification\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ExportFromTime\":{\ + \"shape\":\"ExportFromTime\",\ + \"documentation\":\"

Time in the past which provides the inclusive start range for the export table's data, counted in seconds from the start of the Unix epoch. The incremental export will reflect the table's state including and after this point in time.

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

Time in the past which provides the exclusive end range for the export table's data, counted in seconds from the start of the Unix epoch. The incremental export will reflect the table's state just prior to this point in time. If this is not provided, the latest time with data available will be used.

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

The view type that was chosen for the export. Valid values are NEW_AND_OLD_IMAGES and NEW_IMAGES. The default value is NEW_AND_OLD_IMAGES.

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

Optional object containing the parameters specific to an incremental export.

\"\ + },\ \"IndexName\":{\ \"type\":\"string\",\ \"max\":255,\ @@ -5310,7 +5364,7 @@ - (NSString *)definitionString { },\ \"FilterExpression\":{\ \"shape\":\"ConditionExpression\",\ - \"documentation\":\"

A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

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

A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

\"\ },\ \"ExpressionAttributeNames\":{\ \"shape\":\"ExpressionAttributeNameMap\",\ @@ -5926,7 +5980,7 @@ - (NSString *)definitionString { \"documentation\":\"

A list of cancellation reasons.

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

The entire transaction request was canceled.

DynamoDB cancels a TransactWriteItems request under the following circumstances:

  • A condition in one of the condition expressions is not met.

  • A table in the TransactWriteItems request is in a different account or region.

  • More than one action in the TransactWriteItems operation targets the same item.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • An item size becomes too large (larger than 400 KB), or a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.

  • There is a user error, such as an invalid data format.

DynamoDB cancels a TransactGetItems request under the following circumstances:

  • There is an ongoing TransactGetItems operation that conflicts with a concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. In this case the TransactGetItems operation fails with a TransactionCanceledException.

  • A table in the TransactGetItems request is in a different account or region.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • There is a user error, such as an invalid data format.

If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons property. This property is not set for other languages. Transaction cancellation reasons are ordered in the order of requested items, if an item has no error it will have None code and Null message.

Cancellation reason codes and possible error messages:

  • No Errors:

    • Code: None

    • Message: null

  • Conditional Check Failed:

    • Code: ConditionalCheckFailed

    • Message: The conditional request failed.

  • Item Collection Size Limit Exceeded:

    • Code: ItemCollectionSizeLimitExceeded

    • Message: Collection size exceeded.

  • Transaction Conflict:

    • Code: TransactionConflict

    • Message: Transaction is ongoing for the item.

  • Provisioned Throughput Exceeded:

    • Code: ProvisionedThroughputExceeded

    • Messages:

      • The level of configured provisioned throughput for the table was exceeded. Consider increasing your provisioning level with the UpdateTable API.

        This Message is received when provisioned throughput is exceeded is on a provisioned DynamoDB table.

      • The level of configured provisioned throughput for one or more global secondary indexes of the table was exceeded. Consider increasing your provisioning level for the under-provisioned global secondary indexes with the UpdateTable API.

        This message is returned when provisioned throughput is exceeded is on a provisioned GSI.

  • Throttling Error:

    • Code: ThrottlingError

    • Messages:

      • Throughput exceeds the current capacity of your table or index. DynamoDB is automatically scaling your table or index so please try again shortly. If exceptions persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html.

        This message is returned when writes get throttled on an On-Demand table as DynamoDB is automatically scaling the table.

      • Throughput exceeds the current capacity for one or more global secondary indexes. DynamoDB is automatically scaling your index so please try again shortly.

        This message is returned when writes get throttled on an On-Demand GSI as DynamoDB is automatically scaling the GSI.

  • Validation Error:

    • Code: ValidationError

    • Messages:

      • One or more parameter values were invalid.

      • The update expression attempted to update the secondary index key beyond allowed size limits.

      • The update expression attempted to update the secondary index key to unsupported type.

      • An operand in the update expression has an incorrect data type.

      • Item size to update has exceeded the maximum allowed size.

      • Number overflow. Attempting to store a number with magnitude larger than supported range.

      • Type mismatch for attribute to update.

      • Nesting Levels have exceeded supported limits.

      • The document path provided in the update expression is invalid for update.

      • The provided expression refers to an attribute that does not exist in the item.

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

The entire transaction request was canceled.

DynamoDB cancels a TransactWriteItems request under the following circumstances:

  • A condition in one of the condition expressions is not met.

  • A table in the TransactWriteItems request is in a different account or region.

  • More than one action in the TransactWriteItems operation targets the same item.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • An item size becomes too large (larger than 400 KB), or a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.

  • There is a user error, such as an invalid data format.

  • There is an ongoing TransactWriteItems operation that conflicts with a concurrent TransactWriteItems request. In this case the TransactWriteItems operation fails with a TransactionCanceledException.

DynamoDB cancels a TransactGetItems request under the following circumstances:

  • There is an ongoing TransactGetItems operation that conflicts with a concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. In this case the TransactGetItems operation fails with a TransactionCanceledException.

  • A table in the TransactGetItems request is in a different account or region.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • There is a user error, such as an invalid data format.

If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons property. This property is not set for other languages. Transaction cancellation reasons are ordered in the order of requested items, if an item has no error it will have None code and Null message.

Cancellation reason codes and possible error messages:

  • No Errors:

    • Code: None

    • Message: null

  • Conditional Check Failed:

    • Code: ConditionalCheckFailed

    • Message: The conditional request failed.

  • Item Collection Size Limit Exceeded:

    • Code: ItemCollectionSizeLimitExceeded

    • Message: Collection size exceeded.

  • Transaction Conflict:

    • Code: TransactionConflict

    • Message: Transaction is ongoing for the item.

  • Provisioned Throughput Exceeded:

    • Code: ProvisionedThroughputExceeded

    • Messages:

      • The level of configured provisioned throughput for the table was exceeded. Consider increasing your provisioning level with the UpdateTable API.

        This Message is received when provisioned throughput is exceeded is on a provisioned DynamoDB table.

      • The level of configured provisioned throughput for one or more global secondary indexes of the table was exceeded. Consider increasing your provisioning level for the under-provisioned global secondary indexes with the UpdateTable API.

        This message is returned when provisioned throughput is exceeded is on a provisioned GSI.

  • Throttling Error:

    • Code: ThrottlingError

    • Messages:

      • Throughput exceeds the current capacity of your table or index. DynamoDB is automatically scaling your table or index so please try again shortly. If exceptions persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html.

        This message is returned when writes get throttled on an On-Demand table as DynamoDB is automatically scaling the table.

      • Throughput exceeds the current capacity for one or more global secondary indexes. DynamoDB is automatically scaling your index so please try again shortly.

        This message is returned when writes get throttled on an On-Demand GSI as DynamoDB is automatically scaling the GSI.

  • Validation Error:

    • Code: ValidationError

    • Messages:

      • One or more parameter values were invalid.

      • The update expression attempted to update the secondary index key beyond allowed size limits.

      • The update expression attempted to update the secondary index key to unsupported type.

      • An operand in the update expression has an incorrect data type.

      • Item size to update has exceeded the maximum allowed size.

      • Number overflow. Attempting to store a number with magnitude larger than supported range.

      • Type mismatch for attribute to update.

      • Nesting Levels have exceeded supported limits.

      • The document path provided in the update expression is invalid for update.

      • The provided expression refers to an attribute that does not exist in the item.

\",\ \"exception\":true\ },\ \"TransactionConflictException\":{\ diff --git a/AWSDynamoDB/AWSDynamoDBService.h b/AWSDynamoDB/AWSDynamoDBService.h index 9608892cc99..0f734e49a55 100644 --- a/AWSDynamoDB/AWSDynamoDBService.h +++ b/AWSDynamoDB/AWSDynamoDBService.h @@ -900,7 +900,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)importTable:(AWSDynamoDBImportTableInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBImportTableOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

List backups associated with an Amazon Web Services account. To list backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.

In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.

You can call ListBackups a maximum of five times per second.

+

List DynamoDB backups that are associated with an Amazon Web Services account and weren't made with Amazon Web Services Backup. To list these backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.

In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.

You can call ListBackups a maximum of five times per second.

If you want to retrieve the complete list of backups made with Amazon Web Services Backup, use the Amazon Web Services Backup list API.

@param request A container for the necessary parameters to execute the ListBackups service method. @@ -912,7 +912,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)listBackups:(AWSDynamoDBListBackupsInput *)request; /** -

List backups associated with an Amazon Web Services account. To list backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.

In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.

You can call ListBackups a maximum of five times per second.

+

List DynamoDB backups that are associated with an Amazon Web Services account and weren't made with Amazon Web Services Backup. To list these backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.

In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.

You can call ListBackups a maximum of five times per second.

If you want to retrieve the complete list of backups made with Amazon Web Services Backup, use the Amazon Web Services Backup list API.

@param request A container for the necessary parameters to execute the ListBackups 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 9dcc99c2959..dc99139f38a 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.33.4"; +NSString *const AWSDynamoDBSDKVersion = @"2.33.5"; @interface AWSDynamoDBResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSDynamoDB/Info.plist b/AWSDynamoDB/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSDynamoDB/Info.plist +++ b/AWSDynamoDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m b/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m index daa840d1bfa..a0d8428a929 100644 --- a/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m +++ b/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m @@ -122,6 +122,7 @@ - (void) test_AWSDynamoDBImportSummary API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBImportTableDescription API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBImportTableInput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBImportTableOutput API_AVAILABLE(ios(11)); +- (void) test_AWSDynamoDBIncrementalExportSpecification API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBInputFormatOptions API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBItemCollectionMetrics API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBItemResponse API_AVAILABLE(ios(11)); @@ -639,6 +640,10 @@ - (void) test_AWSDynamoDBImportTableOutput { [self validateSecureCodingForClass:[AWSDynamoDBImportTableOutput class]]; } +- (void) test_AWSDynamoDBIncrementalExportSpecification { + [self validateSecureCodingForClass:[AWSDynamoDBIncrementalExportSpecification class]]; +} + - (void) test_AWSDynamoDBInputFormatOptions { [self validateSecureCodingForClass:[AWSDynamoDBInputFormatOptions class]]; } diff --git a/AWSEC2.podspec b/AWSEC2.podspec index e41fb4da112..59c8f60f425 100644 --- a/AWSEC2.podspec +++ b/AWSEC2.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSEC2' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSEC2/*.{h,m}' end diff --git a/AWSEC2/AWSEC2Model.h b/AWSEC2/AWSEC2Model.h index 049fb5bc22f..4731367011c 100644 --- a/AWSEC2/AWSEC2Model.h +++ b/AWSEC2/AWSEC2Model.h @@ -27,23 +27,23 @@ typedef NS_ENUM(NSInteger, AWSEC2ErrorType) { typedef NS_ENUM(NSInteger, AWSEC2AcceleratorManufacturer) { AWSEC2AcceleratorManufacturerUnknown, - AWSEC2AcceleratorManufacturerNvidia, - AWSEC2AcceleratorManufacturerAmd, AWSEC2AcceleratorManufacturerAmazonWebServices, + AWSEC2AcceleratorManufacturerAmd, + AWSEC2AcceleratorManufacturerNvidia, AWSEC2AcceleratorManufacturerXilinx, }; typedef NS_ENUM(NSInteger, AWSEC2AcceleratorName) { AWSEC2AcceleratorNameUnknown, AWSEC2AcceleratorNameA100, - AWSEC2AcceleratorNameV100, + AWSEC2AcceleratorNameInferentia, + AWSEC2AcceleratorNameK520, AWSEC2AcceleratorNameK80, - AWSEC2AcceleratorNameT4, AWSEC2AcceleratorNameM60, AWSEC2AcceleratorNameRadeonProV520, + AWSEC2AcceleratorNameT4, AWSEC2AcceleratorNameVu9p, - AWSEC2AcceleratorNameInferentia, - AWSEC2AcceleratorNameK520, + AWSEC2AcceleratorNameV100, }; typedef NS_ENUM(NSInteger, AWSEC2AcceleratorType) { @@ -329,6 +329,7 @@ typedef NS_ENUM(NSInteger, AWSEC2CapacityReservationInstancePlatform) { AWSEC2CapacityReservationInstancePlatformRHELWithHA, AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard, AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise, + AWSEC2CapacityReservationInstancePlatformUbuntuPro, }; typedef NS_ENUM(NSInteger, AWSEC2CapacityReservationPreference) { @@ -344,6 +345,9 @@ typedef NS_ENUM(NSInteger, AWSEC2CapacityReservationState) { AWSEC2CapacityReservationStateCancelled, AWSEC2CapacityReservationStatePending, AWSEC2CapacityReservationStateFailed, + AWSEC2CapacityReservationStateScheduled, + AWSEC2CapacityReservationStatePaymentPending, + AWSEC2CapacityReservationStatePaymentFailed, }; typedef NS_ENUM(NSInteger, AWSEC2CapacityReservationTenancy) { @@ -352,6 +356,12 @@ typedef NS_ENUM(NSInteger, AWSEC2CapacityReservationTenancy) { AWSEC2CapacityReservationTenancyDedicated, }; +typedef NS_ENUM(NSInteger, AWSEC2CapacityReservationType) { + AWSEC2CapacityReservationTypeUnknown, + AWSEC2CapacityReservationTypeDefault, + AWSEC2CapacityReservationTypeCapacityBlock, +}; + typedef NS_ENUM(NSInteger, AWSEC2CarrierGatewayState) { AWSEC2CarrierGatewayStateUnknown, AWSEC2CarrierGatewayStatePending, @@ -480,6 +490,7 @@ typedef NS_ENUM(NSInteger, AWSEC2DefaultTargetCapacityType) { AWSEC2DefaultTargetCapacityTypeUnknown, AWSEC2DefaultTargetCapacityTypeSpot, AWSEC2DefaultTargetCapacityTypeOnDemand, + AWSEC2DefaultTargetCapacityTypeCapacityBlock, }; typedef NS_ENUM(NSInteger, AWSEC2DeleteFleetErrorCode) { @@ -507,6 +518,7 @@ typedef NS_ENUM(NSInteger, AWSEC2DeviceTrustProviderType) { AWSEC2DeviceTrustProviderTypeUnknown, AWSEC2DeviceTrustProviderTypeJamf, AWSEC2DeviceTrustProviderTypeCrowdstrike, + AWSEC2DeviceTrustProviderTypeJumpcloud, }; typedef NS_ENUM(NSInteger, AWSEC2DeviceType) { @@ -860,6 +872,16 @@ typedef NS_ENUM(NSInteger, AWSEC2ImageAttributeName) { AWSEC2ImageAttributeNameImdsSupport, }; +typedef NS_ENUM(NSInteger, AWSEC2ImageBlockPublicAccessDisabledState) { + AWSEC2ImageBlockPublicAccessDisabledStateUnknown, + AWSEC2ImageBlockPublicAccessDisabledStateUnblocked, +}; + +typedef NS_ENUM(NSInteger, AWSEC2ImageBlockPublicAccessEnabledState) { + AWSEC2ImageBlockPublicAccessEnabledStateUnknown, + AWSEC2ImageBlockPublicAccessEnabledStateBlockNewSharing, +}; + typedef NS_ENUM(NSInteger, AWSEC2ImageState) { AWSEC2ImageStateUnknown, AWSEC2ImageStatePending, @@ -869,6 +891,7 @@ typedef NS_ENUM(NSInteger, AWSEC2ImageState) { AWSEC2ImageStateTransient, AWSEC2ImageStateFailed, AWSEC2ImageStateError, + AWSEC2ImageStateDisabled, }; typedef NS_ENUM(NSInteger, AWSEC2ImageTypeValues) { @@ -952,6 +975,7 @@ typedef NS_ENUM(NSInteger, AWSEC2InstanceLifecycleType) { AWSEC2InstanceLifecycleTypeUnknown, AWSEC2InstanceLifecycleTypeSpot, AWSEC2InstanceLifecycleTypeScheduled, + AWSEC2InstanceLifecycleTypeCapacityBlock, }; typedef NS_ENUM(NSInteger, AWSEC2InstanceMatchCriteria) { @@ -1682,6 +1706,98 @@ typedef NS_ENUM(NSInteger, AWSEC2InstanceType) { AWSEC2InstanceTypeM7I_flex_2xlarge, AWSEC2InstanceTypeM7I_flex_4xlarge, AWSEC2InstanceTypeM7I_flex_8xlarge, + AWSEC2InstanceTypeM7A_medium, + AWSEC2InstanceTypeM7A_large, + AWSEC2InstanceTypeM7A_xlarge, + AWSEC2InstanceTypeM7A_2xlarge, + AWSEC2InstanceTypeM7A_4xlarge, + AWSEC2InstanceTypeM7A_8xlarge, + AWSEC2InstanceTypeM7A_12xlarge, + AWSEC2InstanceTypeM7A_16xlarge, + AWSEC2InstanceTypeM7A_24xlarge, + AWSEC2InstanceTypeM7A_32xlarge, + AWSEC2InstanceTypeM7A_48xlarge, + AWSEC2InstanceTypeM7A_metal_48xl, + AWSEC2InstanceTypeHPC7a_12xlarge, + AWSEC2InstanceTypeHPC7a_24xlarge, + AWSEC2InstanceTypeHPC7a_48xlarge, + AWSEC2InstanceTypeHPC7a_96xlarge, + AWSEC2InstanceTypeC7Gd_medium, + AWSEC2InstanceTypeC7Gd_large, + AWSEC2InstanceTypeC7Gd_xlarge, + AWSEC2InstanceTypeC7Gd_2xlarge, + AWSEC2InstanceTypeC7Gd_4xlarge, + AWSEC2InstanceTypeC7Gd_8xlarge, + AWSEC2InstanceTypeC7Gd_12xlarge, + AWSEC2InstanceTypeC7Gd_16xlarge, + AWSEC2InstanceTypeM7Gd_medium, + AWSEC2InstanceTypeM7Gd_large, + AWSEC2InstanceTypeM7Gd_xlarge, + AWSEC2InstanceTypeM7Gd_2xlarge, + AWSEC2InstanceTypeM7Gd_4xlarge, + AWSEC2InstanceTypeM7Gd_8xlarge, + AWSEC2InstanceTypeM7Gd_12xlarge, + AWSEC2InstanceTypeM7Gd_16xlarge, + AWSEC2InstanceTypeR7Gd_medium, + AWSEC2InstanceTypeR7Gd_large, + AWSEC2InstanceTypeR7Gd_xlarge, + AWSEC2InstanceTypeR7Gd_2xlarge, + AWSEC2InstanceTypeR7Gd_4xlarge, + AWSEC2InstanceTypeR7Gd_8xlarge, + AWSEC2InstanceTypeR7Gd_12xlarge, + AWSEC2InstanceTypeR7Gd_16xlarge, + AWSEC2InstanceTypeR7A_medium, + AWSEC2InstanceTypeR7A_large, + AWSEC2InstanceTypeR7A_xlarge, + AWSEC2InstanceTypeR7A_2xlarge, + AWSEC2InstanceTypeR7A_4xlarge, + AWSEC2InstanceTypeR7A_8xlarge, + AWSEC2InstanceTypeR7A_12xlarge, + AWSEC2InstanceTypeR7A_16xlarge, + AWSEC2InstanceTypeR7A_24xlarge, + AWSEC2InstanceTypeR7A_32xlarge, + AWSEC2InstanceTypeR7A_48xlarge, + AWSEC2InstanceTypeC7I_large, + AWSEC2InstanceTypeC7I_xlarge, + AWSEC2InstanceTypeC7I_2xlarge, + AWSEC2InstanceTypeC7I_4xlarge, + AWSEC2InstanceTypeC7I_8xlarge, + AWSEC2InstanceTypeC7I_12xlarge, + AWSEC2InstanceTypeC7I_16xlarge, + AWSEC2InstanceTypeC7I_24xlarge, + AWSEC2InstanceTypeC7I_48xlarge, + AWSEC2InstanceTypeMAC2_m2pro_metal, + AWSEC2InstanceTypeR7Iz_large, + AWSEC2InstanceTypeR7Iz_xlarge, + AWSEC2InstanceTypeR7Iz_2xlarge, + AWSEC2InstanceTypeR7Iz_4xlarge, + AWSEC2InstanceTypeR7Iz_8xlarge, + AWSEC2InstanceTypeR7Iz_12xlarge, + AWSEC2InstanceTypeR7Iz_16xlarge, + AWSEC2InstanceTypeR7Iz_32xlarge, + AWSEC2InstanceTypeC7A_medium, + AWSEC2InstanceTypeC7A_large, + AWSEC2InstanceTypeC7A_xlarge, + AWSEC2InstanceTypeC7A_2xlarge, + AWSEC2InstanceTypeC7A_4xlarge, + AWSEC2InstanceTypeC7A_8xlarge, + AWSEC2InstanceTypeC7A_12xlarge, + AWSEC2InstanceTypeC7A_16xlarge, + AWSEC2InstanceTypeC7A_24xlarge, + AWSEC2InstanceTypeC7A_32xlarge, + AWSEC2InstanceTypeC7A_48xlarge, + AWSEC2InstanceTypeC7A_metal_48xl, + AWSEC2InstanceTypeR7A_metal_48xl, + AWSEC2InstanceTypeR7I_large, + AWSEC2InstanceTypeR7I_xlarge, + AWSEC2InstanceTypeR7I_2xlarge, + AWSEC2InstanceTypeR7I_4xlarge, + AWSEC2InstanceTypeR7I_8xlarge, + AWSEC2InstanceTypeR7I_12xlarge, + AWSEC2InstanceTypeR7I_16xlarge, + AWSEC2InstanceTypeR7I_24xlarge, + AWSEC2InstanceTypeR7I_48xlarge, + AWSEC2InstanceTypeDL2q_24xlarge, }; typedef NS_ENUM(NSInteger, AWSEC2InstanceTypeHypervisor) { @@ -2001,6 +2117,21 @@ typedef NS_ENUM(NSInteger, AWSEC2LocationType) { AWSEC2LocationTypeRegion, AWSEC2LocationTypeAvailabilityZone, AWSEC2LocationTypeAvailabilityZoneId, + AWSEC2LocationTypeOutpost, +}; + +typedef NS_ENUM(NSInteger, AWSEC2LockMode) { + AWSEC2LockModeUnknown, + AWSEC2LockModeCompliance, + AWSEC2LockModeGovernance, +}; + +typedef NS_ENUM(NSInteger, AWSEC2LockState) { + AWSEC2LockStateUnknown, + AWSEC2LockStateCompliance, + AWSEC2LockStateGovernance, + AWSEC2LockStateComplianceCooloff, + AWSEC2LockStateExpired, }; typedef NS_ENUM(NSInteger, AWSEC2LogDestinationType) { @@ -2013,6 +2144,7 @@ typedef NS_ENUM(NSInteger, AWSEC2LogDestinationType) { typedef NS_ENUM(NSInteger, AWSEC2MarketType) { AWSEC2MarketTypeUnknown, AWSEC2MarketTypeSpot, + AWSEC2MarketTypeCapacityBlock, }; typedef NS_ENUM(NSInteger, AWSEC2MembershipType) { @@ -2516,6 +2648,13 @@ typedef NS_ENUM(NSInteger, AWSEC2SnapshotAttributeName) { AWSEC2SnapshotAttributeNameCreateVolumePermission, }; +typedef NS_ENUM(NSInteger, AWSEC2SnapshotBlockPublicAccessState) { + AWSEC2SnapshotBlockPublicAccessStateUnknown, + AWSEC2SnapshotBlockPublicAccessStateBlockAllSharing, + AWSEC2SnapshotBlockPublicAccessStateBlockNewSharing, + AWSEC2SnapshotBlockPublicAccessStateUnblocked, +}; + typedef NS_ENUM(NSInteger, AWSEC2SnapshotState) { AWSEC2SnapshotStateUnknown, AWSEC2SnapshotStatePending, @@ -2909,6 +3048,7 @@ typedef NS_ENUM(NSInteger, AWSEC2UsageClassType) { AWSEC2UsageClassTypeUnknown, AWSEC2UsageClassTypeSpot, AWSEC2UsageClassTypeOnDemand, + AWSEC2UsageClassTypeCapacityBlock, }; typedef NS_ENUM(NSInteger, AWSEC2UserTrustProviderType) { @@ -3248,6 +3388,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2CancelSpotInstanceRequestsResult; @class AWSEC2CancelledSpotInstanceRequest; @class AWSEC2CapacityAllocation; +@class AWSEC2CapacityBlockOffering; @class AWSEC2CapacityReservation; @class AWSEC2CapacityReservationFleet; @class AWSEC2CapacityReservationFleetCancellationState; @@ -3514,6 +3655,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DeleteIpamScopeRequest; @class AWSEC2DeleteIpamScopeResult; @class AWSEC2DeleteKeyPairRequest; +@class AWSEC2DeleteKeyPairResult; @class AWSEC2DeleteLaunchTemplateRequest; @class AWSEC2DeleteLaunchTemplateResult; @class AWSEC2DeleteLaunchTemplateVersionsRequest; @@ -3643,6 +3785,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DescribeBundleTasksResult; @class AWSEC2DescribeByoipCidrsRequest; @class AWSEC2DescribeByoipCidrsResult; +@class AWSEC2DescribeCapacityBlockOfferingsRequest; +@class AWSEC2DescribeCapacityBlockOfferingsResult; @class AWSEC2DescribeCapacityReservationFleetsRequest; @class AWSEC2DescribeCapacityReservationFleetsResult; @class AWSEC2DescribeCapacityReservationsRequest; @@ -3727,6 +3871,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DescribeInstanceEventWindowsResult; @class AWSEC2DescribeInstanceStatusRequest; @class AWSEC2DescribeInstanceStatusResult; +@class AWSEC2DescribeInstanceTopologyRequest; +@class AWSEC2DescribeInstanceTopologyResult; @class AWSEC2DescribeInstanceTypeOfferingsRequest; @class AWSEC2DescribeInstanceTypeOfferingsResult; @class AWSEC2DescribeInstanceTypesRequest; @@ -3765,6 +3911,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DescribeLocalGatewayVirtualInterfacesResult; @class AWSEC2DescribeLocalGatewaysRequest; @class AWSEC2DescribeLocalGatewaysResult; +@class AWSEC2DescribeLockedSnapshotsRequest; +@class AWSEC2DescribeLockedSnapshotsResult; @class AWSEC2DescribeManagedPrefixListsRequest; @class AWSEC2DescribeManagedPrefixListsResult; @class AWSEC2DescribeMovingAddressesRequest; @@ -3946,12 +4094,18 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DisableFastSnapshotRestoreSuccessItem; @class AWSEC2DisableFastSnapshotRestoresRequest; @class AWSEC2DisableFastSnapshotRestoresResult; +@class AWSEC2DisableImageBlockPublicAccessRequest; +@class AWSEC2DisableImageBlockPublicAccessResult; @class AWSEC2DisableImageDeprecationRequest; @class AWSEC2DisableImageDeprecationResult; +@class AWSEC2DisableImageRequest; +@class AWSEC2DisableImageResult; @class AWSEC2DisableIpamOrganizationAdminAccountRequest; @class AWSEC2DisableIpamOrganizationAdminAccountResult; @class AWSEC2DisableSerialConsoleAccessRequest; @class AWSEC2DisableSerialConsoleAccessResult; +@class AWSEC2DisableSnapshotBlockPublicAccessRequest; +@class AWSEC2DisableSnapshotBlockPublicAccessResult; @class AWSEC2DisableTransitGatewayRouteTablePropagationRequest; @class AWSEC2DisableTransitGatewayRouteTablePropagationResult; @class AWSEC2DisableVgwRoutePropagationRequest; @@ -4010,7 +4164,9 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2ElasticInferenceAccelerator; @class AWSEC2ElasticInferenceAcceleratorAssociation; @class AWSEC2EnaSrdSpecification; +@class AWSEC2EnaSrdSpecificationRequest; @class AWSEC2EnaSrdUdpSpecification; +@class AWSEC2EnaSrdUdpSpecificationRequest; @class AWSEC2EnableAddressTransferRequest; @class AWSEC2EnableAddressTransferResult; @class AWSEC2EnableAwsNetworkPerformanceMetricSubscriptionRequest; @@ -4025,14 +4181,20 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2EnableFastSnapshotRestoreSuccessItem; @class AWSEC2EnableFastSnapshotRestoresRequest; @class AWSEC2EnableFastSnapshotRestoresResult; +@class AWSEC2EnableImageBlockPublicAccessRequest; +@class AWSEC2EnableImageBlockPublicAccessResult; @class AWSEC2EnableImageDeprecationRequest; @class AWSEC2EnableImageDeprecationResult; +@class AWSEC2EnableImageRequest; +@class AWSEC2EnableImageResult; @class AWSEC2EnableIpamOrganizationAdminAccountRequest; @class AWSEC2EnableIpamOrganizationAdminAccountResult; @class AWSEC2EnableReachabilityAnalyzerOrganizationSharingRequest; @class AWSEC2EnableReachabilityAnalyzerOrganizationSharingResult; @class AWSEC2EnableSerialConsoleAccessRequest; @class AWSEC2EnableSerialConsoleAccessResult; +@class AWSEC2EnableSnapshotBlockPublicAccessRequest; +@class AWSEC2EnableSnapshotBlockPublicAccessResult; @class AWSEC2EnableTransitGatewayRouteTablePropagationRequest; @class AWSEC2EnableTransitGatewayRouteTablePropagationResult; @class AWSEC2EnableVgwRoutePropagationRequest; @@ -4116,6 +4278,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2GetGroupsForCapacityReservationResult; @class AWSEC2GetHostReservationPurchasePreviewRequest; @class AWSEC2GetHostReservationPurchasePreviewResult; +@class AWSEC2GetImageBlockPublicAccessStateRequest; +@class AWSEC2GetImageBlockPublicAccessStateResult; @class AWSEC2GetInstanceTypesFromInstanceRequirementsRequest; @class AWSEC2GetInstanceTypesFromInstanceRequirementsResult; @class AWSEC2GetInstanceUefiDataRequest; @@ -4146,8 +4310,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2GetPasswordDataResult; @class AWSEC2GetReservedInstancesExchangeQuoteRequest; @class AWSEC2GetReservedInstancesExchangeQuoteResult; +@class AWSEC2GetSecurityGroupsForVpcRequest; +@class AWSEC2GetSecurityGroupsForVpcResult; @class AWSEC2GetSerialConsoleAccessStatusRequest; @class AWSEC2GetSerialConsoleAccessStatusResult; +@class AWSEC2GetSnapshotBlockPublicAccessStateRequest; +@class AWSEC2GetSnapshotBlockPublicAccessStateResult; @class AWSEC2GetSpotPlacementScoresRequest; @class AWSEC2GetSpotPlacementScoresResult; @class AWSEC2GetSubnetCidrReservationsRequest; @@ -4224,6 +4392,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2InferenceDeviceInfo; @class AWSEC2InferenceDeviceMemoryInfo; @class AWSEC2Instance; +@class AWSEC2InstanceAttachmentEnaSrdSpecification; +@class AWSEC2InstanceAttachmentEnaSrdUdpSpecification; @class AWSEC2InstanceAttribute; @class AWSEC2InstanceBlockDeviceMapping; @class AWSEC2InstanceBlockDeviceMappingSpecification; @@ -4267,6 +4437,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2InstanceStatusSummary; @class AWSEC2InstanceStorageInfo; @class AWSEC2InstanceTagNotificationAttribute; +@class AWSEC2InstanceTopology; @class AWSEC2InstanceTypeInfo; @class AWSEC2InstanceTypeInfoFromInstanceRequirements; @class AWSEC2InstanceTypeOffering; @@ -4321,6 +4492,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2LaunchTemplateEbsBlockDeviceRequest; @class AWSEC2LaunchTemplateElasticInferenceAccelerator; @class AWSEC2LaunchTemplateElasticInferenceAcceleratorResponse; +@class AWSEC2LaunchTemplateEnaSrdSpecification; +@class AWSEC2LaunchTemplateEnaSrdUdpSpecification; @class AWSEC2LaunchTemplateEnclaveOptions; @class AWSEC2LaunchTemplateEnclaveOptionsRequest; @class AWSEC2LaunchTemplateHibernationOptions; @@ -4367,6 +4540,9 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2LocalGatewayRouteTableVpcAssociation; @class AWSEC2LocalGatewayVirtualInterface; @class AWSEC2LocalGatewayVirtualInterfaceGroup; +@class AWSEC2LockSnapshotRequest; +@class AWSEC2LockSnapshotResult; +@class AWSEC2LockedSnapshotsInfo; @class AWSEC2MaintenanceDetails; @class AWSEC2ManagedPrefixList; @class AWSEC2MemoryGiBPerVCpu; @@ -4470,6 +4646,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2ModifyVerifiedAccessInstanceLoggingConfigurationResult; @class AWSEC2ModifyVerifiedAccessInstanceRequest; @class AWSEC2ModifyVerifiedAccessInstanceResult; +@class AWSEC2ModifyVerifiedAccessTrustProviderDeviceOptions; @class AWSEC2ModifyVerifiedAccessTrustProviderOidcOptions; @class AWSEC2ModifyVerifiedAccessTrustProviderRequest; @class AWSEC2ModifyVerifiedAccessTrustProviderResult; @@ -4595,6 +4772,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2PublicIpv4Pool; @class AWSEC2PublicIpv4PoolRange; @class AWSEC2Purchase; +@class AWSEC2PurchaseCapacityBlockRequest; +@class AWSEC2PurchaseCapacityBlockResult; @class AWSEC2PurchaseHostReservationRequest; @class AWSEC2PurchaseHostReservationResult; @class AWSEC2PurchaseRequest; @@ -4729,6 +4908,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2SearchTransitGatewayRoutesRequest; @class AWSEC2SearchTransitGatewayRoutesResult; @class AWSEC2SecurityGroup; +@class AWSEC2SecurityGroupForVpc; @class AWSEC2SecurityGroupIdentifier; @class AWSEC2SecurityGroupReference; @class AWSEC2SecurityGroupRule; @@ -4864,6 +5044,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2UnassignPrivateIpAddressesRequest; @class AWSEC2UnassignPrivateNatGatewayAddressRequest; @class AWSEC2UnassignPrivateNatGatewayAddressResult; +@class AWSEC2UnlockSnapshotRequest; +@class AWSEC2UnlockSnapshotResult; @class AWSEC2UnmonitorInstancesRequest; @class AWSEC2UnmonitorInstancesResult; @class AWSEC2UnsuccessfulInstanceCreditSpecificationItem; @@ -4899,6 +5081,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2VerifiedAccessLogS3Destination; @class AWSEC2VerifiedAccessLogS3DestinationOptions; @class AWSEC2VerifiedAccessLogs; +@class AWSEC2VerifiedAccessSseSpecificationRequest; +@class AWSEC2VerifiedAccessSseSpecificationResponse; @class AWSEC2VerifiedAccessTrustProvider; @class AWSEC2VerifiedAccessTrustProviderCondensed; @class AWSEC2VgwTelemetry; @@ -5694,7 +5878,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.

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, you receive an InvalidParameterCombination error.

+

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.

*/ @property (nonatomic, strong) NSString * _Nullable networkBorderGroup; @@ -7331,12 +7515,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access instance.

+

Details about the Verified Access instance.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessInstance * _Nullable verifiedAccessInstance; /** -

The ID of the Verified Access trust provider.

+

Details about the Verified Access trust provider.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessTrustProvider * _Nullable verifiedAccessTrustProvider; @@ -7408,25 +7592,25 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Describes the ENA Express configuration for the network interface that's attached to the instance.

+

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

*/ @interface AWSEC2AttachmentEnaSrdSpecification : AWSModel /** -

Indicates whether ENA Express is enabled for the network interface that's attached to the instance.

+

Indicates whether ENA Express is enabled for the network interface.

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

ENA Express configuration for UDP network traffic.

+

Configures ENA Express for UDP network traffic.

*/ @property (nonatomic, strong) AWSEC2AttachmentEnaSrdUdpSpecification * _Nullable enaSrdUdpSpecification; @end /** -

Describes the ENA Express configuration for UDP traffic on the network interface that's attached to the instance.

+

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

*/ @interface AWSEC2AttachmentEnaSrdUdpSpecification : AWSModel @@ -8164,7 +8348,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

+

The ID of the export task. This is the ID returned by the CreateInstanceExportTask and ExportImage operations.

*/ @property (nonatomic, strong) NSString * _Nullable exportTaskId; @@ -8443,6 +8627,64 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +

The recommended Capacity Block that fits your search requirements.

+ */ +@interface AWSEC2CapacityBlockOffering : AWSModel + + +/** +

The Availability Zone of the Capacity Block offering.

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

The amount of time of the Capacity Block reservation in hours.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable capacityBlockDurationHours; + +/** +

The ID of the Capacity Block offering.

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

The currency of the payment for the Capacity Block.

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

The end date of the Capacity Block offering.

+ */ +@property (nonatomic, strong) NSDate * _Nullable endDate; + +/** +

The number of instances in the Capacity Block offering.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable instanceCount; + +/** +

The instance type of the Capacity Block offering.

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

The start date of the Capacity Block offering.

+ */ +@property (nonatomic, strong) NSDate * _Nullable startDate; + +/** +

The tenancy of the Capacity Block.

+ */ +@property (nonatomic, assign) AWSEC2CapacityReservationTenancy tenancy; + +/** +

The total price to be paid up front.

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

Describes a Capacity Reservation.

*/ @@ -8539,6 +8781,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable placementGroupArn; +/** +

The type of Capacity Reservation.

+ */ +@property (nonatomic, assign) AWSEC2CapacityReservationType reservationType; + /**

The date and time at which the Capacity Reservation was started.

*/ @@ -10813,7 +11060,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2SpotOptionsRequest * _Nullable spotOptions; /** -

The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tagging your resources.

If the fleet type is instant, specify a resource type of fleet to tag the fleet or instance to tag the instances at launch.

If the fleet type is maintain or request, specify a resource type of fleet to tag the fleet. You cannot specify a resource type of instance. To tag instances at launch, specify the tags in a launch template.

+

The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tag your resources.

If the fleet type is instant, specify a resource type of fleet to tag the fleet or instance to tag the instances at launch.

If the fleet type is maintain or request, specify a resource type of fleet to tag the fleet. You cannot specify a resource type of instance. To tag instances at launch, specify the tags in a launch template.

*/ @property (nonatomic, strong) NSArray * _Nullable tagSpecifications; @@ -11036,7 +11283,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

+

The block device mappings.

When using the CreateImage action:

  • You can't change the volume size using the VolumeSize parameter. If you want a different volume size, you must first change the volume size of the source instance.

  • You can't modify the encryption status of existing volumes or snapshots. To create an AMI with volumes or snapshots that have a different encryption status (for example, where the source volume and snapshots are unencrypted, and you want to create an AMI with encrypted volumes or snapshots), use the CopyImage action.

  • The only option that can be changed for existing mappings or snapshots is DeleteOnTermination.

*/ @property (nonatomic, strong) NSArray * _Nullable blockDeviceMappings; @@ -14005,10 +14252,15 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable policyDocument; /** -

The IDs of the security groups to associate with the Verified Access endpoint.

+

The IDs of the security groups to associate with the Verified Access endpoint. Required if AttachmentType is set to vpc.

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

The options for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationRequest * _Nullable sseSpecification; + /**

The tags to assign to the Verified Access endpoint.

*/ @@ -14028,7 +14280,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access endpoint.

+

Details about the Verified Access endpoint.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessEndpoint * _Nullable verifiedAccessEndpoint; @@ -14060,6 +14312,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable policyDocument; +/** +

The options for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationRequest * _Nullable sseSpecification; + /**

The tags to assign to the Verified Access group.

*/ @@ -14079,7 +14336,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access group.

+

Details about the Verified Access group.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessGroup * _Nullable verifiedAccessGroup; @@ -14106,6 +14363,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable dryRun; +/** +

Enable or disable support for Federal Information Processing Standards (FIPS) on the instance.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable FIPSEnabled; + /**

The tags to assign to the Verified Access instance.

*/ @@ -14120,7 +14382,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access instance.

+

Details about the Verified Access instance.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessInstance * _Nullable verifiedAccessInstance; @@ -14132,6 +14394,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2CreateVerifiedAccessTrustProviderDeviceOptions : AWSModel +/** +

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

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

The ID of the tenant application with the device-identity provider.

*/ @@ -14223,6 +14490,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable policyReferenceName; +/** +

The options for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationRequest * _Nullable sseSpecification; + /**

The tags to assign to the Verified Access trust provider.

*/ @@ -14247,7 +14519,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access trust provider.

+

Details about the Verified Access trust provider.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessTrustProvider * _Nullable verifiedAccessTrustProvider; @@ -15628,6 +15900,24 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DeleteKeyPairResult : AWSModel + + +/** +

The ID of the key pair.

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

Is true if the request succeeds, and an error otherwise.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable returned; + +@end + /** */ @@ -16968,7 +17258,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access endpoint.

+

Details about the Verified Access endpoint.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessEndpoint * _Nullable verifiedAccessEndpoint; @@ -17004,7 +17294,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access group.

+

Details about the Verified Access group.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessGroup * _Nullable verifiedAccessGroup; @@ -17040,7 +17330,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access instance.

+

Details about the Verified Access instance.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessInstance * _Nullable verifiedAccessInstance; @@ -17076,7 +17366,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access trust provider.

+

Details about the Verified Access trust provider.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessTrustProvider * _Nullable verifiedAccessTrustProvider; @@ -17926,6 +18216,72 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DescribeCapacityBlockOfferingsRequest : AWSRequest + + +/** +

The number of hours for which to reserve Capacity Block.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable capacityDurationHours; + +/** +

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; + +/** +

The latest end date for the Capacity Block offering.

+ */ +@property (nonatomic, strong) NSDate * _Nullable endDateRange; + +/** +

The number of instances for which to reserve capacity.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable instanceCount; + +/** +

The type of instance for which the Capacity Block offering reserves capacity.

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

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

The token to use to retrieve the next page of results.

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

The earliest start date for the Capacity Block offering.

+ */ +@property (nonatomic, strong) NSDate * _Nullable startDateRange; + +@end + +/** + + */ +@interface AWSEC2DescribeCapacityBlockOfferingsResult : AWSModel + + +/** +

The recommended Capacity Block offering for the dates specified.

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

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + /** */ @@ -18760,12 +19116,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

Use the following filters to streamline results.

  • resource-type - The resource type for pre-provisioning.

  • launch-template - The launch template that is associated with the pre-provisioned Windows AMI.

  • owner-id - The owner ID for the pre-provisioning resource.

  • state - The current state of fast launching for the Windows AMI.

+

Use the following filters to streamline results.

  • resource-type - The resource type for pre-provisioning.

  • owner-id - The owner ID for the pre-provisioning resource.

  • state - The current state of fast launching for the Windows AMI.

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

Details for one or more Windows AMI image IDs.

+

Specify one or more Windows AMI image IDs for the request.

*/ @property (nonatomic, strong) NSArray * _Nullable imageIds; @@ -18800,33 +19156,33 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Describe details about a fast-launch enabled Windows image that meets the requested criteria. Criteria are defined by the DescribeFastLaunchImages action filters.

+

Describe details about a Windows image with Windows fast launch enabled that meets the requested criteria. Criteria are defined by the DescribeFastLaunchImages action filters.

*/ @interface AWSEC2DescribeFastLaunchImagesSuccessItem : AWSModel /** -

The image ID that identifies the fast-launch enabled Windows image.

+

The image ID that identifies the Windows fast launch enabled image.

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

The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances from pre-provisioned snapshots.

+

The launch template that the Windows fast launch enabled AMI uses when it launches Windows instances from pre-provisioned snapshots.

*/ @property (nonatomic, strong) AWSEC2FastLaunchLaunchTemplateSpecificationResponse * _Nullable launchTemplate; /** -

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching.

+

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

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

The owner ID for the fast-launch enabled Windows AMI.

+

The owner ID for the Windows fast launch enabled AMI.

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

The resource type that is used for pre-provisioning the Windows AMI. Supported values include: snapshot.

+

The resource type that Amazon EC2 uses for pre-provisioning the Windows AMI. Supported values include: snapshot.

*/ @property (nonatomic, assign) AWSEC2FastLaunchResourceType resourceType; @@ -18836,17 +19192,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2FastLaunchSnapshotConfigurationResponse * _Nullable snapshotConfiguration; /** -

The current state of faster launching for the specified Windows AMI.

+

The current state of Windows fast launch for the specified Windows AMI.

*/ @property (nonatomic, assign) AWSEC2FastLaunchStateCode state; /** -

The reason that faster launching for the Windows AMI changed to the current state.

+

The reason that Windows fast launch for the AMI changed to the current state.

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

The time that faster launching for the Windows AMI changed to the current state.

+

The time that Windows fast launch for the AMI changed to the current state.

*/ @property (nonatomic, strong) NSDate * _Nullable stateTransitionTime; @@ -19635,7 +19991,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable executableUsers; /** -

The filters.

  • architecture - The image architecture (i386 | x86_64 | arm64 | x86_64_mac | arm64_mac).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon 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.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (io1 | io2 | gp2 | gp3 | sc1 | st1 | standard).

  • block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

  • creation-date - The time when the image was created, 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.

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - The owner alias (amazon | aws-marketplace). The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

  • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the Owner request parameter instead of this filter.

  • platform - The platform. The only supported value is windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (marketplace).

  • ramdisk-id - The RAM disk 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).

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

  • 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.

  • virtualization-type - The virtualization type (paravirtual | hvm).

+

The filters.

  • architecture - The image architecture (i386 | x86_64 | arm64 | x86_64_mac | arm64_mac).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon 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.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (io1 | io2 | gp2 | gp3 | sc1 | st1 | standard).

  • block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

  • creation-date - The time when the image was created, 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.

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - The owner alias (amazon | aws-marketplace). The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

  • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the Owner request parameter instead of this filter.

  • platform - The platform. The only supported value is windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (marketplace).

  • ramdisk-id - The RAM disk 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-instance-id - The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This filter is applicable only if the AMI was created using CreateImage.

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

  • 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.

  • virtualization-type - The virtualization type (paravirtual | hvm).

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -19649,6 +20005,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable includeDeprecated; +/** +

Specifies whether to include disabled AMIs.

Default: No disabled AMIs are included in the response.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable includeDisabled; + /**

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.

*/ @@ -20044,6 +20405,62 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DescribeInstanceTopologyRequest : 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; + +/** +

The filters.

  • availability-zone - The name of the Availability Zone (for example, us-west-2a) or Local Zone (for example, us-west-2-lax-1b) that the instance is in.

  • instance-type - The instance type (for example, p4d.24xlarge) or instance family (for example, p4d*). You can use the * wildcard to match zero or more characters, or the ? wildcard to match zero or one character.

  • zone-id - The ID of the Availability Zone (for example, usw2-az2) or Local Zone (for example, usw2-lax1-az1) that the instance is in.

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

The name of the placement group that each instance is in.

Constraints: Maximum 100 explicitly specified placement group names.

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

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

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

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.

You can't specify this parameter and the instance IDs parameter in the same request.

Default: 20

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

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; + +@end + +/** + + */ +@interface AWSEC2DescribeInstanceTopologyResult : AWSModel + + +/** +

Information about the topology of each instance.

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

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; + +@end + /** */ @@ -20158,7 +20575,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 or a Scheduled Instance (spot | scheduled).

  • 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.

  • license-pool -

  • 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.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) 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.attachment.attachment-id - The ID of the interface attachment.

  • 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.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • 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.ipv6-addresses.ipv6-address - The IPv6 address associated with 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.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.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.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.

  • 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; @@ -21038,6 +21455,57 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DescribeLockedSnapshotsRequest : 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; + +/** +

The filters.

  • lock-state - The state of the snapshot lock (compliance-cooloff | governance | compliance | expired).

+ */ +@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. 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 by the previous request.

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

The IDs of the snapshots for which to view the lock status.

+ */ +@property (nonatomic, strong) NSArray * _Nullable snapshotIds; + +@end + +/** + + */ +@interface AWSEC2DescribeLockedSnapshotsResult : AWSModel + + +/** +

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; + +/** +

Information about the snapshots.

+ */ +@property (nonatomic, strong) NSArray * _Nullable snapshots; + +@end + /** */ @@ -21591,7 +22059,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

One or more filters.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.attach-time - The time that the network interface was attached to an instance.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • group-name - The name of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | efa | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The Amazon Web Services account ID of the network interface owner.

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

  • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • 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.

  • vpc-id - The ID of the VPC for the network interface.

+

One or more filters.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attach-time - The time that the network interface was attached to an instance.

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | ec2_instance_connect_endpoint | efa | efs | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The Amazon Web Services account ID of the network interface owner.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

  • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • 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.

  • vpc-id - The ID of the VPC for the network interface.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -22864,7 +23332,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSDate * _Nullable endTime; /** -

The filters.

  • availability-zone - The Availability Zone for which prices should be returned.

  • instance-type - The type of instance (for example, m3.medium).

  • product-description - The product description for the Spot price (Linux/UNIX | Red Hat Enterprise Linux | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | Red Hat Enterprise Linux (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

  • spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

  • timestamp - The time stamp of the Spot price history, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

+

The filters.

  • availability-zone - The Availability Zone for which prices should be returned.

  • instance-type - The type of instance (for example, m3.medium).

  • product-description - The product description for the Spot price (Linux/UNIX | Red Hat Enterprise Linux | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | Red Hat Enterprise Linux (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

  • spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

  • timestamp - The time stamp of the Spot price history, in UTC format (for example, ddd MMM dd HH:mm:ss UTC YYYY). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -22971,7 +23439,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The filters.

  • task-state - Returns tasks in a certain state (InProgress | Completed | Failed)

  • bucket - Returns task information for tasks that targeted a specific bucket. For the filter value, specify the bucket name.

+

The filters.

  • task-state - Returns tasks in a certain state (InProgress | Completed | Failed)

  • bucket - Returns task information for tasks that targeted a specific bucket. For the filter value, specify the bucket name.

When you specify the ImageIds parameter, any filters that you specify are ignored. To use the filters, you must remove the ImageIds parameter.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -22981,7 +23449,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable imageIds; /** -

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.

You cannot specify this parameter and the ImageIDs parameter in the same call.

+

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.

You cannot specify this parameter and the ImageIds parameter in the same call.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxResults; @@ -23876,7 +24344,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

The ID of the Verified Access endpoint.

+

Details about the Verified Access endpoints.

*/ @property (nonatomic, strong) NSArray * _Nullable verifiedAccessEndpoints; @@ -23932,7 +24400,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

The ID of the Verified Access group.

+

Details about the Verified Access groups.

*/ @property (nonatomic, strong) NSArray * _Nullable verifiedAccessGroups; @@ -23978,7 +24446,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The current logging configuration for the Verified Access instances.

+

The logging configuration for the Verified Access instances.

*/ @property (nonatomic, strong) NSArray * _Nullable loggingConfigurations; @@ -24034,7 +24502,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

The IDs of the Verified Access instances.

+

Details about the Verified Access instances.

*/ @property (nonatomic, strong) NSArray * _Nullable verifiedAccessInstances; @@ -24085,7 +24553,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

The IDs of the Verified Access trust providers.

+

Details about the Verified Access trust providers.

*/ @property (nonatomic, strong) NSArray * _Nullable verifiedAccessTrustProviders; @@ -25062,12 +25530,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access instance.

+

Details about the Verified Access instance.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessInstance * _Nullable verifiedAccessInstance; /** -

The ID of the Verified Access trust provider.

+

Details about the Verified Access trust provider.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessTrustProvider * _Nullable verifiedAccessTrustProvider; @@ -25136,6 +25604,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2DeviceOptions : AWSModel +/** +

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

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

The ID of the tenant application with the device-identity provider.

*/ @@ -25330,12 +25803,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

Forces the image settings to turn off faster launching for your Windows AMI. This parameter overrides any errors that are encountered while cleaning up resources in your account.

+

Forces the image settings to turn off Windows fast launch for your Windows AMI. This parameter overrides any errors that are encountered while cleaning up resources in your account.

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

The ID of the image for which you’re turning off faster launching, and removing pre-provisioned snapshots.

+

Specify the ID of the image for which to disable Windows fast launch.

*/ @property (nonatomic, strong) NSString * _Nullable imageId; @@ -25348,7 +25821,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the image for which faster-launching has been turned off.

+

The ID of the image for which Windows fast launch was disabled.

*/ @property (nonatomic, strong) NSString * _Nullable imageId; @@ -25358,37 +25831,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2FastLaunchLaunchTemplateSpecificationResponse * _Nullable launchTemplate; /** -

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching.

+

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

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

The owner of the Windows AMI for which faster launching was turned off.

+

The owner of the Windows AMI for which Windows fast launch was disabled.

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

The pre-provisioning resource type that must be cleaned after turning off faster launching for the Windows AMI. Supported values include: snapshot.

+

The pre-provisioning resource type that must be cleaned after turning off Windows fast launch for the Windows AMI. Supported values include: snapshot.

*/ @property (nonatomic, assign) AWSEC2FastLaunchResourceType resourceType; /** -

Parameters that were used for faster launching for the Windows AMI before faster launching was turned off. This informs the clean-up process.

+

Parameters that were used for Windows fast launch for the Windows AMI before Windows fast launch was disabled. This informs the clean-up process.

*/ @property (nonatomic, strong) AWSEC2FastLaunchSnapshotConfigurationResponse * _Nullable snapshotConfiguration; /** -

The current state of faster launching for the specified Windows AMI.

+

The current state of Windows fast launch for the specified Windows AMI.

*/ @property (nonatomic, assign) AWSEC2FastLaunchStateCode state; /** -

The reason that the state changed for faster launching for the Windows AMI.

+

The reason that the state changed for Windows fast launch for the Windows AMI.

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

The time that the state changed for faster launching for the Windows AMI.

+

The time that the state changed for Windows fast launch for the Windows AMI.

*/ @property (nonatomic, strong) NSDate * _Nullable stateTransitionTime; @@ -25552,6 +26025,32 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DisableImageBlockPublicAccessRequest : AWSRequest + + +/** +

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +@end + +/** + + */ +@interface AWSEC2DisableImageBlockPublicAccessResult : AWSModel + + +/** +

Returns unblocked if the request succeeds; otherwise, it returns an error.

+ */ +@property (nonatomic, assign) AWSEC2ImageBlockPublicAccessDisabledState imageBlockPublicAccessState; + +@end + /** */ @@ -25576,6 +26075,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2DisableImageDeprecationResult : AWSModel +/** +

Returns true if the request succeeds; otherwise, it returns an error.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable returned; + +@end + +/** + + */ +@interface AWSEC2DisableImageRequest : 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; + +/** +

The ID of the AMI.

+ */ +@property (nonatomic, strong) NSString * _Nullable imageId; + +@end + +/** + + */ +@interface AWSEC2DisableImageResult : AWSModel + + /**

Returns true if the request succeeds; otherwise, it returns an error.

*/ @@ -25640,6 +26170,32 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DisableSnapshotBlockPublicAccessRequest : AWSRequest + + +/** +

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +@end + +/** + + */ +@interface AWSEC2DisableSnapshotBlockPublicAccessResult : AWSModel + + +/** +

Returns unblocked if the request succeeds.

+ */ +@property (nonatomic, assign) AWSEC2SnapshotBlockPublicAccessState state; + +@end + /** */ @@ -26889,13 +27445,44 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

ENA Express is compatible with both TCP and UDP transport protocols. When it’s enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

+

Launch instances with ENA Express settings configured from your launch template.

+ */ +@interface AWSEC2EnaSrdSpecificationRequest : AWSModel + + +/** +

Specifies whether ENA Express is enabled for the network interface when you launch an instance from your launch template.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enaSrdEnabled; + +/** +

Contains ENA Express settings for UDP network traffic in your launch template.

+ */ +@property (nonatomic, strong) AWSEC2EnaSrdUdpSpecificationRequest * _Nullable enaSrdUdpSpecification; + +@end + +/** +

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

*/ @interface AWSEC2EnaSrdUdpSpecification : AWSModel /** -

Indicates whether UDP traffic uses ENA Express. To specify this setting, you must first enable ENA Express.

+

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enaSrdUdpEnabled; + +@end + +/** +

Configures ENA Express for UDP network traffic from your launch template.

+ */ +@interface AWSEC2EnaSrdUdpSpecificationRequest : AWSModel + + +/** +

Indicates whether UDP traffic uses ENA Express for your instance. To ensure that UDP traffic can use ENA Express when you launch an instance, you must also set EnaSrdEnabled in the EnaSrdSpecificationRequest to true in your launch template.

*/ @property (nonatomic, strong) NSNumber * _Nullable enaSrdUdpEnabled; @@ -27021,7 +27608,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The ID of the image for which you’re enabling faster launching.

+

Specify the ID of the image for which to enable Windows fast launch.

*/ @property (nonatomic, strong) NSString * _Nullable imageId; @@ -27031,17 +27618,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2FastLaunchLaunchTemplateSpecificationRequest * _Nullable launchTemplate; /** -

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching. Value must be 6 or greater.

+

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch. Value must be 6 or greater.

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

The type of resource to use for pre-provisioning the Windows AMI for faster launching. Supported values include: snapshot, which is the default value.

+

The type of resource to use for pre-provisioning the AMI for Windows fast launch. Supported values include: snapshot, which is the default value.

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

Configuration settings for creating and managing the snapshots that are used for pre-provisioning the Windows AMI for faster launching. The associated ResourceType must be snapshot.

+

Configuration settings for creating and managing the snapshots that are used for pre-provisioning the AMI for Windows fast launch. The associated ResourceType must be snapshot.

*/ @property (nonatomic, strong) AWSEC2FastLaunchSnapshotConfigurationRequest * _Nullable snapshotConfiguration; @@ -27054,7 +27641,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The image ID that identifies the Windows AMI for which faster launching was enabled.

+

The image ID that identifies the AMI for which Windows fast launch was enabled.

*/ @property (nonatomic, strong) NSString * _Nullable imageId; @@ -27064,17 +27651,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2FastLaunchLaunchTemplateSpecificationResponse * _Nullable launchTemplate; /** -

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching.

+

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

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

The owner ID for the Windows AMI for which faster launching was enabled.

+

The owner ID for the AMI for which Windows fast launch was enabled.

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

The type of resource that was defined for pre-provisioning the Windows AMI for faster launching.

+

The type of resource that was defined for pre-provisioning the AMI for Windows fast launch.

*/ @property (nonatomic, assign) AWSEC2FastLaunchResourceType resourceType; @@ -27084,17 +27671,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2FastLaunchSnapshotConfigurationResponse * _Nullable snapshotConfiguration; /** -

The current state of faster launching for the specified Windows AMI.

+

The current state of Windows fast launch for the specified AMI.

*/ @property (nonatomic, assign) AWSEC2FastLaunchStateCode state; /** -

The reason that the state changed for faster launching for the Windows AMI.

+

The reason that the state changed for Windows fast launch for the AMI.

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

The time that the state changed for faster launching for the Windows AMI.

+

The time that the state changed for Windows fast launch for the AMI.

*/ @property (nonatomic, strong) NSDate * _Nullable stateTransitionTime; @@ -27258,6 +27845,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2EnableImageBlockPublicAccessRequest : 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; + +/** +

Specify block-new-sharing to enable block public access for AMIs at the account level in the specified Region. This will block any attempt to publicly share your AMIs in the specified Region.

+ */ +@property (nonatomic, assign) AWSEC2ImageBlockPublicAccessEnabledState imageBlockPublicAccessState; + +@end + +/** + + */ +@interface AWSEC2EnableImageBlockPublicAccessResult : AWSModel + + +/** +

Returns block-new-sharing if the request succeeds; otherwise, it returns an error.

+ */ +@property (nonatomic, assign) AWSEC2ImageBlockPublicAccessEnabledState imageBlockPublicAccessState; + +@end + /** */ @@ -27287,6 +27905,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2EnableImageDeprecationResult : AWSModel +/** +

Returns true if the request succeeds; otherwise, it returns an error.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable returned; + +@end + +/** + + */ +@interface AWSEC2EnableImageRequest : 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; + +/** +

The ID of the AMI.

+ */ +@property (nonatomic, strong) NSString * _Nullable imageId; + +@end + +/** + + */ +@interface AWSEC2EnableImageResult : AWSModel + + /**

Returns true if the request succeeds; otherwise, it returns an error.

*/ @@ -27377,6 +28026,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2EnableSnapshotBlockPublicAccessRequest : 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; + +/** +

The mode in which to enable block public access for snapshots for the Region. Specify one of the following values:

  • block-all-sharing - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available.

    If you enable block public access for snapshots in block-all-sharing mode, it does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available.

  • block-new-sharing - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.

+ */ +@property (nonatomic, assign) AWSEC2SnapshotBlockPublicAccessState state; + +@end + +/** + + */ +@interface AWSEC2EnableSnapshotBlockPublicAccessResult : AWSModel + + +/** +

The state of block public access for snapshots for the account and Region. Returns either block-all-sharing or block-new-sharing if the request succeeds.

+ */ +@property (nonatomic, assign) AWSEC2SnapshotBlockPublicAccessState state; + +@end + /** */ @@ -28274,73 +28954,73 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

Request to create a launch template for a fast-launch enabled Windows AMI.

Note - You can specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

+

Request to create a launch template for a Windows fast launch enabled AMI.

Note - You can specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

Required parameters: [Version] */ @interface AWSEC2FastLaunchLaunchTemplateSpecificationRequest : AWSModel /** -

The ID of the launch template to use for faster launching for a Windows AMI.

+

Specify the ID of the launch template that the AMI should use for Windows fast launch.

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

The name of the launch template to use for faster launching for a Windows AMI.

+

Specify the name of the launch template that the AMI should use for Windows fast launch.

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

The version of the launch template to use for faster launching for a Windows AMI.

+

Specify the version of the launch template that the AMI should use for Windows fast launch.

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

Identifies the launch template to use for faster launching of the Windows AMI.

+

Identifies the launch template that the AMI uses for Windows fast launch.

*/ @interface AWSEC2FastLaunchLaunchTemplateSpecificationResponse : AWSModel /** -

The ID of the launch template for faster launching of the associated Windows AMI.

+

The ID of the launch template that the AMI uses for Windows fast launch.

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

The name of the launch template for faster launching of the associated Windows AMI.

+

The name of the launch template that the AMI uses for Windows fast launch.

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

The version of the launch template for faster launching of the associated Windows AMI.

+

The version of the launch template that the AMI uses for Windows fast launch.

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

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

+

Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch enabled AMI.

*/ @interface AWSEC2FastLaunchSnapshotConfigurationRequest : AWSModel /** -

The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.

+

The number of pre-provisioned snapshots to keep on hand for a Windows fast launch enabled AMI.

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

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

+

Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch enabled Windows AMI.

*/ @interface AWSEC2FastLaunchSnapshotConfigurationResponse : AWSModel /** -

The number of pre-provisioned snapshots requested to keep on hand for a fast-launch enabled Windows AMI.

+

The number of pre-provisioned snapshots requested to keep on hand for a Windows fast launch enabled AMI.

*/ @property (nonatomic, strong) NSNumber * _Nullable targetResourceCount; @@ -29484,6 +30164,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable localGatewayRouteTableId; +/** +

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + @end /** @@ -29794,6 +30479,32 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2GetImageBlockPublicAccessStateRequest : AWSRequest + + +/** +

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +@end + +/** + + */ +@interface AWSEC2GetImageBlockPublicAccessStateResult : AWSModel + + +/** +

The current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

Possible values:

  • block-new-sharing - Any attempt to publicly share your AMIs in the specified Region is blocked.

  • unblocked - Your AMIs in the specified Region can be publicly shared.

+ */ +@property (nonatomic, strong) NSString * _Nullable imageBlockPublicAccessState; + +@end + /** */ @@ -30580,6 +31291,57 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2GetSecurityGroupsForVpcRequest : 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; + +/** +

The filters. If using multiple filters, the results include security groups which match all filters.

  • group-id: The security group ID.

  • description: The security group's description.

  • group-name: The security group name.

  • owner-id: The security group owner ID.

  • primary-vpc-id: The VPC ID in which the security group was created.

+ */ +@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. 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 by the previous request.

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

The VPC ID where the security group can be used.

+ */ +@property (nonatomic, strong) NSString * _Nullable vpcId; + +@end + +/** + + */ +@interface AWSEC2GetSecurityGroupsForVpcResult : AWSModel + + +/** +

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; + +/** +

The security group that can be used by interfaces in the VPC.

+ */ +@property (nonatomic, strong) NSArray * _Nullable securityGroupForVpcs; + +@end + /** */ @@ -30606,6 +31368,32 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2GetSnapshotBlockPublicAccessStateRequest : AWSRequest + + +/** +

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +@end + +/** + + */ +@interface AWSEC2GetSnapshotBlockPublicAccessStateResult : AWSModel + + +/** +

The current state of block public access for snapshots. Possible values include:

  • block-all-sharing - All public sharing of snapshots is blocked. Users in the account can't request new public sharing. Additionally, snapshots that were already publicly shared are treated as private and are not publicly available.

  • block-new-sharing - Only new public sharing of snapshots is blocked. Users in the account can't request new public sharing. However, snapshots that were already publicly shared, remain publicly available.

  • unblocked - Public sharing is not blocked. Users can publicly share snapshots.

+ */ +@property (nonatomic, assign) AWSEC2SnapshotBlockPublicAccessState state; + +@end + /** */ @@ -31397,7 +32185,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Set to true to enable your instance for hibernation.

Default: false

+

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

*/ @property (nonatomic, strong) NSNumber * _Nullable configured; @@ -31912,7 +32700,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable enaSupport; /** -

The hypervisor type of the image.

+

The hypervisor type of the image. Only xen is supported. ovm is not supported.

*/ @property (nonatomic, assign) AWSEC2HypervisorType hypervisor; @@ -31991,6 +32779,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, assign) AWSEC2DeviceType rootDeviceType; +/** +

The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This field only appears if the AMI was created using CreateImage.

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

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

*/ @@ -32246,7 +33039,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable architecture; /** -

The boot mode of the virtual machine.

+

The boot mode of the virtual machine.

The uefi-preferred boot mode isn't supported for importing images. For more information, see Boot modes in the VM Import/Export User Guide.

*/ @property (nonatomic, assign) AWSEC2BootModeValues bootMode; @@ -33279,6 +34072,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

+ */ +@interface AWSEC2InstanceAttachmentEnaSrdSpecification : AWSModel + + +/** +

Indicates whether ENA Express is enabled for the network interface.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enaSrdEnabled; + +/** +

Configures ENA Express for UDP network traffic.

+ */ +@property (nonatomic, strong) AWSEC2InstanceAttachmentEnaSrdUdpSpecification * _Nullable enaSrdUdpSpecification; + +@end + +/** +

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

+ */ +@interface AWSEC2InstanceAttachmentEnaSrdUdpSpecification : AWSModel + + +/** +

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enaSrdUdpEnabled; + +@end + /**

Describes an instance attribute.

*/ @@ -34065,6 +34889,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable deviceIndex; +/** +

Contains the ENA Express settings for the network interface that's attached to the instance.

+ */ +@property (nonatomic, strong) AWSEC2InstanceAttachmentEnaSrdSpecification * _Nullable enaSrdSpecification; + /**

The index of the network card.

*/ @@ -34108,6 +34937,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable deviceIndex; +/** +

Specifies the ENA Express settings for the network interface that's attached to the instance.

+ */ +@property (nonatomic, strong) AWSEC2EnaSrdSpecificationRequest * _Nullable enaSrdSpecification; + /**

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

*/ @@ -34214,7 +35048,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

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

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

  • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

  • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the launch instance wizard or with the RunInstances API, you can't specify InstanceRequirements.

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

+

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

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

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

  • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

  • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the launch instance wizard or with the RunInstances API, you can't specify InstanceRequirements.

For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide, and also Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

*/ @interface AWSEC2InstanceRequirements : AWSModel @@ -34716,6 +35550,44 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +

Information about the instance topology.

+ */ +@interface AWSEC2InstanceTopology : AWSModel + + +/** +

The name of the Availability Zone or Local Zone that the instance is in.

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

The name of the placement group that the instance is in.

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

The instance ID.

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

The instance type.

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

The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same droplet will return a different hashed list of strings.

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

The ID of the Availability Zone or Local Zone that the instance is in.

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

Describes the instance type.

*/ @@ -36539,6 +37411,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

+ */ +@interface AWSEC2LaunchTemplateEnaSrdSpecification : AWSModel + + +/** +

Indicates whether ENA Express is enabled for the network interface.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enaSrdEnabled; + +/** +

Configures ENA Express for UDP network traffic.

+ */ +@property (nonatomic, strong) AWSEC2LaunchTemplateEnaSrdUdpSpecification * _Nullable enaSrdUdpSpecification; + +@end + +/** +

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

+ */ +@interface AWSEC2LaunchTemplateEnaSrdUdpSpecification : AWSModel + + +/** +

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enaSrdUdpEnabled; + +@end + /**

Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

*/ @@ -36791,6 +37694,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable deviceIndex; +/** +

Contains the ENA Express settings for instances launched from your launch template.

+ */ +@property (nonatomic, strong) AWSEC2LaunchTemplateEnaSrdSpecification * _Nullable enaSrdSpecification; + /**

The IDs of one or more security groups.

*/ @@ -36899,6 +37807,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable deviceIndex; +/** +

Configure ENA Express settings for your launch template.

+ */ +@property (nonatomic, strong) AWSEC2EnaSrdSpecificationRequest * _Nullable enaSrdSpecification; + /**

The IDs of one or more security groups.

*/ @@ -37311,7 +38224,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The type of resource to tag.

The Valid Values are all the resource types that can be tagged. However, when creating a launch template, you can specify tags for the following resource types only: instance | volume | elastic-gpu | network-interface | spot-instances-request

To tag a resource after it has been created, see CreateTags.

+

The type of resource to tag.

Valid Values lists all resource types for Amazon EC2 that can be tagged. When you create a launch template, you can specify tags for the following resource types only: instance | volume | elastic-gpu | network-interface | spot-instances-request. If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include an Elastic GPU.

To tag a resource after it has been created, see CreateTags.

*/ @property (nonatomic, assign) AWSEC2ResourceType resourceType; @@ -37917,6 +38830,145 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2LockSnapshotRequest : AWSRequest + + +/** +

The cooling-off period during which you can unlock the snapshot or modify the lock settings after locking the snapshot in compliance mode, in hours. After the cooling-off period expires, you can't unlock or delete the snapshot, decrease the lock duration, or change the lock mode. You can increase the lock duration after the cooling-off period expires.

The cooling-off period is optional when locking a snapshot in compliance mode. If you are locking the snapshot in governance mode, omit this parameter.

To lock the snapshot in compliance mode immediately without a cooling-off period, omit this parameter.

If you are extending the lock duration for a snapshot that is locked in compliance mode after the cooling-off period has expired, omit this parameter. If you specify a cooling-period in a such a request, the request fails.

Allowed values: Min 1, max 72.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable coolOffPeriod; + +/** +

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; + +/** +

The date and time at which the snapshot lock is to automatically expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

You must specify either this parameter or LockDuration, but not both.

+ */ +@property (nonatomic, strong) NSDate * _Nullable expirationDate; + +/** +

The period of time for which to lock the snapshot, in days. The snapshot lock will automatically expire after this period lapses.

You must specify either this parameter or ExpirationDate, but not both.

Allowed values: Min: 1, max 36500

+ */ +@property (nonatomic, strong) NSNumber * _Nullable lockDuration; + +/** +

The mode in which to lock the snapshot. Specify one of the following:

  • governance - Locks the snapshot in governance mode. Snapshots locked in governance mode can't be deleted until one of the following conditions are met:

    • The lock duration expires.

    • The snapshot is unlocked by a user with the appropriate permissions.

    Users with the appropriate IAM permissions can unlock the snapshot, increase or decrease the lock duration, and change the lock mode to compliance at any time.

    If you lock a snapshot in governance mode, omit CoolOffPeriod.

  • compliance - Locks the snapshot in compliance mode. Snapshots locked in compliance mode can't be unlocked by any user. They can be deleted only after the lock duration expires. Users can't decrease the lock duration or change the lock mode to governance. However, users with appropriate IAM permissions can increase the lock duration at any time.

    If you lock a snapshot in compliance mode, you can optionally specify CoolOffPeriod.

+ */ +@property (nonatomic, assign) AWSEC2LockMode lockMode; + +/** +

The ID of the snapshot to lock.

+ */ +@property (nonatomic, strong) NSString * _Nullable snapshotId; + +@end + +/** + + */ +@interface AWSEC2LockSnapshotResult : AWSModel + + +/** +

The compliance mode cooling-off period, in hours.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable coolOffPeriod; + +/** +

The date and time at which the compliance mode cooling-off period expires, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

+ */ +@property (nonatomic, strong) NSDate * _Nullable coolOffPeriodExpiresOn; + +/** +

The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

+ */ +@property (nonatomic, strong) NSDate * _Nullable lockCreatedOn; + +/** +

The period of time for which the snapshot is locked, in days.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable lockDuration; + +/** +

The date and time at which the lock duration started, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

+ */ +@property (nonatomic, strong) NSDate * _Nullable lockDurationStartTime; + +/** +

The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

+ */ +@property (nonatomic, strong) NSDate * _Nullable lockExpiresOn; + +/** +

The state of the snapshot lock. Valid states include:

  • compliance-cooloff - The snapshot has been locked in compliance mode but it is still within the cooling-off period. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • governance - The snapshot is locked in governance mode. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • compliance - The snapshot is locked in compliance mode and the cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock duration can only be increased by users with appropriate permissions.

  • expired - The snapshot was locked in compliance or governance mode but the lock duration has expired. The snapshot is not locked and can be deleted.

+ */ +@property (nonatomic, assign) AWSEC2LockState lockState; + +/** +

The ID of the snapshot

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

Information about a locked snapshot.

+ */ +@interface AWSEC2LockedSnapshotsInfo : AWSModel + + +/** +

The compliance mode cooling-off period, in hours.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable coolOffPeriod; + +/** +

The date and time at which the compliance mode cooling-off period expires, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

+ */ +@property (nonatomic, strong) NSDate * _Nullable coolOffPeriodExpiresOn; + +/** +

The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

+ */ +@property (nonatomic, strong) NSDate * _Nullable lockCreatedOn; + +/** +

The period of time for which the snapshot is locked, in days.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable lockDuration; + +/** +

The date and time at which the lock duration started, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

If you lock a snapshot that is in the pending state, the lock duration starts only once the snapshot enters the completed state.

+ */ +@property (nonatomic, strong) NSDate * _Nullable lockDurationStartTime; + +/** +

The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

+ */ +@property (nonatomic, strong) NSDate * _Nullable lockExpiresOn; + +/** +

The state of the snapshot lock. Valid states include:

  • compliance-cooloff - The snapshot has been locked in compliance mode but it is still within the cooling-off period. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • governance - The snapshot is locked in governance mode. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • compliance - The snapshot is locked in compliance mode and the cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock duration can only be increased by users with appropriate permissions.

  • expired - The snapshot was locked in compliance or governance mode but the lock duration has expired. The snapshot is not locked and can be deleted.

+ */ +@property (nonatomic, assign) AWSEC2LockState lockState; + +/** +

The account ID of the Amazon Web Services account that owns the snapshot.

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

The ID of the snapshot.

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

Details for Site-to-Site VPN tunnel endpoint maintenance events.

*/ @@ -40401,6 +41453,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable policyEnabled; +/** +

The options for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationRequest * _Nullable sseSpecification; + /**

The ID of the Verified Access endpoint.

*/ @@ -40424,6 +41481,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable policyEnabled; +/** +

The options in use for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationResponse * _Nullable sseSpecification; + @end /** @@ -40476,7 +41538,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The Verified Access endpoint details.

+

Details about the Verified Access endpoint.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessEndpoint * _Nullable verifiedAccessEndpoint; @@ -40508,6 +41570,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable policyEnabled; +/** +

The options for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationRequest * _Nullable sseSpecification; + /**

The ID of the Verified Access group.

*/ @@ -40531,6 +41598,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSNumber * _Nullable policyEnabled; +/** +

The options in use for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationResponse * _Nullable sseSpecification; + @end /** @@ -40573,7 +41645,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Details of Verified Access group.

+

Details about the Verified Access group.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessGroup * _Nullable verifiedAccessGroup; @@ -40655,12 +41727,25 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access instance.

+

Details about the Verified Access instance.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessInstance * _Nullable verifiedAccessInstance; @end +/** +

Modifies the configuration of the specified device-based Amazon Web Services Verified Access trust provider.

+ */ +@interface AWSEC2ModifyVerifiedAccessTrustProviderDeviceOptions : AWSModel + + +/** +

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

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

Options for an OpenID Connect-compatible user-identity trust provider.

*/ @@ -40720,6 +41805,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable detail; +/** +

The options for a device-based trust provider. This parameter is required when the provider type is device.

+ */ +@property (nonatomic, strong) AWSEC2ModifyVerifiedAccessTrustProviderDeviceOptions * _Nullable deviceOptions; + /**

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.

*/ @@ -40730,6 +41820,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) AWSEC2ModifyVerifiedAccessTrustProviderOidcOptions * _Nullable oidcOptions; +/** +

The options for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationRequest * _Nullable sseSpecification; + /**

The ID of the Verified Access trust provider.

*/ @@ -40744,7 +41839,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The ID of the Verified Access trust provider.

+

Details about the Verified Access trust provider.

*/ @property (nonatomic, strong) AWSEC2VerifiedAccessTrustProvider * _Nullable verifiedAccessTrustProvider; @@ -41374,7 +42469,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

Choose whether or not to trigger immediate tunnel replacement.

Valid values: True | False

+

Choose whether or not to trigger immediate tunnel replacement. This is only applicable when turning on or off EnableTunnelLifecycleControl.

Valid values: True | False

*/ @property (nonatomic, strong) NSNumber * _Nullable skipTunnelReplacement; @@ -41420,7 +42515,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable DPDTimeoutAction; /** -

The number of seconds after which a DPD timeout occurs.

Constraints: A value greater than or equal to 30.

Default: 30

+

The number of seconds after which a DPD timeout occurs. A DPD timeout of 40 seconds means that the VPN endpoint will consider the peer dead 30 seconds after the first failed keep-alive.

Constraints: A value greater than or equal to 30.

Default: 40

*/ @property (nonatomic, strong) NSNumber * _Nullable DPDTimeoutSeconds; @@ -42793,7 +43888,7 @@ 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.

+

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.

*/ @property (nonatomic, strong) NSString * _Nullable maxTotalPrice; @@ -42831,7 +43926,7 @@ 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.

+

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.

*/ @property (nonatomic, strong) NSString * _Nullable maxTotalPrice; @@ -44246,6 +45341,47 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2PurchaseCapacityBlockRequest : AWSRequest + + +/** +

The ID of the Capacity Block offering.

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

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; + +/** +

The type of operating system for which to reserve capacity.

+ */ +@property (nonatomic, assign) AWSEC2CapacityReservationInstancePlatform instancePlatform; + +/** +

The tags to apply to the Capacity Block during launch.

+ */ +@property (nonatomic, strong) NSArray * _Nullable tagSpecifications; + +@end + +/** + + */ +@interface AWSEC2PurchaseCapacityBlockResult : AWSModel + + +/** +

The Capacity Reservation.

+ */ +@property (nonatomic, strong) AWSEC2CapacityReservation * _Nullable capacityReservation; + +@end + /** */ @@ -44937,7 +46073,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.

If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you receive an InvalidParameterCombination error.

+

The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.

If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

*/ @property (nonatomic, strong) NSString * _Nullable networkBorderGroup; @@ -45572,7 +46708,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable elasticGpuSpecifications; /** -

The elastic inference accelerator for the instance.

+

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

*/ @property (nonatomic, strong) NSArray * _Nullable elasticInferenceAccelerators; @@ -45667,12 +46803,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable ramDiskId; /** -

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.

+

One or more security group IDs. You can create a security group using CreateSecurityGroup.

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

One or more security group names. For a nondefault VPC, you must use security group IDs instead. You cannot specify both a security group ID and security name in the same request.

+

One or more security group names. For a nondefault VPC, you must use security group IDs instead.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroups; @@ -46678,7 +47814,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable elasticGpuSpecifications; /** -

The elastic inference accelerator for the instance.

+

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

*/ @property (nonatomic, strong) NSArray * _Nullable elasticInferenceAccelerators; @@ -48519,6 +49655,44 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +

A security group that can be used by interfaces in the VPC.

+ */ +@interface AWSEC2SecurityGroupForVpc : AWSModel + + +/** +

The security group's description.

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

The security group ID.

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

The security group name.

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

The security group owner ID.

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

The VPC ID in which the security group was created.

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

The security group tags.

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

Describes a security group.

*/ @@ -49646,7 +50820,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.

+

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.

*/ @property (nonatomic, strong) NSString * _Nullable onDemandMaxTotalPrice; @@ -49666,7 +50840,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 spotdMaxTotalPrice 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.

+

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.

*/ @property (nonatomic, strong) NSString * _Nullable spotMaxTotalPrice; @@ -49676,7 +50850,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable spotPrice; /** -

The key-value pair for tagging the Spot Fleet request on creation. The value for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the launch template (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification (valid only if you use LaunchSpecifications). For information about tagging after launch, see Tagging Your Resources.

+

The key-value pair for tagging the Spot Fleet request on creation. The value for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the launch template (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification (valid only if you use LaunchSpecifications). For information about tagging after launch, see Tag your resources.

*/ @property (nonatomic, strong) NSArray * _Nullable tagSpecifications; @@ -49899,7 +51073,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable blockDurationMinutes; /** -

The behavior when a Spot Instance is interrupted. The default is terminate.

+

The behavior when a Spot Instance is interrupted.

If Configured (for HibernationOptions) is set to true, the InstanceInterruptionBehavior parameter is automatically set to hibernate. If you set it to stop or terminate, you'll get an error.

If Configured (for HibernationOptions) is set to false or null, the InstanceInterruptionBehavior parameter is automatically set to terminate. You can also set it to stop or hibernate.

For more information, see Interruption behavior in the Amazon EC2 User Guide.

*/ @property (nonatomic, assign) AWSEC2InstanceInterruptionBehavior instanceInterruptionBehavior; @@ -49947,7 +51121,7 @@ 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.

+

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.

*/ @property (nonatomic, strong) NSString * _Nullable maxTotalPrice; @@ -49995,7 +51169,7 @@ 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.

+

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.

*/ @property (nonatomic, strong) NSString * _Nullable maxTotalPrice; @@ -53100,6 +54274,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2UnlockSnapshotRequest : 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; + +/** +

The ID of the snapshot to unlock.

+ */ +@property (nonatomic, strong) NSString * _Nullable snapshotId; + +@end + +/** + + */ +@interface AWSEC2UnlockSnapshotResult : AWSModel + + +/** +

The ID of the snapshot.

+ */ +@property (nonatomic, strong) NSString * _Nullable snapshotId; + +@end + /** */ @@ -53559,6 +54764,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSArray * _Nullable securityGroupIds; +/** +

The options in use for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationResponse * _Nullable sseSpecification; + /**

The endpoint status.

*/ @@ -53686,6 +54896,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable owner; +/** +

The options in use for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationResponse * _Nullable sseSpecification; + /**

The tags.

*/ @@ -53724,6 +54939,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable detail; +/** +

Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable fipsEnabled; + /**

The last updated time.

*/ @@ -53878,7 +55098,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2VerifiedAccessLogCloudWatchLogsDestinationOptions * _Nullable cloudWatchLogs; /** -

Include trust data sent by trust providers into the logs.

+

Indicates whether to include trust data sent by trust providers in the logs.

*/ @property (nonatomic, strong) NSNumber * _Nullable includeTrustContext; @@ -53888,7 +55108,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2VerifiedAccessLogKinesisDataFirehoseDestinationOptions * _Nullable kinesisDataFirehose; /** -

The logging version to use.

Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2

+

The logging version.

Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2

*/ @property (nonatomic, strong) NSString * _Nullable logVersion; @@ -53973,7 +55193,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2VerifiedAccessLogCloudWatchLogsDestination * _Nullable cloudWatchLogs; /** -

Describes current setting for including trust data into the logs.

+

Indicates whether trust data is included in the logs.

*/ @property (nonatomic, strong) NSNumber * _Nullable includeTrustContext; @@ -53983,7 +55203,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2VerifiedAccessLogKinesisDataFirehoseDestination * _Nullable kinesisDataFirehose; /** -

Describes current setting for the logging version.

+

The log version.

*/ @property (nonatomic, strong) NSString * _Nullable logVersion; @@ -53994,6 +55214,42 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** +

Verified Access provides server side encryption by default to data at rest using Amazon Web Services-owned KMS keys. You also have the option of using customer managed KMS keys, which can be specified using the options below.

+ */ +@interface AWSEC2VerifiedAccessSseSpecificationRequest : AWSModel + + +/** +

Enable or disable the use of customer managed KMS keys for server side encryption.

Valid values: True | False

+ */ +@property (nonatomic, strong) NSNumber * _Nullable customerManagedKeyEnabled; + +/** +

The ARN of the KMS key.

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

The options in use for server side encryption.

+ */ +@interface AWSEC2VerifiedAccessSseSpecificationResponse : AWSModel + + +/** +

Indicates whether customer managed KMS keys are in use for server side encryption.

Valid values: True | False

+ */ +@property (nonatomic, strong) NSNumber * _Nullable customerManagedKeyEnabled; + +/** +

The ARN of the KMS key.

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

Describes a Verified Access trust provider.

*/ @@ -54035,6 +55291,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable policyReferenceName; +/** +

The options in use for server side encryption.

+ */ +@property (nonatomic, strong) AWSEC2VerifiedAccessSseSpecificationResponse * _Nullable sseSpecification; + /**

The tags.

*/ @@ -54107,7 +55368,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable certificateArn; /** -

The date and time of the last change in status.

+

The date and time of the last change in status. This field is updated when changes in IKE (Phase 1), IPSec (Phase 2), or BGP status are detected.

*/ @property (nonatomic, strong) NSDate * _Nullable lastStatusChange; diff --git a/AWSEC2/AWSEC2Model.m b/AWSEC2/AWSEC2Model.m index ed61c997742..59c6f059828 100644 --- a/AWSEC2/AWSEC2Model.m +++ b/AWSEC2/AWSEC2Model.m @@ -3432,6 +3432,66 @@ + (NSValueTransformer *)allocationTypeJSONTransformer { @end +@implementation AWSEC2CapacityBlockOffering + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"availabilityZone" : @"AvailabilityZone", + @"capacityBlockDurationHours" : @"CapacityBlockDurationHours", + @"capacityBlockOfferingId" : @"CapacityBlockOfferingId", + @"currencyCode" : @"CurrencyCode", + @"endDate" : @"EndDate", + @"instanceCount" : @"InstanceCount", + @"instanceType" : @"InstanceType", + @"startDate" : @"StartDate", + @"tenancy" : @"Tenancy", + @"upfrontFee" : @"UpfrontFee", + }; +} + ++ (NSValueTransformer *)endDateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)startDateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)tenancyJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationTenancyDefault); + } + if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationTenancyDedicated); + } + return @(AWSEC2CapacityReservationTenancyUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2CapacityReservationTenancyDefault: + return @"default"; + case AWSEC2CapacityReservationTenancyDedicated: + return @"dedicated"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2CapacityReservation + (BOOL)supportsSecureCoding { @@ -3458,6 +3518,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"outpostArn" : @"OutpostArn", @"ownerId" : @"OwnerId", @"placementGroupArn" : @"PlacementGroupArn", + @"reservationType" : @"ReservationType", @"startDate" : @"StartDate", @"state" : @"State", @"tags" : @"Tags", @@ -3581,6 +3642,9 @@ + (NSValueTransformer *)instancePlatformJSONTransformer { if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise); } + if ([value caseInsensitiveCompare:@"Ubuntu Pro"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformUbuntuPro); + } return @(AWSEC2CapacityReservationInstancePlatformUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -3618,6 +3682,29 @@ + (NSValueTransformer *)instancePlatformJSONTransformer { return @"RHEL with HA and SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise: return @"RHEL with HA and SQL Server Enterprise"; + case AWSEC2CapacityReservationInstancePlatformUbuntuPro: + return @"Ubuntu Pro"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)reservationTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationTypeDefault); + } + if ([value caseInsensitiveCompare:@"capacity-block"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationTypeCapacityBlock); + } + return @(AWSEC2CapacityReservationTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2CapacityReservationTypeDefault: + return @"default"; + case AWSEC2CapacityReservationTypeCapacityBlock: + return @"capacity-block"; default: return nil; } @@ -3649,6 +3736,15 @@ + (NSValueTransformer *)stateJSONTransformer { if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateFailed); } + if ([value caseInsensitiveCompare:@"scheduled"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationStateScheduled); + } + if ([value caseInsensitiveCompare:@"payment-pending"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationStatePaymentPending); + } + if ([value caseInsensitiveCompare:@"payment-failed"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationStatePaymentFailed); + } return @(AWSEC2CapacityReservationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -3662,6 +3758,12 @@ + (NSValueTransformer *)stateJSONTransformer { return @"pending"; case AWSEC2CapacityReservationStateFailed: return @"failed"; + case AWSEC2CapacityReservationStateScheduled: + return @"scheduled"; + case AWSEC2CapacityReservationStatePaymentPending: + return @"payment-pending"; + case AWSEC2CapacityReservationStatePaymentFailed: + return @"payment-failed"; default: return nil; } @@ -5743,6 +5845,9 @@ + (NSValueTransformer *)instancePlatformJSONTransformer { if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise); } + if ([value caseInsensitiveCompare:@"Ubuntu Pro"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformUbuntuPro); + } return @(AWSEC2CapacityReservationInstancePlatformUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -5780,6 +5885,8 @@ + (NSValueTransformer *)instancePlatformJSONTransformer { return @"RHEL with HA and SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise: return @"RHEL with HA and SQL Server Enterprise"; + case AWSEC2CapacityReservationInstancePlatformUbuntuPro: + return @"Ubuntu Pro"; default: return nil; } @@ -8399,6 +8506,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -9762,6 +10145,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -13063,6 +13630,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"networkInterfaceOptions" : @"NetworkInterfaceOptions", @"policyDocument" : @"PolicyDocument", @"securityGroupIds" : @"SecurityGroupIds", + @"sseSpecification" : @"SseSpecification", @"tagSpecifications" : @"TagSpecifications", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", }; @@ -13113,6 +13681,10 @@ + (NSValueTransformer *)networkInterfaceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateVerifiedAccessEndpointEniOptions class]]; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationRequest class]]; +} + + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @@ -13149,11 +13721,16 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"detail" : @"Description", @"dryRun" : @"DryRun", @"policyDocument" : @"PolicyDocument", + @"sseSpecification" : @"SseSpecification", @"tagSpecifications" : @"TagSpecifications", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationRequest class]]; +} + + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @@ -13189,6 +13766,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", + @"FIPSEnabled" : @"FIPSEnabled", @"tagSpecifications" : @"TagSpecifications", }; } @@ -13225,6 +13803,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"publicSigningKeyUrl" : @"PublicSigningKeyUrl", @"tenantId" : @"TenantId", }; } @@ -13266,6 +13845,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"dryRun" : @"DryRun", @"oidcOptions" : @"OidcOptions", @"policyReferenceName" : @"PolicyReferenceName", + @"sseSpecification" : @"SseSpecification", @"tagSpecifications" : @"TagSpecifications", @"trustProviderType" : @"TrustProviderType", @"userTrustProviderType" : @"UserTrustProviderType", @@ -13284,6 +13864,9 @@ + (NSValueTransformer *)deviceTrustProviderTypeJSONTransformer { if ([value caseInsensitiveCompare:@"crowdstrike"] == NSOrderedSame) { return @(AWSEC2DeviceTrustProviderTypeCrowdstrike); } + if ([value caseInsensitiveCompare:@"jumpcloud"] == NSOrderedSame) { + return @(AWSEC2DeviceTrustProviderTypeJumpcloud); + } return @(AWSEC2DeviceTrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -13291,6 +13874,8 @@ + (NSValueTransformer *)deviceTrustProviderTypeJSONTransformer { return @"jamf"; case AWSEC2DeviceTrustProviderTypeCrowdstrike: return @"crowdstrike"; + case AWSEC2DeviceTrustProviderTypeJumpcloud: + return @"jumpcloud"; default: return nil; } @@ -13301,6 +13886,10 @@ + (NSValueTransformer *)oidcOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateVerifiedAccessTrustProviderOidcOptions class]]; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationRequest class]]; +} + + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @@ -14894,6 +15483,21 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2DeleteKeyPairResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"keyPairId" : @"KeyPairId", + @"returned" : @"Return", + }; +} + +@end + @implementation AWSEC2DeleteLaunchTemplateRequest + (BOOL)supportsSecureCoding { @@ -17065,7 +17669,7 @@ + (NSValueTransformer *)byoipCidrsJSONTransformer { @end -@implementation AWSEC2DescribeCapacityReservationFleetsRequest +@implementation AWSEC2DescribeCapacityBlockOfferingsRequest + (BOOL)supportsSecureCoding { return YES; @@ -17073,21 +17677,36 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"capacityReservationFleetIds" : @"CapacityReservationFleetIds", + @"capacityDurationHours" : @"CapacityDurationHours", @"dryRun" : @"DryRun", - @"filters" : @"Filters", + @"endDateRange" : @"EndDateRange", + @"instanceCount" : @"InstanceCount", + @"instanceType" : @"InstanceType", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", + @"startDateRange" : @"StartDateRange", }; } -+ (NSValueTransformer *)filtersJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; ++ (NSValueTransformer *)endDateRangeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)startDateRangeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; } @end -@implementation AWSEC2DescribeCapacityReservationFleetsResult +@implementation AWSEC2DescribeCapacityBlockOfferingsResult + (BOOL)supportsSecureCoding { return YES; @@ -17095,18 +17714,18 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"capacityReservationFleets" : @"CapacityReservationFleets", + @"capacityBlockOfferings" : @"CapacityBlockOfferings", @"nextToken" : @"NextToken", }; } -+ (NSValueTransformer *)capacityReservationFleetsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityReservationFleet class]]; ++ (NSValueTransformer *)capacityBlockOfferingsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityBlockOffering class]]; } @end -@implementation AWSEC2DescribeCapacityReservationsRequest +@implementation AWSEC2DescribeCapacityReservationFleetsRequest + (BOOL)supportsSecureCoding { return YES; @@ -17114,7 +17733,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"capacityReservationIds" : @"CapacityReservationIds", + @"capacityReservationFleetIds" : @"CapacityReservationFleetIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @@ -17128,7 +17747,7 @@ + (NSValueTransformer *)filtersJSONTransformer { @end -@implementation AWSEC2DescribeCapacityReservationsResult +@implementation AWSEC2DescribeCapacityReservationFleetsResult + (BOOL)supportsSecureCoding { return YES; @@ -17136,18 +17755,18 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"capacityReservations" : @"CapacityReservations", + @"capacityReservationFleets" : @"CapacityReservationFleets", @"nextToken" : @"NextToken", }; } -+ (NSValueTransformer *)capacityReservationsJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityReservation class]]; ++ (NSValueTransformer *)capacityReservationFleetsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityReservationFleet class]]; } @end -@implementation AWSEC2DescribeCarrierGatewaysRequest +@implementation AWSEC2DescribeCapacityReservationsRequest + (BOOL)supportsSecureCoding { return YES; @@ -17155,7 +17774,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"carrierGatewayIds" : @"CarrierGatewayIds", + @"capacityReservationIds" : @"CapacityReservationIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @@ -17169,7 +17788,7 @@ + (NSValueTransformer *)filtersJSONTransformer { @end -@implementation AWSEC2DescribeCarrierGatewaysResult +@implementation AWSEC2DescribeCapacityReservationsResult + (BOOL)supportsSecureCoding { return YES; @@ -17177,18 +17796,18 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"carrierGateways" : @"CarrierGateways", + @"capacityReservations" : @"CapacityReservations", @"nextToken" : @"NextToken", }; } -+ (NSValueTransformer *)carrierGatewaysJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CarrierGateway class]]; ++ (NSValueTransformer *)capacityReservationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityReservation class]]; } @end -@implementation AWSEC2DescribeClassicLinkInstancesRequest +@implementation AWSEC2DescribeCarrierGatewaysRequest + (BOOL)supportsSecureCoding { return YES; @@ -17196,9 +17815,9 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"carrierGatewayIds" : @"CarrierGatewayIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", - @"instanceIds" : @"InstanceIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; @@ -17210,7 +17829,7 @@ + (NSValueTransformer *)filtersJSONTransformer { @end -@implementation AWSEC2DescribeClassicLinkInstancesResult +@implementation AWSEC2DescribeCarrierGatewaysResult + (BOOL)supportsSecureCoding { return YES; @@ -17218,18 +17837,18 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"instances" : @"Instances", + @"carrierGateways" : @"CarrierGateways", @"nextToken" : @"NextToken", }; } -+ (NSValueTransformer *)instancesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClassicLinkInstance class]]; ++ (NSValueTransformer *)carrierGatewaysJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CarrierGateway class]]; } @end -@implementation AWSEC2DescribeClientVpnAuthorizationRulesRequest +@implementation AWSEC2DescribeClassicLinkInstancesRequest + (BOOL)supportsSecureCoding { return YES; @@ -17237,9 +17856,9 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", @"filters" : @"Filters", + @"instanceIds" : @"InstanceIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; @@ -17251,7 +17870,7 @@ + (NSValueTransformer *)filtersJSONTransformer { @end -@implementation AWSEC2DescribeClientVpnAuthorizationRulesResult +@implementation AWSEC2DescribeClassicLinkInstancesResult + (BOOL)supportsSecureCoding { return YES; @@ -17259,18 +17878,59 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"authorizationRules" : @"AuthorizationRules", + @"instances" : @"Instances", @"nextToken" : @"NextToken", }; } -+ (NSValueTransformer *)authorizationRulesJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AuthorizationRule class]]; ++ (NSValueTransformer *)instancesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClassicLinkInstance class]]; } @end -@implementation AWSEC2DescribeClientVpnConnectionsRequest +@implementation AWSEC2DescribeClientVpnAuthorizationRulesRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"clientVpnEndpointId" : @"ClientVpnEndpointId", + @"dryRun" : @"DryRun", + @"filters" : @"Filters", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)filtersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; +} + +@end + +@implementation AWSEC2DescribeClientVpnAuthorizationRulesResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"authorizationRules" : @"AuthorizationRules", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)authorizationRulesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AuthorizationRule class]]; +} + +@end + +@implementation AWSEC2DescribeClientVpnConnectionsRequest + (BOOL)supportsSecureCoding { return YES; @@ -20258,6 +20918,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -21621,6 +22557,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -22186,6 +23306,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"filters" : @"Filters", @"imageIds" : @"ImageIds", @"includeDeprecated" : @"IncludeDeprecated", + @"includeDisabled" : @"IncludeDisabled", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"owners" : @"Owners", @@ -22603,6 +23724,48 @@ + (NSValueTransformer *)instanceStatusesJSONTransformer { @end +@implementation AWSEC2DescribeInstanceTopologyRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"filters" : @"Filters", + @"groupNames" : @"GroupNames", + @"instanceIds" : @"InstanceIds", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)filtersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; +} + +@end + +@implementation AWSEC2DescribeInstanceTopologyResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instances" : @"Instances", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)instancesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceTopology class]]; +} + +@end + @implementation AWSEC2DescribeInstanceTypeOfferingsRequest + (BOOL)supportsSecureCoding { @@ -22634,6 +23797,9 @@ + (NSValueTransformer *)locationTypeJSONTransformer { if ([value caseInsensitiveCompare:@"availability-zone-id"] == NSOrderedSame) { return @(AWSEC2LocationTypeAvailabilityZoneId); } + if ([value caseInsensitiveCompare:@"outpost"] == NSOrderedSame) { + return @(AWSEC2LocationTypeOutpost); + } return @(AWSEC2LocationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -22643,6 +23809,8 @@ + (NSValueTransformer *)locationTypeJSONTransformer { return @"availability-zone"; case AWSEC2LocationTypeAvailabilityZoneId: return @"availability-zone-id"; + case AWSEC2LocationTypeOutpost: + return @"outpost"; default: return nil; } @@ -23413,6 +24581,47 @@ + (NSValueTransformer *)localGatewaysJSONTransformer { @end +@implementation AWSEC2DescribeLockedSnapshotsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"filters" : @"Filters", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + @"snapshotIds" : @"SnapshotIds", + }; +} + ++ (NSValueTransformer *)filtersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; +} + +@end + +@implementation AWSEC2DescribeLockedSnapshotsResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"nextToken" : @"NextToken", + @"snapshots" : @"Snapshots", + }; +} + ++ (NSValueTransformer *)snapshotsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LockedSnapshotsInfo class]]; +} + +@end + @implementation AWSEC2DescribeManagedPrefixListsRequest + (BOOL)supportsSecureCoding { @@ -26352,6 +27561,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -27715,6 +29200,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -30529,6 +32198,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"publicSigningKeyUrl" : @"PublicSigningKeyUrl", @"tenantId" : @"TenantId", }; } @@ -31035,6 +32705,50 @@ + (NSValueTransformer *)unsuccessfulJSONTransformer { @end +@implementation AWSEC2DisableImageBlockPublicAccessRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + }; +} + +@end + +@implementation AWSEC2DisableImageBlockPublicAccessResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"imageBlockPublicAccessState" : @"ImageBlockPublicAccessState", + }; +} + ++ (NSValueTransformer *)imageBlockPublicAccessStateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"unblocked"] == NSOrderedSame) { + return @(AWSEC2ImageBlockPublicAccessDisabledStateUnblocked); + } + return @(AWSEC2ImageBlockPublicAccessDisabledStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2ImageBlockPublicAccessDisabledStateUnblocked: + return @"unblocked"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2DisableImageDeprecationRequest + (BOOL)supportsSecureCoding { @@ -31064,6 +32778,35 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2DisableImageRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"imageId" : @"ImageId", + }; +} + +@end + +@implementation AWSEC2DisableImageResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"returned" : @"Return", + }; +} + +@end + @implementation AWSEC2DisableIpamOrganizationAdminAccountRequest + (BOOL)supportsSecureCoding { @@ -31121,6 +32864,60 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2DisableSnapshotBlockPublicAccessRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + }; +} + +@end + +@implementation AWSEC2DisableSnapshotBlockPublicAccessResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"state" : @"State", + }; +} + ++ (NSValueTransformer *)stateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"block-all-sharing"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateBlockAllSharing); + } + if ([value caseInsensitiveCompare:@"block-new-sharing"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateBlockNewSharing); + } + if ([value caseInsensitiveCompare:@"unblocked"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateUnblocked); + } + return @(AWSEC2SnapshotBlockPublicAccessStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2SnapshotBlockPublicAccessStateBlockAllSharing: + return @"block-all-sharing"; + case AWSEC2SnapshotBlockPublicAccessStateBlockNewSharing: + return @"block-new-sharing"; + case AWSEC2SnapshotBlockPublicAccessStateUnblocked: + return @"unblocked"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2DisableTransitGatewayRouteTablePropagationRequest + (BOOL)supportsSecureCoding { @@ -32506,6 +34303,25 @@ + (NSValueTransformer *)enaSrdUdpSpecificationJSONTransformer { @end +@implementation AWSEC2EnaSrdSpecificationRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"enaSrdEnabled" : @"EnaSrdEnabled", + @"enaSrdUdpSpecification" : @"EnaSrdUdpSpecification", + }; +} + ++ (NSValueTransformer *)enaSrdUdpSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnaSrdUdpSpecificationRequest class]]; +} + +@end + @implementation AWSEC2EnaSrdUdpSpecification + (BOOL)supportsSecureCoding { @@ -32520,6 +34336,20 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2EnaSrdUdpSpecificationRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"enaSrdUdpEnabled" : @"EnaSrdUdpEnabled", + }; +} + +@end + @implementation AWSEC2EnableAddressTransferRequest + (BOOL)supportsSecureCoding { @@ -32960,6 +34790,67 @@ + (NSValueTransformer *)unsuccessfulJSONTransformer { @end +@implementation AWSEC2EnableImageBlockPublicAccessRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"imageBlockPublicAccessState" : @"ImageBlockPublicAccessState", + }; +} + ++ (NSValueTransformer *)imageBlockPublicAccessStateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"block-new-sharing"] == NSOrderedSame) { + return @(AWSEC2ImageBlockPublicAccessEnabledStateBlockNewSharing); + } + return @(AWSEC2ImageBlockPublicAccessEnabledStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2ImageBlockPublicAccessEnabledStateBlockNewSharing: + return @"block-new-sharing"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSEC2EnableImageBlockPublicAccessResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"imageBlockPublicAccessState" : @"ImageBlockPublicAccessState", + }; +} + ++ (NSValueTransformer *)imageBlockPublicAccessStateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"block-new-sharing"] == NSOrderedSame) { + return @(AWSEC2ImageBlockPublicAccessEnabledStateBlockNewSharing); + } + return @(AWSEC2ImageBlockPublicAccessEnabledStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2ImageBlockPublicAccessEnabledStateBlockNewSharing: + return @"block-new-sharing"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2EnableImageDeprecationRequest + (BOOL)supportsSecureCoding { @@ -32998,6 +34889,35 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2EnableImageRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"imageId" : @"ImageId", + }; +} + +@end + +@implementation AWSEC2EnableImageResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"returned" : @"Return", + }; +} + +@end + @implementation AWSEC2EnableIpamOrganizationAdminAccountRequest + (BOOL)supportsSecureCoding { @@ -33083,6 +35003,87 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2EnableSnapshotBlockPublicAccessRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"state" : @"State", + }; +} + ++ (NSValueTransformer *)stateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"block-all-sharing"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateBlockAllSharing); + } + if ([value caseInsensitiveCompare:@"block-new-sharing"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateBlockNewSharing); + } + if ([value caseInsensitiveCompare:@"unblocked"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateUnblocked); + } + return @(AWSEC2SnapshotBlockPublicAccessStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2SnapshotBlockPublicAccessStateBlockAllSharing: + return @"block-all-sharing"; + case AWSEC2SnapshotBlockPublicAccessStateBlockNewSharing: + return @"block-new-sharing"; + case AWSEC2SnapshotBlockPublicAccessStateUnblocked: + return @"unblocked"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSEC2EnableSnapshotBlockPublicAccessResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"state" : @"State", + }; +} + ++ (NSValueTransformer *)stateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"block-all-sharing"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateBlockAllSharing); + } + if ([value caseInsensitiveCompare:@"block-new-sharing"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateBlockNewSharing); + } + if ([value caseInsensitiveCompare:@"unblocked"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateUnblocked); + } + return @(AWSEC2SnapshotBlockPublicAccessStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2SnapshotBlockPublicAccessStateBlockAllSharing: + return @"block-all-sharing"; + case AWSEC2SnapshotBlockPublicAccessStateBlockNewSharing: + return @"block-new-sharing"; + case AWSEC2SnapshotBlockPublicAccessStateUnblocked: + return @"unblocked"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2EnableTransitGatewayRouteTablePropagationRequest + (BOOL)supportsSecureCoding { @@ -34213,6 +36214,9 @@ + (NSValueTransformer *)instancePlatformJSONTransformer { if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise); } + if ([value caseInsensitiveCompare:@"Ubuntu Pro"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformUbuntuPro); + } return @(AWSEC2CapacityReservationInstancePlatformUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -34250,6 +36254,8 @@ + (NSValueTransformer *)instancePlatformJSONTransformer { return @"RHEL with HA and SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise: return @"RHEL with HA and SQL Server Enterprise"; + case AWSEC2CapacityReservationInstancePlatformUbuntuPro: + return @"Ubuntu Pro"; default: return nil; } @@ -36298,6 +38304,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -37661,6 +39943,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -39991,6 +42457,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -41354,6 +44096,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -43432,6 +46358,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -44795,6 +47997,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -45414,6 +48800,15 @@ + (NSValueTransformer *)stateJSONTransformer { if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateFailed); } + if ([value caseInsensitiveCompare:@"scheduled"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationStateScheduled); + } + if ([value caseInsensitiveCompare:@"payment-pending"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationStatePaymentPending); + } + if ([value caseInsensitiveCompare:@"payment-failed"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationStatePaymentFailed); + } return @(AWSEC2CapacityReservationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -45427,6 +48822,12 @@ + (NSValueTransformer *)stateJSONTransformer { return @"pending"; case AWSEC2CapacityReservationStateFailed: return @"failed"; + case AWSEC2CapacityReservationStateScheduled: + return @"scheduled"; + case AWSEC2CapacityReservationStatePaymentPending: + return @"payment-pending"; + case AWSEC2CapacityReservationStatePaymentFailed: + return @"payment-failed"; default: return nil; } @@ -45468,6 +48869,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"coipAddressUsages" : @"CoipAddressUsages", @"coipPoolId" : @"CoipPoolId", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", + @"nextToken" : @"NextToken", }; } @@ -45818,6 +49220,34 @@ + (NSValueTransformer *)purchaseJSONTransformer { @end +@implementation AWSEC2GetImageBlockPublicAccessStateRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + }; +} + +@end + +@implementation AWSEC2GetImageBlockPublicAccessStateResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"imageBlockPublicAccessState" : @"ImageBlockPublicAccessState", + }; +} + +@end + @implementation AWSEC2GetInstanceTypesFromInstanceRequirementsRequest + (BOOL)supportsSecureCoding { @@ -46507,6 +49937,47 @@ + (NSValueTransformer *)targetConfigurationValueSetJSONTransformer { @end +@implementation AWSEC2GetSecurityGroupsForVpcRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"filters" : @"Filters", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + @"vpcId" : @"VpcId", + }; +} + ++ (NSValueTransformer *)filtersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; +} + +@end + +@implementation AWSEC2GetSecurityGroupsForVpcResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"nextToken" : @"NextToken", + @"securityGroupForVpcs" : @"SecurityGroupForVpcs", + }; +} + ++ (NSValueTransformer *)securityGroupForVpcsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroupForVpc class]]; +} + +@end + @implementation AWSEC2GetSerialConsoleAccessStatusRequest + (BOOL)supportsSecureCoding { @@ -46535,6 +50006,60 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2GetSnapshotBlockPublicAccessStateRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + }; +} + +@end + +@implementation AWSEC2GetSnapshotBlockPublicAccessStateResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"state" : @"State", + }; +} + ++ (NSValueTransformer *)stateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"block-all-sharing"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateBlockAllSharing); + } + if ([value caseInsensitiveCompare:@"block-new-sharing"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateBlockNewSharing); + } + if ([value caseInsensitiveCompare:@"unblocked"] == NSOrderedSame) { + return @(AWSEC2SnapshotBlockPublicAccessStateUnblocked); + } + return @(AWSEC2SnapshotBlockPublicAccessStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2SnapshotBlockPublicAccessStateBlockAllSharing: + return @"block-all-sharing"; + case AWSEC2SnapshotBlockPublicAccessStateBlockNewSharing: + return @"block-new-sharing"; + case AWSEC2SnapshotBlockPublicAccessStateUnblocked: + return @"unblocked"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2GetSpotPlacementScoresRequest + (BOOL)supportsSecureCoding { @@ -47908,6 +51433,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"ramdiskId" : @"RamdiskId", @"rootDeviceName" : @"RootDeviceName", @"rootDeviceType" : @"RootDeviceType", + @"sourceInstanceId" : @"SourceInstanceId", @"sriovNetSupport" : @"SriovNetSupport", @"state" : @"State", @"stateReason" : @"StateReason", @@ -48111,6 +51637,9 @@ + (NSValueTransformer *)stateJSONTransformer { if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2ImageStateError); } + if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { + return @(AWSEC2ImageStateDisabled); + } return @(AWSEC2ImageStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -48128,6 +51657,8 @@ + (NSValueTransformer *)stateJSONTransformer { return @"failed"; case AWSEC2ImageStateError: return @"error"; + case AWSEC2ImageStateDisabled: + return @"disabled"; default: return nil; } @@ -50671,6 +54202,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -52034,6 +55841,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -52637,6 +56628,9 @@ + (NSValueTransformer *)instanceLifecycleJSONTransformer { if ([value caseInsensitiveCompare:@"scheduled"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleTypeScheduled); } + if ([value caseInsensitiveCompare:@"capacity-block"] == NSOrderedSame) { + return @(AWSEC2InstanceLifecycleTypeCapacityBlock); + } return @(AWSEC2InstanceLifecycleTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -52644,6 +56638,8 @@ + (NSValueTransformer *)instanceLifecycleJSONTransformer { return @"spot"; case AWSEC2InstanceLifecycleTypeScheduled: return @"scheduled"; + case AWSEC2InstanceLifecycleTypeCapacityBlock: + return @"capacity-block"; default: return nil; } @@ -54692,6 +58688,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -56055,6 +60327,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -56185,6 +60641,39 @@ + (NSValueTransformer *)virtualizationTypeJSONTransformer { @end +@implementation AWSEC2InstanceAttachmentEnaSrdSpecification + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"enaSrdEnabled" : @"EnaSrdEnabled", + @"enaSrdUdpSpecification" : @"EnaSrdUdpSpecification", + }; +} + ++ (NSValueTransformer *)enaSrdUdpSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceAttachmentEnaSrdUdpSpecification class]]; +} + +@end + +@implementation AWSEC2InstanceAttachmentEnaSrdUdpSpecification + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"enaSrdUdpEnabled" : @"EnaSrdUdpEnabled", + }; +} + +@end + @implementation AWSEC2InstanceAttribute + (BOOL)supportsSecureCoding { @@ -57030,11 +61519,16 @@ + (NSValueTransformer *)marketTypeJSONTransformer { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2MarketTypeSpot); } + if ([value caseInsensitiveCompare:@"capacity-block"] == NSOrderedSame) { + return @(AWSEC2MarketTypeCapacityBlock); + } return @(AWSEC2MarketTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MarketTypeSpot: return @"spot"; + case AWSEC2MarketTypeCapacityBlock: + return @"capacity-block"; default: return nil; } @@ -57417,6 +61911,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"attachmentId" : @"AttachmentId", @"deleteOnTermination" : @"DeleteOnTermination", @"deviceIndex" : @"DeviceIndex", + @"enaSrdSpecification" : @"EnaSrdSpecification", @"networkCardIndex" : @"NetworkCardIndex", @"status" : @"Status", }; @@ -57430,6 +61925,10 @@ + (NSValueTransformer *)attachTimeJSONTransformer { }]; } ++ (NSValueTransformer *)enaSrdSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceAttachmentEnaSrdSpecification class]]; +} + + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"attaching"] == NSOrderedSame) { @@ -57476,6 +61975,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"deleteOnTermination" : @"DeleteOnTermination", @"detail" : @"Description", @"deviceIndex" : @"DeviceIndex", + @"enaSrdSpecification" : @"EnaSrdSpecification", @"groups" : @"Groups", @"interfaceType" : @"InterfaceType", @"ipv4PrefixCount" : @"Ipv4PrefixCount", @@ -57494,6 +61994,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)enaSrdSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnaSrdSpecificationRequest class]]; +} + + (NSValueTransformer *)ipv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv4PrefixSpecificationRequest class]]; } @@ -58273,6 +62777,25 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2InstanceTopology + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"availabilityZone" : @"AvailabilityZone", + @"groupName" : @"GroupName", + @"instanceId" : @"InstanceId", + @"instanceType" : @"InstanceType", + @"networkNodes" : @"NetworkNodes", + @"zoneId" : @"ZoneId", + }; +} + +@end + @implementation AWSEC2InstanceTypeInfo + (BOOL)supportsSecureCoding { @@ -60394,6 +64917,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -61757,6 +66556,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -63901,6 +68884,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -65264,6 +70523,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -65281,6 +70724,9 @@ + (NSValueTransformer *)locationTypeJSONTransformer { if ([value caseInsensitiveCompare:@"availability-zone-id"] == NSOrderedSame) { return @(AWSEC2LocationTypeAvailabilityZoneId); } + if ([value caseInsensitiveCompare:@"outpost"] == NSOrderedSame) { + return @(AWSEC2LocationTypeOutpost); + } return @(AWSEC2LocationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -65290,6 +70736,8 @@ + (NSValueTransformer *)locationTypeJSONTransformer { return @"availability-zone"; case AWSEC2LocationTypeAvailabilityZoneId: return @"availability-zone-id"; + case AWSEC2LocationTypeOutpost: + return @"outpost"; default: return nil; } @@ -69092,6 +74540,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -70455,6 +76179,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -70917,6 +76825,39 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2LaunchTemplateEnaSrdSpecification + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"enaSrdEnabled" : @"EnaSrdEnabled", + @"enaSrdUdpSpecification" : @"EnaSrdUdpSpecification", + }; +} + ++ (NSValueTransformer *)enaSrdUdpSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateEnaSrdUdpSpecification class]]; +} + +@end + +@implementation AWSEC2LaunchTemplateEnaSrdUdpSpecification + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"enaSrdUdpEnabled" : @"EnaSrdUdpEnabled", + }; +} + +@end + @implementation AWSEC2LaunchTemplateEnclaveOptions + (BOOL)supportsSecureCoding { @@ -71091,11 +77032,16 @@ + (NSValueTransformer *)marketTypeJSONTransformer { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2MarketTypeSpot); } + if ([value caseInsensitiveCompare:@"capacity-block"] == NSOrderedSame) { + return @(AWSEC2MarketTypeCapacityBlock); + } return @(AWSEC2MarketTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MarketTypeSpot: return @"spot"; + case AWSEC2MarketTypeCapacityBlock: + return @"capacity-block"; default: return nil; } @@ -71126,11 +77072,16 @@ + (NSValueTransformer *)marketTypeJSONTransformer { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2MarketTypeSpot); } + if ([value caseInsensitiveCompare:@"capacity-block"] == NSOrderedSame) { + return @(AWSEC2MarketTypeCapacityBlock); + } return @(AWSEC2MarketTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MarketTypeSpot: return @"spot"; + case AWSEC2MarketTypeCapacityBlock: + return @"capacity-block"; default: return nil; } @@ -71382,6 +77333,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"deleteOnTermination" : @"DeleteOnTermination", @"detail" : @"Description", @"deviceIndex" : @"DeviceIndex", + @"enaSrdSpecification" : @"EnaSrdSpecification", @"groups" : @"Groups", @"interfaceType" : @"InterfaceType", @"ipv4PrefixCount" : @"Ipv4PrefixCount", @@ -71400,6 +77352,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)enaSrdSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateEnaSrdSpecification class]]; +} + + (NSValueTransformer *)ipv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv4PrefixSpecificationResponse class]]; } @@ -71431,6 +77387,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"deleteOnTermination" : @"DeleteOnTermination", @"detail" : @"Description", @"deviceIndex" : @"DeviceIndex", + @"enaSrdSpecification" : @"EnaSrdSpecification", @"groups" : @"Groups", @"interfaceType" : @"InterfaceType", @"ipv4PrefixCount" : @"Ipv4PrefixCount", @@ -71449,6 +77406,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)enaSrdSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnaSrdSpecificationRequest class]]; +} + + (NSValueTransformer *)ipv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv4PrefixSpecificationRequest class]]; } @@ -73559,6 +79520,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -74922,6 +81159,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -76703,6 +83124,223 @@ + (NSValueTransformer *)tagsJSONTransformer { @end +@implementation AWSEC2LockSnapshotRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"coolOffPeriod" : @"CoolOffPeriod", + @"dryRun" : @"DryRun", + @"expirationDate" : @"ExpirationDate", + @"lockDuration" : @"LockDuration", + @"lockMode" : @"LockMode", + @"snapshotId" : @"SnapshotId", + }; +} + ++ (NSValueTransformer *)expirationDateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)lockModeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"compliance"] == NSOrderedSame) { + return @(AWSEC2LockModeCompliance); + } + if ([value caseInsensitiveCompare:@"governance"] == NSOrderedSame) { + return @(AWSEC2LockModeGovernance); + } + return @(AWSEC2LockModeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2LockModeCompliance: + return @"compliance"; + case AWSEC2LockModeGovernance: + return @"governance"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSEC2LockSnapshotResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"coolOffPeriod" : @"CoolOffPeriod", + @"coolOffPeriodExpiresOn" : @"CoolOffPeriodExpiresOn", + @"lockCreatedOn" : @"LockCreatedOn", + @"lockDuration" : @"LockDuration", + @"lockDurationStartTime" : @"LockDurationStartTime", + @"lockExpiresOn" : @"LockExpiresOn", + @"lockState" : @"LockState", + @"snapshotId" : @"SnapshotId", + }; +} + ++ (NSValueTransformer *)coolOffPeriodExpiresOnJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)lockCreatedOnJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)lockDurationStartTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)lockExpiresOnJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)lockStateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"compliance"] == NSOrderedSame) { + return @(AWSEC2LockStateCompliance); + } + if ([value caseInsensitiveCompare:@"governance"] == NSOrderedSame) { + return @(AWSEC2LockStateGovernance); + } + if ([value caseInsensitiveCompare:@"compliance-cooloff"] == NSOrderedSame) { + return @(AWSEC2LockStateComplianceCooloff); + } + if ([value caseInsensitiveCompare:@"expired"] == NSOrderedSame) { + return @(AWSEC2LockStateExpired); + } + return @(AWSEC2LockStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2LockStateCompliance: + return @"compliance"; + case AWSEC2LockStateGovernance: + return @"governance"; + case AWSEC2LockStateComplianceCooloff: + return @"compliance-cooloff"; + case AWSEC2LockStateExpired: + return @"expired"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSEC2LockedSnapshotsInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"coolOffPeriod" : @"CoolOffPeriod", + @"coolOffPeriodExpiresOn" : @"CoolOffPeriodExpiresOn", + @"lockCreatedOn" : @"LockCreatedOn", + @"lockDuration" : @"LockDuration", + @"lockDurationStartTime" : @"LockDurationStartTime", + @"lockExpiresOn" : @"LockExpiresOn", + @"lockState" : @"LockState", + @"ownerId" : @"OwnerId", + @"snapshotId" : @"SnapshotId", + }; +} + ++ (NSValueTransformer *)coolOffPeriodExpiresOnJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)lockCreatedOnJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)lockDurationStartTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)lockExpiresOnJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { + return [NSDate aws_dateFromString:str]; + } reverseBlock:^id(NSDate *date) { +return [date aws_stringValue:AWSDateISO8601DateFormat1]; + }]; +} + ++ (NSValueTransformer *)lockStateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"compliance"] == NSOrderedSame) { + return @(AWSEC2LockStateCompliance); + } + if ([value caseInsensitiveCompare:@"governance"] == NSOrderedSame) { + return @(AWSEC2LockStateGovernance); + } + if ([value caseInsensitiveCompare:@"compliance-cooloff"] == NSOrderedSame) { + return @(AWSEC2LockStateComplianceCooloff); + } + if ([value caseInsensitiveCompare:@"expired"] == NSOrderedSame) { + return @(AWSEC2LockStateExpired); + } + return @(AWSEC2LockStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2LockStateCompliance: + return @"compliance"; + case AWSEC2LockStateGovernance: + return @"governance"; + case AWSEC2LockStateComplianceCooloff: + return @"compliance-cooloff"; + case AWSEC2LockStateExpired: + return @"expired"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2MaintenanceDetails + (BOOL)supportsSecureCoding { @@ -79565,10 +86203,15 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"dryRun" : @"DryRun", @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", + @"sseSpecification" : @"SseSpecification", @"verifiedAccessEndpointId" : @"VerifiedAccessEndpointId", }; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationRequest class]]; +} + @end @implementation AWSEC2ModifyVerifiedAccessEndpointPolicyResult @@ -79581,9 +86224,14 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", + @"sseSpecification" : @"SseSpecification", }; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationResponse class]]; +} + @end @implementation AWSEC2ModifyVerifiedAccessEndpointRequest @@ -79644,10 +86292,15 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"dryRun" : @"DryRun", @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", + @"sseSpecification" : @"SseSpecification", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", }; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationRequest class]]; +} + @end @implementation AWSEC2ModifyVerifiedAccessGroupPolicyResult @@ -79660,9 +86313,14 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", + @"sseSpecification" : @"SseSpecification", }; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationResponse class]]; +} + @end @implementation AWSEC2ModifyVerifiedAccessGroupRequest @@ -79775,6 +86433,20 @@ + (NSValueTransformer *)verifiedAccessInstanceJSONTransformer { @end +@implementation AWSEC2ModifyVerifiedAccessTrustProviderDeviceOptions + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"publicSigningKeyUrl" : @"PublicSigningKeyUrl", + }; +} + +@end + @implementation AWSEC2ModifyVerifiedAccessTrustProviderOidcOptions + (BOOL)supportsSecureCoding { @@ -79805,16 +86477,26 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", + @"deviceOptions" : @"DeviceOptions", @"dryRun" : @"DryRun", @"oidcOptions" : @"OidcOptions", + @"sseSpecification" : @"SseSpecification", @"verifiedAccessTrustProviderId" : @"VerifiedAccessTrustProviderId", }; } ++ (NSValueTransformer *)deviceOptionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ModifyVerifiedAccessTrustProviderDeviceOptions class]]; +} + + (NSValueTransformer *)oidcOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ModifyVerifiedAccessTrustProviderOidcOptions class]]; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationRequest class]]; +} + @end @implementation AWSEC2ModifyVerifiedAccessTrustProviderResult @@ -83376,6 +90058,146 @@ + (NSValueTransformer *)paymentOptionJSONTransformer { @end +@implementation AWSEC2PurchaseCapacityBlockRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"capacityBlockOfferingId" : @"CapacityBlockOfferingId", + @"dryRun" : @"DryRun", + @"instancePlatform" : @"InstancePlatform", + @"tagSpecifications" : @"TagSpecifications", + }; +} + ++ (NSValueTransformer *)instancePlatformJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformLinuxUNIX); + } + if ([value caseInsensitiveCompare:@"Red Hat Enterprise Linux"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux); + } + if ([value caseInsensitiveCompare:@"SUSE Linux"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformSUSELinux); + } + if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformWindows); + } + if ([value caseInsensitiveCompare:@"Windows with SQL Server"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer); + } + if ([value caseInsensitiveCompare:@"Windows with SQL Server Enterprise"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise); + } + if ([value caseInsensitiveCompare:@"Windows with SQL Server Standard"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard); + } + if ([value caseInsensitiveCompare:@"Windows with SQL Server Web"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb); + } + if ([value caseInsensitiveCompare:@"Linux with SQL Server Standard"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard); + } + if ([value caseInsensitiveCompare:@"Linux with SQL Server Web"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb); + } + if ([value caseInsensitiveCompare:@"Linux with SQL Server Enterprise"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise); + } + if ([value caseInsensitiveCompare:@"RHEL with SQL Server Standard"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard); + } + if ([value caseInsensitiveCompare:@"RHEL with SQL Server Enterprise"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise); + } + if ([value caseInsensitiveCompare:@"RHEL with SQL Server Web"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb); + } + if ([value caseInsensitiveCompare:@"RHEL with HA"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformRHELWithHA); + } + if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Standard"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard); + } + if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Enterprise"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise); + } + if ([value caseInsensitiveCompare:@"Ubuntu Pro"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformUbuntuPro); + } + return @(AWSEC2CapacityReservationInstancePlatformUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2CapacityReservationInstancePlatformLinuxUNIX: + return @"Linux/UNIX"; + case AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux: + return @"Red Hat Enterprise Linux"; + case AWSEC2CapacityReservationInstancePlatformSUSELinux: + return @"SUSE Linux"; + case AWSEC2CapacityReservationInstancePlatformWindows: + return @"Windows"; + case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer: + return @"Windows with SQL Server"; + case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise: + return @"Windows with SQL Server Enterprise"; + case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard: + return @"Windows with SQL Server Standard"; + case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb: + return @"Windows with SQL Server Web"; + case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard: + return @"Linux with SQL Server Standard"; + case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb: + return @"Linux with SQL Server Web"; + case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise: + return @"Linux with SQL Server Enterprise"; + case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard: + return @"RHEL with SQL Server Standard"; + case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise: + return @"RHEL with SQL Server Enterprise"; + case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb: + return @"RHEL with SQL Server Web"; + case AWSEC2CapacityReservationInstancePlatformRHELWithHA: + return @"RHEL with HA"; + case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard: + return @"RHEL with HA and SQL Server Standard"; + case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise: + return @"RHEL with HA and SQL Server Enterprise"; + case AWSEC2CapacityReservationInstancePlatformUbuntuPro: + return @"Ubuntu Pro"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)tagSpecificationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; +} + +@end + +@implementation AWSEC2PurchaseCapacityBlockResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"capacityReservation" : @"CapacityReservation", + }; +} + ++ (NSValueTransformer *)capacityReservationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservation class]]; +} + +@end + @implementation AWSEC2PurchaseHostReservationRequest + (BOOL)supportsSecureCoding { @@ -86721,6 +93543,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -88084,6 +95182,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -90349,6 +97631,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -91712,6 +99270,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -91829,6 +99571,9 @@ + (NSValueTransformer *)instancePlatformJSONTransformer { if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise); } + if ([value caseInsensitiveCompare:@"Ubuntu Pro"] == NSOrderedSame) { + return @(AWSEC2CapacityReservationInstancePlatformUbuntuPro); + } return @(AWSEC2CapacityReservationInstancePlatformUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -91866,6 +99611,8 @@ + (NSValueTransformer *)instancePlatformJSONTransformer { return @"RHEL with HA and SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise: return @"RHEL with HA and SQL Server Enterprise"; + case AWSEC2CapacityReservationInstancePlatformUbuntuPro: + return @"Ubuntu Pro"; default: return nil; } @@ -93914,6 +101661,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -95277,6 +103300,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -97472,6 +105679,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -98835,6 +107318,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -101072,6 +109739,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -102435,6 +111378,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -104743,6 +113870,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -106106,6 +115509,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -108787,6 +118374,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -110150,6 +120013,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -112994,6 +123041,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -114357,6 +124680,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -114968,6 +125475,29 @@ + (NSValueTransformer *)tagsJSONTransformer { @end +@implementation AWSEC2SecurityGroupForVpc + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"detail" : @"Description", + @"groupId" : @"GroupId", + @"groupName" : @"GroupName", + @"ownerId" : @"OwnerId", + @"primaryVpcId" : @"PrimaryVpcId", + @"tags" : @"Tags", + }; +} + ++ (NSValueTransformer *)tagsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; +} + +@end + @implementation AWSEC2SecurityGroupIdentifier + (BOOL)supportsSecureCoding { @@ -118051,6 +128581,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -119414,6 +130220,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -122870,6 +133860,282 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"m7i-flex.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7I_flex_8xlarge); } + if ([value caseInsensitiveCompare:@"m7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_medium); + } + if ([value caseInsensitiveCompare:@"m7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_large); + } + if ([value caseInsensitiveCompare:@"m7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"m7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"hpc7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_12xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_24xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_48xlarge); + } + if ([value caseInsensitiveCompare:@"hpc7a.96xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeHPC7a_96xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_medium); + } + if ([value caseInsensitiveCompare:@"c7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_large); + } + if ([value caseInsensitiveCompare:@"c7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_medium); + } + if ([value caseInsensitiveCompare:@"m7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_large); + } + if ([value caseInsensitiveCompare:@"m7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"m7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeM7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_medium); + } + if ([value caseInsensitiveCompare:@"r7gd.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_large); + } + if ([value caseInsensitiveCompare:@"r7gd.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7gd.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Gd_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_medium); + } + if ([value caseInsensitiveCompare:@"r7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_large); + } + if ([value caseInsensitiveCompare:@"r7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"r7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_large); + } + if ([value caseInsensitiveCompare:@"c7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"mac2-m2pro.metal"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeMAC2_m2pro_metal); + } + if ([value caseInsensitiveCompare:@"r7iz.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_large); + } + if ([value caseInsensitiveCompare:@"r7iz.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7iz.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7Iz_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.medium"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_medium); + } + if ([value caseInsensitiveCompare:@"c7a.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_large); + } + if ([value caseInsensitiveCompare:@"c7a.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_8xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_12xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_16xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_24xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.32xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_32xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_48xlarge); + } + if ([value caseInsensitiveCompare:@"c7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7a.metal-48xl"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7A_metal_48xl); + } + if ([value caseInsensitiveCompare:@"r7i.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_large); + } + if ([value caseInsensitiveCompare:@"r7i.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_2xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_4xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_8xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.12xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_12xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.16xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_16xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_24xlarge); + } + if ([value caseInsensitiveCompare:@"r7i.48xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeR7I_48xlarge); + } + if ([value caseInsensitiveCompare:@"dl2q.24xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeDL2q_24xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -124233,6 +135499,190 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"m7i-flex.4xlarge"; case AWSEC2InstanceTypeM7I_flex_8xlarge: return @"m7i-flex.8xlarge"; + case AWSEC2InstanceTypeM7A_medium: + return @"m7a.medium"; + case AWSEC2InstanceTypeM7A_large: + return @"m7a.large"; + case AWSEC2InstanceTypeM7A_xlarge: + return @"m7a.xlarge"; + case AWSEC2InstanceTypeM7A_2xlarge: + return @"m7a.2xlarge"; + case AWSEC2InstanceTypeM7A_4xlarge: + return @"m7a.4xlarge"; + case AWSEC2InstanceTypeM7A_8xlarge: + return @"m7a.8xlarge"; + case AWSEC2InstanceTypeM7A_12xlarge: + return @"m7a.12xlarge"; + case AWSEC2InstanceTypeM7A_16xlarge: + return @"m7a.16xlarge"; + case AWSEC2InstanceTypeM7A_24xlarge: + return @"m7a.24xlarge"; + case AWSEC2InstanceTypeM7A_32xlarge: + return @"m7a.32xlarge"; + case AWSEC2InstanceTypeM7A_48xlarge: + return @"m7a.48xlarge"; + case AWSEC2InstanceTypeM7A_metal_48xl: + return @"m7a.metal-48xl"; + case AWSEC2InstanceTypeHPC7a_12xlarge: + return @"hpc7a.12xlarge"; + case AWSEC2InstanceTypeHPC7a_24xlarge: + return @"hpc7a.24xlarge"; + case AWSEC2InstanceTypeHPC7a_48xlarge: + return @"hpc7a.48xlarge"; + case AWSEC2InstanceTypeHPC7a_96xlarge: + return @"hpc7a.96xlarge"; + case AWSEC2InstanceTypeC7Gd_medium: + return @"c7gd.medium"; + case AWSEC2InstanceTypeC7Gd_large: + return @"c7gd.large"; + case AWSEC2InstanceTypeC7Gd_xlarge: + return @"c7gd.xlarge"; + case AWSEC2InstanceTypeC7Gd_2xlarge: + return @"c7gd.2xlarge"; + case AWSEC2InstanceTypeC7Gd_4xlarge: + return @"c7gd.4xlarge"; + case AWSEC2InstanceTypeC7Gd_8xlarge: + return @"c7gd.8xlarge"; + case AWSEC2InstanceTypeC7Gd_12xlarge: + return @"c7gd.12xlarge"; + case AWSEC2InstanceTypeC7Gd_16xlarge: + return @"c7gd.16xlarge"; + case AWSEC2InstanceTypeM7Gd_medium: + return @"m7gd.medium"; + case AWSEC2InstanceTypeM7Gd_large: + return @"m7gd.large"; + case AWSEC2InstanceTypeM7Gd_xlarge: + return @"m7gd.xlarge"; + case AWSEC2InstanceTypeM7Gd_2xlarge: + return @"m7gd.2xlarge"; + case AWSEC2InstanceTypeM7Gd_4xlarge: + return @"m7gd.4xlarge"; + case AWSEC2InstanceTypeM7Gd_8xlarge: + return @"m7gd.8xlarge"; + case AWSEC2InstanceTypeM7Gd_12xlarge: + return @"m7gd.12xlarge"; + case AWSEC2InstanceTypeM7Gd_16xlarge: + return @"m7gd.16xlarge"; + case AWSEC2InstanceTypeR7Gd_medium: + return @"r7gd.medium"; + case AWSEC2InstanceTypeR7Gd_large: + return @"r7gd.large"; + case AWSEC2InstanceTypeR7Gd_xlarge: + return @"r7gd.xlarge"; + case AWSEC2InstanceTypeR7Gd_2xlarge: + return @"r7gd.2xlarge"; + case AWSEC2InstanceTypeR7Gd_4xlarge: + return @"r7gd.4xlarge"; + case AWSEC2InstanceTypeR7Gd_8xlarge: + return @"r7gd.8xlarge"; + case AWSEC2InstanceTypeR7Gd_12xlarge: + return @"r7gd.12xlarge"; + case AWSEC2InstanceTypeR7Gd_16xlarge: + return @"r7gd.16xlarge"; + case AWSEC2InstanceTypeR7A_medium: + return @"r7a.medium"; + case AWSEC2InstanceTypeR7A_large: + return @"r7a.large"; + case AWSEC2InstanceTypeR7A_xlarge: + return @"r7a.xlarge"; + case AWSEC2InstanceTypeR7A_2xlarge: + return @"r7a.2xlarge"; + case AWSEC2InstanceTypeR7A_4xlarge: + return @"r7a.4xlarge"; + case AWSEC2InstanceTypeR7A_8xlarge: + return @"r7a.8xlarge"; + case AWSEC2InstanceTypeR7A_12xlarge: + return @"r7a.12xlarge"; + case AWSEC2InstanceTypeR7A_16xlarge: + return @"r7a.16xlarge"; + case AWSEC2InstanceTypeR7A_24xlarge: + return @"r7a.24xlarge"; + case AWSEC2InstanceTypeR7A_32xlarge: + return @"r7a.32xlarge"; + case AWSEC2InstanceTypeR7A_48xlarge: + return @"r7a.48xlarge"; + case AWSEC2InstanceTypeC7I_large: + return @"c7i.large"; + case AWSEC2InstanceTypeC7I_xlarge: + return @"c7i.xlarge"; + case AWSEC2InstanceTypeC7I_2xlarge: + return @"c7i.2xlarge"; + case AWSEC2InstanceTypeC7I_4xlarge: + return @"c7i.4xlarge"; + case AWSEC2InstanceTypeC7I_8xlarge: + return @"c7i.8xlarge"; + case AWSEC2InstanceTypeC7I_12xlarge: + return @"c7i.12xlarge"; + case AWSEC2InstanceTypeC7I_16xlarge: + return @"c7i.16xlarge"; + case AWSEC2InstanceTypeC7I_24xlarge: + return @"c7i.24xlarge"; + case AWSEC2InstanceTypeC7I_48xlarge: + return @"c7i.48xlarge"; + case AWSEC2InstanceTypeMAC2_m2pro_metal: + return @"mac2-m2pro.metal"; + case AWSEC2InstanceTypeR7Iz_large: + return @"r7iz.large"; + case AWSEC2InstanceTypeR7Iz_xlarge: + return @"r7iz.xlarge"; + case AWSEC2InstanceTypeR7Iz_2xlarge: + return @"r7iz.2xlarge"; + case AWSEC2InstanceTypeR7Iz_4xlarge: + return @"r7iz.4xlarge"; + case AWSEC2InstanceTypeR7Iz_8xlarge: + return @"r7iz.8xlarge"; + case AWSEC2InstanceTypeR7Iz_12xlarge: + return @"r7iz.12xlarge"; + case AWSEC2InstanceTypeR7Iz_16xlarge: + return @"r7iz.16xlarge"; + case AWSEC2InstanceTypeR7Iz_32xlarge: + return @"r7iz.32xlarge"; + case AWSEC2InstanceTypeC7A_medium: + return @"c7a.medium"; + case AWSEC2InstanceTypeC7A_large: + return @"c7a.large"; + case AWSEC2InstanceTypeC7A_xlarge: + return @"c7a.xlarge"; + case AWSEC2InstanceTypeC7A_2xlarge: + return @"c7a.2xlarge"; + case AWSEC2InstanceTypeC7A_4xlarge: + return @"c7a.4xlarge"; + case AWSEC2InstanceTypeC7A_8xlarge: + return @"c7a.8xlarge"; + case AWSEC2InstanceTypeC7A_12xlarge: + return @"c7a.12xlarge"; + case AWSEC2InstanceTypeC7A_16xlarge: + return @"c7a.16xlarge"; + case AWSEC2InstanceTypeC7A_24xlarge: + return @"c7a.24xlarge"; + case AWSEC2InstanceTypeC7A_32xlarge: + return @"c7a.32xlarge"; + case AWSEC2InstanceTypeC7A_48xlarge: + return @"c7a.48xlarge"; + case AWSEC2InstanceTypeC7A_metal_48xl: + return @"c7a.metal-48xl"; + case AWSEC2InstanceTypeR7A_metal_48xl: + return @"r7a.metal-48xl"; + case AWSEC2InstanceTypeR7I_large: + return @"r7i.large"; + case AWSEC2InstanceTypeR7I_xlarge: + return @"r7i.xlarge"; + case AWSEC2InstanceTypeR7I_2xlarge: + return @"r7i.2xlarge"; + case AWSEC2InstanceTypeR7I_4xlarge: + return @"r7i.4xlarge"; + case AWSEC2InstanceTypeR7I_8xlarge: + return @"r7i.8xlarge"; + case AWSEC2InstanceTypeR7I_12xlarge: + return @"r7i.12xlarge"; + case AWSEC2InstanceTypeR7I_16xlarge: + return @"r7i.16xlarge"; + case AWSEC2InstanceTypeR7I_24xlarge: + return @"r7i.24xlarge"; + case AWSEC2InstanceTypeR7I_48xlarge: + return @"r7i.48xlarge"; + case AWSEC2InstanceTypeDL2q_24xlarge: + return @"dl2q.24xlarge"; default: return nil; } @@ -125925,6 +137375,9 @@ + (NSValueTransformer *)defaultTargetCapacityTypeJSONTransformer { if ([value caseInsensitiveCompare:@"on-demand"] == NSOrderedSame) { return @(AWSEC2DefaultTargetCapacityTypeOnDemand); } + if ([value caseInsensitiveCompare:@"capacity-block"] == NSOrderedSame) { + return @(AWSEC2DefaultTargetCapacityTypeCapacityBlock); + } return @(AWSEC2DefaultTargetCapacityTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -125932,6 +137385,8 @@ + (NSValueTransformer *)defaultTargetCapacityTypeJSONTransformer { return @"spot"; case AWSEC2DefaultTargetCapacityTypeOnDemand: return @"on-demand"; + case AWSEC2DefaultTargetCapacityTypeCapacityBlock: + return @"capacity-block"; default: return nil; } @@ -125990,6 +137445,9 @@ + (NSValueTransformer *)defaultTargetCapacityTypeJSONTransformer { if ([value caseInsensitiveCompare:@"on-demand"] == NSOrderedSame) { return @(AWSEC2DefaultTargetCapacityTypeOnDemand); } + if ([value caseInsensitiveCompare:@"capacity-block"] == NSOrderedSame) { + return @(AWSEC2DefaultTargetCapacityTypeCapacityBlock); + } return @(AWSEC2DefaultTargetCapacityTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -125997,6 +137455,8 @@ + (NSValueTransformer *)defaultTargetCapacityTypeJSONTransformer { return @"spot"; case AWSEC2DefaultTargetCapacityTypeOnDemand: return @"on-demand"; + case AWSEC2DefaultTargetCapacityTypeCapacityBlock: + return @"capacity-block"; default: return nil; } @@ -129420,6 +140880,35 @@ + (NSValueTransformer *)natGatewayAddressesJSONTransformer { @end +@implementation AWSEC2UnlockSnapshotRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"snapshotId" : @"SnapshotId", + }; +} + +@end + +@implementation AWSEC2UnlockSnapshotResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"snapshotId" : @"SnapshotId", + }; +} + +@end + @implementation AWSEC2UnmonitorInstancesRequest + (BOOL)supportsSecureCoding { @@ -129798,6 +141287,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"loadBalancerOptions" : @"LoadBalancerOptions", @"networkInterfaceOptions" : @"NetworkInterfaceOptions", @"securityGroupIds" : @"SecurityGroupIds", + @"sseSpecification" : @"SseSpecification", @"status" : @"Status", @"tags" : @"Tags", @"verifiedAccessEndpointId" : @"VerifiedAccessEndpointId", @@ -129851,6 +141341,10 @@ + (NSValueTransformer *)networkInterfaceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessEndpointEniOptions class]]; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationResponse class]]; +} + + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessEndpointStatus class]]; } @@ -130000,6 +141494,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"detail" : @"Description", @"lastUpdatedTime" : @"LastUpdatedTime", @"owner" : @"Owner", + @"sseSpecification" : @"SseSpecification", @"tags" : @"Tags", @"verifiedAccessGroupArn" : @"VerifiedAccessGroupArn", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", @@ -130007,6 +141502,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationResponse class]]; +} + + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @@ -130023,6 +141522,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"detail" : @"Description", + @"fipsEnabled" : @"FipsEnabled", @"lastUpdatedTime" : @"LastUpdatedTime", @"tags" : @"Tags", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", @@ -130264,6 +141764,36 @@ + (NSValueTransformer *)s3JSONTransformer { @end +@implementation AWSEC2VerifiedAccessSseSpecificationRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"customerManagedKeyEnabled" : @"CustomerManagedKeyEnabled", + @"kmsKeyArn" : @"KmsKeyArn", + }; +} + +@end + +@implementation AWSEC2VerifiedAccessSseSpecificationResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"customerManagedKeyEnabled" : @"CustomerManagedKeyEnabled", + @"kmsKeyArn" : @"KmsKeyArn", + }; +} + +@end + @implementation AWSEC2VerifiedAccessTrustProvider + (BOOL)supportsSecureCoding { @@ -130279,6 +141809,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"lastUpdatedTime" : @"LastUpdatedTime", @"oidcOptions" : @"OidcOptions", @"policyReferenceName" : @"PolicyReferenceName", + @"sseSpecification" : @"SseSpecification", @"tags" : @"Tags", @"trustProviderType" : @"TrustProviderType", @"userTrustProviderType" : @"UserTrustProviderType", @@ -130298,6 +141829,9 @@ + (NSValueTransformer *)deviceTrustProviderTypeJSONTransformer { if ([value caseInsensitiveCompare:@"crowdstrike"] == NSOrderedSame) { return @(AWSEC2DeviceTrustProviderTypeCrowdstrike); } + if ([value caseInsensitiveCompare:@"jumpcloud"] == NSOrderedSame) { + return @(AWSEC2DeviceTrustProviderTypeJumpcloud); + } return @(AWSEC2DeviceTrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -130305,6 +141839,8 @@ + (NSValueTransformer *)deviceTrustProviderTypeJSONTransformer { return @"jamf"; case AWSEC2DeviceTrustProviderTypeCrowdstrike: return @"crowdstrike"; + case AWSEC2DeviceTrustProviderTypeJumpcloud: + return @"jumpcloud"; default: return nil; } @@ -130315,6 +141851,10 @@ + (NSValueTransformer *)oidcOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2OidcOptions class]]; } ++ (NSValueTransformer *)sseSpecificationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessSseSpecificationResponse class]]; +} + + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @@ -130387,6 +141927,9 @@ + (NSValueTransformer *)deviceTrustProviderTypeJSONTransformer { if ([value caseInsensitiveCompare:@"crowdstrike"] == NSOrderedSame) { return @(AWSEC2DeviceTrustProviderTypeCrowdstrike); } + if ([value caseInsensitiveCompare:@"jumpcloud"] == NSOrderedSame) { + return @(AWSEC2DeviceTrustProviderTypeJumpcloud); + } return @(AWSEC2DeviceTrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -130394,6 +141937,8 @@ + (NSValueTransformer *)deviceTrustProviderTypeJSONTransformer { return @"jamf"; case AWSEC2DeviceTrustProviderTypeCrowdstrike: return @"crowdstrike"; + case AWSEC2DeviceTrustProviderTypeJumpcloud: + return @"jumpcloud"; default: return nil; } diff --git a/AWSEC2/AWSEC2Resources.m b/AWSEC2/AWSEC2Resources.m index 68c845d6dba..5b68f66da7c 100644 --- a/AWSEC2/AWSEC2Resources.m +++ b/AWSEC2/AWSEC2Resources.m @@ -297,7 +297,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"AssociateNatGatewayAddressRequest\"},\ \"output\":{\"shape\":\"AssociateNatGatewayAddressResult\"},\ - \"documentation\":\"

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

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

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the EIP will fail to associate. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

\"\ },\ \"AssociateRouteTable\":{\ \"name\":\"AssociateRouteTable\",\ @@ -934,7 +934,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateNatGatewayRequest\"},\ \"output\":{\"shape\":\"CreateNatGatewayResult\"},\ - \"documentation\":\"

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

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

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

When you create a public NAT gateway and assign it an EIP or secondary EIPs, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the NAT gateway will fail to launch. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

\"\ },\ \"CreateNetworkAcl\":{\ \"name\":\"CreateNetworkAcl\",\ @@ -1607,6 +1607,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"DeleteKeyPairRequest\"},\ + \"output\":{\"shape\":\"DeleteKeyPairResult\"},\ \"documentation\":\"

Deletes the specified key pair, by removing the public key from Amazon EC2.

\"\ },\ \"DeleteLaunchTemplate\":{\ @@ -2074,7 +2075,7 @@ - (NSString *)definitionString { \"requestUri\":\"/\"\ },\ \"input\":{\"shape\":\"DeleteVpcRequest\"},\ - \"documentation\":\"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

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

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on. When you delete the VPC, it deletes the VPC's default security group, network ACL, and route table.

\"\ },\ \"DeleteVpcEndpointConnectionNotifications\":{\ \"name\":\"DeleteVpcEndpointConnectionNotifications\",\ @@ -2114,7 +2115,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DeleteVpcPeeringConnectionRequest\"},\ \"output\":{\"shape\":\"DeleteVpcPeeringConnectionResult\"},\ - \"documentation\":\"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed state.

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

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed or rejected state.

\"\ },\ \"DeleteVpnConnection\":{\ \"name\":\"DeleteVpnConnection\",\ @@ -2302,6 +2303,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DescribeByoipCidrsResult\"},\ \"documentation\":\"

Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.

To describe the address pools that were created when you provisioned the address ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.

\"\ },\ + \"DescribeCapacityBlockOfferings\":{\ + \"name\":\"DescribeCapacityBlockOfferings\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DescribeCapacityBlockOfferingsRequest\"},\ + \"output\":{\"shape\":\"DescribeCapacityBlockOfferingsResult\"},\ + \"documentation\":\"

Describes Capacity Block offerings available for purchase. With Capacity Blocks, you purchase a specific instance type for a period of time.

\"\ + },\ \"DescribeCapacityReservationFleets\":{\ \"name\":\"DescribeCapacityReservationFleets\",\ \"http\":{\ @@ -2480,7 +2491,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeFastLaunchImagesRequest\"},\ \"output\":{\"shape\":\"DescribeFastLaunchImagesResult\"},\ - \"documentation\":\"

Describe details for Windows AMIs that are configured for faster launching.

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

Describe details for Windows AMIs that are configured for Windows fast launch.

\"\ },\ \"DescribeFastSnapshotRestores\":{\ \"name\":\"DescribeFastSnapshotRestores\",\ @@ -2712,6 +2723,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DescribeInstanceStatusResult\"},\ \"documentation\":\"

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status checks for your instances and Troubleshoot instances with failed status checks in the Amazon EC2 User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled events for your instances in the Amazon EC2 User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance lifecycle in the Amazon EC2 User Guide.

\"\ },\ + \"DescribeInstanceTopology\":{\ + \"name\":\"DescribeInstanceTopology\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DescribeInstanceTopologyRequest\"},\ + \"output\":{\"shape\":\"DescribeInstanceTopologyResult\"},\ + \"documentation\":\"

Describes a tree-based hierarchy that represents the physical host placement of your EC2 instances within an Availability Zone or Local Zone. You can use this information to determine the relative proximity of your EC2 instances within the Amazon Web Services network to support your tightly coupled workloads.

Limitations

  • Supported zones

    • Availability Zone

    • Local Zone

  • Supported instance types

    • hpc6a.48xlarge | hpc6id.32xlarge | hpc7a.12xlarge | hpc7a.24xlarge | hpc7a.48xlarge | hpc7a.96xlarge | hpc7g.4xlarge | hpc7g.8xlarge | hpc7g.16xlarge

    • p3dn.24xlarge | p4d.24xlarge | p4de.24xlarge | p5.48xlarge

    • trn1.2xlarge | trn1.32xlarge | trn1n.32xlarge

For more information, see Amazon EC2 instance topology in the Amazon EC2 User Guide.

\"\ + },\ \"DescribeInstanceTypeOfferings\":{\ \"name\":\"DescribeInstanceTypeOfferings\",\ \"http\":{\ @@ -2902,6 +2923,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DescribeLocalGatewaysResult\"},\ \"documentation\":\"

Describes one or more local gateways. By default, all local gateways are described. Alternatively, you can filter the results.

\"\ },\ + \"DescribeLockedSnapshots\":{\ + \"name\":\"DescribeLockedSnapshots\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DescribeLockedSnapshotsRequest\"},\ + \"output\":{\"shape\":\"DescribeLockedSnapshotsResult\"},\ + \"documentation\":\"

Describes the lock status for a snapshot.

\"\ + },\ \"DescribeManagedPrefixLists\":{\ \"name\":\"DescribeManagedPrefixLists\",\ \"http\":{\ @@ -3010,7 +3041,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeNetworkInterfacesRequest\"},\ \"output\":{\"shape\":\"DescribeNetworkInterfacesResult\"},\ - \"documentation\":\"

Describes one or more of your network interfaces.

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

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

\"\ },\ \"DescribePlacementGroups\":{\ \"name\":\"DescribePlacementGroups\",\ @@ -3757,7 +3788,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DisableFastLaunchRequest\"},\ \"output\":{\"shape\":\"DisableFastLaunchResult\"},\ - \"documentation\":\"

Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. When you disable faster launching, the AMI uses the standard launch process for each instance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

To change these settings, you must own the AMI.

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

Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned snapshots. After you disable Windows fast launch, the AMI uses the standard launch process for each new instance. Amazon EC2 must remove all pre-provisioned snapshots before you can enable Windows fast launch again.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

\"\ },\ \"DisableFastSnapshotRestores\":{\ \"name\":\"DisableFastSnapshotRestores\",\ @@ -3769,6 +3800,26 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DisableFastSnapshotRestoresResult\"},\ \"documentation\":\"

Disables fast snapshot restores for the specified snapshots in the specified Availability Zones.

\"\ },\ + \"DisableImage\":{\ + \"name\":\"DisableImage\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DisableImageRequest\"},\ + \"output\":{\"shape\":\"DisableImageResult\"},\ + \"documentation\":\"

Sets the AMI state to disabled and removes all launch permissions from the AMI. A disabled AMI can't be used for instance launches.

A disabled AMI can't be shared. If an AMI was public or previously shared, it is made private. If an AMI was shared with an Amazon Web Services account, organization, or Organizational Unit, they lose access to the disabled AMI.

A disabled AMI does not appear in DescribeImages API calls by default.

Only the AMI owner can disable an AMI.

You can re-enable a disabled AMI using EnableImage.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

\"\ + },\ + \"DisableImageBlockPublicAccess\":{\ + \"name\":\"DisableImageBlockPublicAccess\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DisableImageBlockPublicAccessRequest\"},\ + \"output\":{\"shape\":\"DisableImageBlockPublicAccessResult\"},\ + \"documentation\":\"

Disables block public access for AMIs at the account level in the specified Amazon Web Services Region. This removes the block public access restriction from your account. With the restriction removed, you can publicly share your AMIs in the specified Amazon Web Services Region.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be block-new-sharing. When the API has completed the configuration, the response will be unblocked.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

\"\ + },\ \"DisableImageDeprecation\":{\ \"name\":\"DisableImageDeprecation\",\ \"http\":{\ @@ -3799,6 +3850,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DisableSerialConsoleAccessResult\"},\ \"documentation\":\"

Disables access to the EC2 serial console of all instances for your account. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

\"\ },\ + \"DisableSnapshotBlockPublicAccess\":{\ + \"name\":\"DisableSnapshotBlockPublicAccess\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DisableSnapshotBlockPublicAccessRequest\"},\ + \"output\":{\"shape\":\"DisableSnapshotBlockPublicAccessResult\"},\ + \"documentation\":\"

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide .

\"\ + },\ \"DisableTransitGatewayRouteTablePropagation\":{\ \"name\":\"DisableTransitGatewayRouteTablePropagation\",\ \"http\":{\ @@ -4014,7 +4075,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"EnableFastLaunchRequest\"},\ \"output\":{\"shape\":\"EnableFastLaunchResult\"},\ - \"documentation\":\"

When you enable faster launching for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a set of reserved snapshots that are used for subsequent launches. The reserved snapshots are automatically replenished as they are used, depending on your settings for launch frequency.

To change these settings, you must own the AMI.

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

When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a set of reserved snapshots that are used for subsequent launches. The reserved snapshots are automatically replenished as they are used, depending on your settings for launch frequency.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

\"\ },\ \"EnableFastSnapshotRestores\":{\ \"name\":\"EnableFastSnapshotRestores\",\ @@ -4026,6 +4087,26 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"EnableFastSnapshotRestoresResult\"},\ \"documentation\":\"

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

For more information, see Amazon EBS fast snapshot restore in the Amazon Elastic Compute Cloud User Guide.

\"\ },\ + \"EnableImage\":{\ + \"name\":\"EnableImage\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"EnableImageRequest\"},\ + \"output\":{\"shape\":\"EnableImageResult\"},\ + \"documentation\":\"

Re-enables a disabled AMI. The re-enabled AMI is marked as available and can be used for instance launches, appears in describe operations, and can be shared. Amazon Web Services accounts, organizations, and Organizational Units that lost access to the AMI when it was disabled do not regain access automatically. Once the AMI is available, it can be shared with them again.

Only the AMI owner can re-enable a disabled AMI.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

\"\ + },\ + \"EnableImageBlockPublicAccess\":{\ + \"name\":\"EnableImageBlockPublicAccess\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"EnableImageBlockPublicAccessRequest\"},\ + \"output\":{\"shape\":\"EnableImageBlockPublicAccessResult\"},\ + \"documentation\":\"

Enables block public access for AMIs at the account level in the specified Amazon Web Services Region. This prevents the public sharing of your AMIs. However, if you already have public AMIs, they will remain publicly available.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be unblocked. When the API has completed the configuration, the response will be block-new-sharing.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

\"\ + },\ \"EnableImageDeprecation\":{\ \"name\":\"EnableImageDeprecation\",\ \"http\":{\ @@ -4066,6 +4147,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"EnableSerialConsoleAccessResult\"},\ \"documentation\":\"

Enables access to the EC2 serial console of all instances for your account. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

\"\ },\ + \"EnableSnapshotBlockPublicAccess\":{\ + \"name\":\"EnableSnapshotBlockPublicAccess\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"EnableSnapshotBlockPublicAccessRequest\"},\ + \"output\":{\"shape\":\"EnableSnapshotBlockPublicAccessResult\"},\ + \"documentation\":\"

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

If block public access is enabled in block-all-sharing mode, and you change the mode to block-new-sharing, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

\"\ + },\ \"EnableTransitGatewayRouteTablePropagation\":{\ \"name\":\"EnableTransitGatewayRouteTablePropagation\",\ \"http\":{\ @@ -4284,6 +4375,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"GetHostReservationPurchasePreviewResult\"},\ \"documentation\":\"

Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

\"\ },\ + \"GetImageBlockPublicAccessState\":{\ + \"name\":\"GetImageBlockPublicAccessState\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetImageBlockPublicAccessStateRequest\"},\ + \"output\":{\"shape\":\"GetImageBlockPublicAccessStateResult\"},\ + \"documentation\":\"

Gets the current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

\"\ + },\ \"GetInstanceTypesFromInstanceRequirements\":{\ \"name\":\"GetInstanceTypesFromInstanceRequirements\",\ \"http\":{\ @@ -4434,6 +4535,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"GetReservedInstancesExchangeQuoteResult\"},\ \"documentation\":\"

Returns a quote and exchange information for exchanging one or more specified Convertible Reserved Instances for a new Convertible Reserved Instance. If the exchange cannot be performed, the reason is returned in the response. Use AcceptReservedInstancesExchangeQuote to perform the exchange.

\"\ },\ + \"GetSecurityGroupsForVpc\":{\ + \"name\":\"GetSecurityGroupsForVpc\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetSecurityGroupsForVpcRequest\"},\ + \"output\":{\"shape\":\"GetSecurityGroupsForVpcResult\"},\ + \"documentation\":\"

Gets security groups that can be associated by the Amazon Web Services account making the request with network interfaces in the specified VPC.

\"\ + },\ \"GetSerialConsoleAccessStatus\":{\ \"name\":\"GetSerialConsoleAccessStatus\",\ \"http\":{\ @@ -4444,6 +4555,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"GetSerialConsoleAccessStatusResult\"},\ \"documentation\":\"

Retrieves the access status of your account to the EC2 serial console of all instances. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

\"\ },\ + \"GetSnapshotBlockPublicAccessState\":{\ + \"name\":\"GetSnapshotBlockPublicAccessState\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetSnapshotBlockPublicAccessStateRequest\"},\ + \"output\":{\"shape\":\"GetSnapshotBlockPublicAccessStateResult\"},\ + \"documentation\":\"

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

\"\ + },\ \"GetSpotPlacementScores\":{\ \"name\":\"GetSpotPlacementScores\",\ \"http\":{\ @@ -4664,6 +4785,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"ListSnapshotsInRecycleBinResult\"},\ \"documentation\":\"

Lists one or more snapshots that are currently in the Recycle Bin.

\"\ },\ + \"LockSnapshot\":{\ + \"name\":\"LockSnapshot\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"LockSnapshotRequest\"},\ + \"output\":{\"shape\":\"LockSnapshotResult\"},\ + \"documentation\":\"

Locks an Amazon EBS snapshot in either governance or compliance mode to protect it against accidental or malicious deletions for a specific duration. A locked snapshot can't be deleted.

You can also use this action to modify the lock settings for a snapshot that is already locked. The allowed modifications depend on the lock mode and lock state:

  • If the snapshot is locked in governance mode, you can modify the lock mode and the lock duration or lock expiration date.

  • If the snapshot is locked in compliance mode and it is in the cooling-off period, you can modify the lock mode and the lock duration or lock expiration date.

  • If the snapshot is locked in compliance mode and the cooling-off period has lapsed, you can only increase the lock duration or extend the lock expiration date.

\"\ + },\ \"ModifyAddressAttribute\":{\ \"name\":\"ModifyAddressAttribute\",\ \"http\":{\ @@ -5355,6 +5486,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"ProvisionPublicIpv4PoolCidrResult\"},\ \"documentation\":\"

Provision a CIDR to a public IPv4 pool.

For more information about IPAM, see What is IPAM? in the Amazon VPC IPAM User Guide.

\"\ },\ + \"PurchaseCapacityBlock\":{\ + \"name\":\"PurchaseCapacityBlock\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"PurchaseCapacityBlockRequest\"},\ + \"output\":{\"shape\":\"PurchaseCapacityBlockResult\"},\ + \"documentation\":\"

Purchase the Capacity Block for use with your account. With Capacity Blocks you ensure GPU capacity is available for machine learning (ML) workloads. You must specify the ID of the Capacity Block offering you are purchasing.

\"\ + },\ \"PurchaseHostReservation\":{\ \"name\":\"PurchaseHostReservation\",\ \"http\":{\ @@ -5754,7 +5895,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"RevokeSecurityGroupIngressRequest\"},\ \"output\":{\"shape\":\"RevokeSecurityGroupIngressResult\"},\ - \"documentation\":\"

Removes the specified inbound (ingress) rules from a security group.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

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

Removes the specified inbound (ingress) rules from a security group.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

For a non-default VPC, if the values you specify do not match the existing rule's values, an InvalidPermission.NotFound client error is returned, and no rules are revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

\"\ },\ \"RunInstances\":{\ \"name\":\"RunInstances\",\ @@ -5914,6 +6055,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"UnassignPrivateNatGatewayAddressResult\"},\ \"documentation\":\"

Unassigns secondary private IPv4 addresses from a private NAT gateway. You cannot unassign your primary private IP. For more information, see Edit secondary IP address associations in the Amazon VPC User Guide.

While unassigning is in progress, you cannot assign/unassign additional IP addresses while the connections are being drained. You are, however, allowed to delete the NAT gateway.

A private IP address will only be released at the end of MaxDrainDurationSeconds. The private IP addresses stay associated and support the existing connections, but do not support any new connections (new connections are distributed across the remaining assigned private IP address). After the existing connections drain out, the private IP addresses are released.

\"\ },\ + \"UnlockSnapshot\":{\ + \"name\":\"UnlockSnapshot\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"UnlockSnapshotRequest\"},\ + \"output\":{\"shape\":\"UnlockSnapshotResult\"},\ + \"documentation\":\"

Unlocks a snapshot that is locked in governance mode or that is locked in compliance mode but still in the cooling-off period. You can't unlock a snapshot that is locked in compliance mode after the cooling-off period has expired.

\"\ + },\ \"UnmonitorInstances\":{\ \"name\":\"UnmonitorInstances\",\ \"http\":{\ @@ -5989,9 +6140,9 @@ - (NSString *)definitionString { \"AcceleratorManufacturer\":{\ \"type\":\"string\",\ \"enum\":[\ - \"nvidia\",\ - \"amd\",\ \"amazon-web-services\",\ + \"amd\",\ + \"nvidia\",\ \"xilinx\"\ ]\ },\ @@ -6006,14 +6157,14 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\ \"a100\",\ - \"v100\",\ + \"inferentia\",\ + \"k520\",\ \"k80\",\ - \"t4\",\ \"m60\",\ \"radeon-pro-v520\",\ + \"t4\",\ \"vu9p\",\ - \"inferentia\",\ - \"k520\"\ + \"v100\"\ ]\ },\ \"AcceleratorNameSet\":{\ @@ -6804,7 +6955,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.

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, you receive an InvalidParameterCombination error.

\"\ + \"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.

\"\ },\ \"CustomerOwnedIpv4Pool\":{\ \"shape\":\"String\",\ @@ -8485,12 +8636,12 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessTrustProvider\":{\ \"shape\":\"VerifiedAccessTrustProvider\",\ - \"documentation\":\"

The ID of the Verified Access trust provider.

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

Details about the Verified Access trust provider.

\",\ \"locationName\":\"verifiedAccessTrustProvider\"\ },\ \"VerifiedAccessInstance\":{\ \"shape\":\"VerifiedAccessInstance\",\ - \"documentation\":\"

The ID of the Verified Access instance.

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

Details about the Verified Access instance.

\",\ \"locationName\":\"verifiedAccessInstance\"\ }\ }\ @@ -8561,16 +8712,16 @@ - (NSString *)definitionString { \"members\":{\ \"EnaSrdEnabled\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether ENA Express is enabled for the network interface that's attached to the instance.

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

Indicates whether ENA Express is enabled for the network interface.

\",\ \"locationName\":\"enaSrdEnabled\"\ },\ \"EnaSrdUdpSpecification\":{\ \"shape\":\"AttachmentEnaSrdUdpSpecification\",\ - \"documentation\":\"

ENA Express configuration for UDP network traffic.

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

Configures ENA Express for UDP network traffic.

\",\ \"locationName\":\"enaSrdUdpSpecification\"\ }\ },\ - \"documentation\":\"

Describes the ENA Express configuration for the network interface that's attached to the instance.

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

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

\"\ },\ \"AttachmentEnaSrdUdpSpecification\":{\ \"type\":\"structure\",\ @@ -8581,7 +8732,7 @@ - (NSString *)definitionString { \"locationName\":\"enaSrdUdpEnabled\"\ }\ },\ - \"documentation\":\"

Describes the ENA Express configuration for UDP traffic on the network interface that's attached to the instance.

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

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

\"\ },\ \"AttachmentStatus\":{\ \"type\":\"string\",\ @@ -9455,7 +9606,7 @@ - (NSString *)definitionString { \"members\":{\ \"ExportTaskId\":{\ \"shape\":\"ExportVmTaskId\",\ - \"documentation\":\"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

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

The ID of the export task. This is the ID returned by the CreateInstanceExportTask and ExportImage operations.

\",\ \"locationName\":\"exportTaskId\"\ }\ }\ @@ -9736,6 +9887,69 @@ - (NSString *)definitionString { \"locationName\":\"item\"\ }\ },\ + \"CapacityBlockOffering\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"CapacityBlockOfferingId\":{\ + \"shape\":\"OfferingId\",\ + \"documentation\":\"

The ID of the Capacity Block offering.

\",\ + \"locationName\":\"capacityBlockOfferingId\"\ + },\ + \"InstanceType\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The instance type of the Capacity Block offering.

\",\ + \"locationName\":\"instanceType\"\ + },\ + \"AvailabilityZone\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The Availability Zone of the Capacity Block offering.

\",\ + \"locationName\":\"availabilityZone\"\ + },\ + \"InstanceCount\":{\ + \"shape\":\"Integer\",\ + \"documentation\":\"

The number of instances in the Capacity Block offering.

\",\ + \"locationName\":\"instanceCount\"\ + },\ + \"StartDate\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The start date of the Capacity Block offering.

\",\ + \"locationName\":\"startDate\"\ + },\ + \"EndDate\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The end date of the Capacity Block offering.

\",\ + \"locationName\":\"endDate\"\ + },\ + \"CapacityBlockDurationHours\":{\ + \"shape\":\"Integer\",\ + \"documentation\":\"

The amount of time of the Capacity Block reservation in hours.

\",\ + \"locationName\":\"capacityBlockDurationHours\"\ + },\ + \"UpfrontFee\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The total price to be paid up front.

\",\ + \"locationName\":\"upfrontFee\"\ + },\ + \"CurrencyCode\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The currency of the payment for the Capacity Block.

\",\ + \"locationName\":\"currencyCode\"\ + },\ + \"Tenancy\":{\ + \"shape\":\"CapacityReservationTenancy\",\ + \"documentation\":\"

The tenancy of the Capacity Block.

\",\ + \"locationName\":\"tenancy\"\ + }\ + },\ + \"documentation\":\"

The recommended Capacity Block that fits your search requirements.

\"\ + },\ + \"CapacityBlockOfferingSet\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"CapacityBlockOffering\",\ + \"locationName\":\"item\"\ + }\ + },\ \"CapacityReservation\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -9853,6 +10067,11 @@ - (NSString *)definitionString { \"shape\":\"CapacityAllocations\",\ \"documentation\":\"

Information about instance capacity usage.

\",\ \"locationName\":\"capacityAllocationSet\"\ + },\ + \"ReservationType\":{\ + \"shape\":\"CapacityReservationType\",\ + \"documentation\":\"

The type of Capacity Reservation.

\",\ + \"locationName\":\"reservationType\"\ }\ },\ \"documentation\":\"

Describes a Capacity Reservation.

\"\ @@ -10030,7 +10249,8 @@ - (NSString *)definitionString { \"RHEL with SQL Server Web\",\ \"RHEL with HA\",\ \"RHEL with HA and SQL Server Standard\",\ - \"RHEL with HA and SQL Server Enterprise\"\ + \"RHEL with HA and SQL Server Enterprise\",\ + \"Ubuntu Pro\"\ ]\ },\ \"CapacityReservationOptions\":{\ @@ -10105,7 +10325,10 @@ - (NSString *)definitionString { \"expired\",\ \"cancelled\",\ \"pending\",\ - \"failed\"\ + \"failed\",\ + \"scheduled\",\ + \"payment-pending\",\ + \"payment-failed\"\ ]\ },\ \"CapacityReservationTarget\":{\ @@ -10145,6 +10368,13 @@ - (NSString *)definitionString { \"dedicated\"\ ]\ },\ + \"CapacityReservationType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"default\",\ + \"capacity-block\"\ + ]\ + },\ \"CarrierGateway\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -10462,7 +10692,6 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"sensitive\":true\ },\ - \"ClientVpnAssociationId\":{\"type\":\"string\"},\ \"ClientVpnAuthentication\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -11284,6 +11513,12 @@ - (NSString *)definitionString { \"completed\"\ ]\ },\ + \"CoolOffPeriodRequestHours\":{\ + \"type\":\"integer\",\ + \"max\":72,\ + \"min\":1\ + },\ + \"CoolOffPeriodResponseHours\":{\"type\":\"integer\"},\ \"CopyFpgaImageRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -12028,7 +12263,7 @@ - (NSString *)definitionString { \"required\":[\"AvailabilityZone\"],\ \"members\":{\ \"AvailabilityZone\":{\ - \"shape\":\"String\",\ + \"shape\":\"AvailabilityZoneName\",\ \"documentation\":\"

The Availability Zone in which to create the default subnet.

\"\ },\ \"DryRun\":{\ @@ -12267,7 +12502,7 @@ - (NSString *)definitionString { },\ \"TagSpecifications\":{\ \"shape\":\"TagSpecificationList\",\ - \"documentation\":\"

The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tagging your resources.

If the fleet type is instant, specify a resource type of fleet to tag the fleet or instance to tag the instances at launch.

If the fleet type is maintain or request, specify a resource type of fleet to tag the fleet. You cannot specify a resource type of instance. To tag instances at launch, specify the tags in a launch template.

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

The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tag your resources.

If the fleet type is instant, specify a resource type of fleet to tag the fleet or instance to tag the instances at launch.

If the fleet type is maintain or request, specify a resource type of fleet to tag the fleet. You cannot specify a resource type of instance. To tag instances at launch, specify the tags in a launch template.

\",\ \"locationName\":\"TagSpecification\"\ },\ \"Context\":{\ @@ -12442,7 +12677,7 @@ - (NSString *)definitionString { \"members\":{\ \"BlockDeviceMappings\":{\ \"shape\":\"BlockDeviceMappingRequestList\",\ - \"documentation\":\"

The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

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

The block device mappings.

When using the CreateImage action:

  • You can't change the volume size using the VolumeSize parameter. If you want a different volume size, you must first change the volume size of the source instance.

  • You can't modify the encryption status of existing volumes or snapshots. To create an AMI with volumes or snapshots that have a different encryption status (for example, where the source volume and snapshots are unencrypted, and you want to create an AMI with encrypted volumes or snapshots), use the CopyImage action.

  • The only option that can be changed for existing mappings or snapshots is DeleteOnTermination.

\",\ \"locationName\":\"blockDeviceMapping\"\ },\ \"Description\":{\ @@ -14987,7 +15222,7 @@ - (NSString *)definitionString { },\ \"SecurityGroupIds\":{\ \"shape\":\"SecurityGroupIdList\",\ - \"documentation\":\"

The IDs of the security groups to associate with the Verified Access endpoint.

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

The IDs of the security groups to associate with the Verified Access endpoint. Required if AttachmentType is set to vpc.

\",\ \"locationName\":\"SecurityGroupId\"\ },\ \"LoadBalancerOptions\":{\ @@ -15019,6 +15254,10 @@ - (NSString *)definitionString { \"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.

\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationRequest\",\ + \"documentation\":\"

The options for server side encryption.

\"\ }\ }\ },\ @@ -15027,7 +15266,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessEndpoint\":{\ \"shape\":\"VerifiedAccessEndpoint\",\ - \"documentation\":\"

The ID of the Verified Access endpoint.

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

Details about the Verified Access endpoint.

\",\ \"locationName\":\"verifiedAccessEndpoint\"\ }\ }\ @@ -15068,6 +15307,10 @@ - (NSString *)definitionString { \"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.

\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationRequest\",\ + \"documentation\":\"

The options for server side encryption.

\"\ }\ }\ },\ @@ -15076,7 +15319,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessGroup\":{\ \"shape\":\"VerifiedAccessGroup\",\ - \"documentation\":\"

The ID of the Verified Access group.

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

Details about the Verified Access group.

\",\ \"locationName\":\"verifiedAccessGroup\"\ }\ }\ @@ -15101,6 +15344,10 @@ - (NSString *)definitionString { \"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.

\"\ + },\ + \"FIPSEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Enable or disable support for Federal Information Processing Standards (FIPS) on the instance.

\"\ }\ }\ },\ @@ -15109,7 +15356,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessInstance\":{\ \"shape\":\"VerifiedAccessInstance\",\ - \"documentation\":\"

The ID of the Verified Access instance.

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

Details about the Verified Access instance.

\",\ \"locationName\":\"verifiedAccessInstance\"\ }\ }\ @@ -15120,6 +15367,10 @@ - (NSString *)definitionString { \"TenantId\":{\ \"shape\":\"String\",\ \"documentation\":\"

The ID of the tenant application with the device-identity provider.

\"\ + },\ + \"PublicSigningKeyUrl\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

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

Describes the options when creating an Amazon Web Services Verified Access trust provider using the device type.

\"\ @@ -15206,6 +15457,10 @@ - (NSString *)definitionString { \"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.

\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationRequest\",\ + \"documentation\":\"

The options for server side encryption.

\"\ }\ }\ },\ @@ -15214,7 +15469,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessTrustProvider\":{\ \"shape\":\"VerifiedAccessTrustProvider\",\ - \"documentation\":\"

The ID of the Verified Access trust provider.

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

Details about the Verified Access trust provider.

\",\ \"locationName\":\"verifiedAccessTrustProvider\"\ }\ }\ @@ -15945,7 +16200,8 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\ \"spot\",\ - \"on-demand\"\ + \"on-demand\",\ + \"capacity-block\"\ ]\ },\ \"DefaultingDhcpOptionsId\":{\"type\":\"string\"},\ @@ -16490,6 +16746,21 @@ - (NSString *)definitionString { }\ }\ },\ + \"DeleteKeyPairResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Return\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Is true if the request succeeds, and an error otherwise.

\",\ + \"locationName\":\"return\"\ + },\ + \"KeyPairId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The ID of the key pair.

\",\ + \"locationName\":\"keyPairId\"\ + }\ + }\ + },\ \"DeleteLaunchTemplateRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -17608,7 +17879,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessEndpoint\":{\ \"shape\":\"VerifiedAccessEndpoint\",\ - \"documentation\":\"

The ID of the Verified Access endpoint.

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

Details about the Verified Access endpoint.

\",\ \"locationName\":\"verifiedAccessEndpoint\"\ }\ }\ @@ -17637,7 +17908,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessGroup\":{\ \"shape\":\"VerifiedAccessGroup\",\ - \"documentation\":\"

The ID of the Verified Access group.

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

Details about the Verified Access group.

\",\ \"locationName\":\"verifiedAccessGroup\"\ }\ }\ @@ -17666,7 +17937,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessInstance\":{\ \"shape\":\"VerifiedAccessInstance\",\ - \"documentation\":\"

The ID of the Verified Access instance.

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

Details about the Verified Access instance.

\",\ \"locationName\":\"verifiedAccessInstance\"\ }\ }\ @@ -17695,7 +17966,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessTrustProvider\":{\ \"shape\":\"VerifiedAccessTrustProvider\",\ - \"documentation\":\"

The ID of the Verified Access trust provider.

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

Details about the Verified Access trust provider.

\",\ \"locationName\":\"verifiedAccessTrustProvider\"\ }\ }\ @@ -18404,6 +18675,68 @@ - (NSString *)definitionString { }\ }\ },\ + \"DescribeCapacityBlockOfferingsMaxResults\":{\ + \"type\":\"integer\",\ + \"max\":1000,\ + \"min\":1\ + },\ + \"DescribeCapacityBlockOfferingsRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceType\",\ + \"InstanceCount\",\ + \"CapacityDurationHours\"\ + ],\ + \"members\":{\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

\"\ + },\ + \"InstanceType\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The type of instance for which the Capacity Block offering reserves capacity.

\"\ + },\ + \"InstanceCount\":{\ + \"shape\":\"Integer\",\ + \"documentation\":\"

The number of instances for which to reserve capacity.

\"\ + },\ + \"StartDateRange\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The earliest start date for the Capacity Block offering.

\"\ + },\ + \"EndDateRange\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The latest end date for the Capacity Block offering.

\"\ + },\ + \"CapacityDurationHours\":{\ + \"shape\":\"Integer\",\ + \"documentation\":\"

The number of hours for which to reserve Capacity Block.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token to use to retrieve the next page of results.

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"DescribeCapacityBlockOfferingsMaxResults\",\ + \"documentation\":\"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

\"\ + }\ + }\ + },\ + \"DescribeCapacityBlockOfferingsResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"CapacityBlockOfferings\":{\ + \"shape\":\"CapacityBlockOfferingSet\",\ + \"documentation\":\"

The recommended Capacity Block offering for the dates specified.

\",\ + \"locationName\":\"capacityBlockOfferingSet\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

\",\ + \"locationName\":\"nextToken\"\ + }\ + }\ + },\ \"DescribeCapacityReservationFleetsMaxResults\":{\ \"type\":\"integer\",\ \"max\":100,\ @@ -19159,12 +19492,12 @@ - (NSString *)definitionString { \"members\":{\ \"ImageIds\":{\ \"shape\":\"FastLaunchImageIdList\",\ - \"documentation\":\"

Details for one or more Windows AMI image IDs.

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

Specify one or more Windows AMI image IDs for the request.

\",\ \"locationName\":\"ImageId\"\ },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

Use the following filters to streamline results.

  • resource-type - The resource type for pre-provisioning.

  • launch-template - The launch template that is associated with the pre-provisioned Windows AMI.

  • owner-id - The owner ID for the pre-provisioning resource.

  • state - The current state of fast launching for the Windows AMI.

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

Use the following filters to streamline results.

  • resource-type - The resource type for pre-provisioning.

  • owner-id - The owner ID for the pre-provisioning resource.

  • state - The current state of fast launching for the Windows AMI.

\",\ \"locationName\":\"Filter\"\ },\ \"MaxResults\":{\ @@ -19206,12 +19539,12 @@ - (NSString *)definitionString { \"members\":{\ \"ImageId\":{\ \"shape\":\"ImageId\",\ - \"documentation\":\"

The image ID that identifies the fast-launch enabled Windows image.

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

The image ID that identifies the Windows fast launch enabled image.

\",\ \"locationName\":\"imageId\"\ },\ \"ResourceType\":{\ \"shape\":\"FastLaunchResourceType\",\ - \"documentation\":\"

The resource type that is used for pre-provisioning the Windows AMI. Supported values include: snapshot.

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

The resource type that Amazon EC2 uses for pre-provisioning the Windows AMI. Supported values include: snapshot.

\",\ \"locationName\":\"resourceType\"\ },\ \"SnapshotConfiguration\":{\ @@ -19221,36 +19554,36 @@ - (NSString *)definitionString { },\ \"LaunchTemplate\":{\ \"shape\":\"FastLaunchLaunchTemplateSpecificationResponse\",\ - \"documentation\":\"

The launch template that the fast-launch enabled Windows AMI uses when it launches Windows instances from pre-provisioned snapshots.

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

The launch template that the Windows fast launch enabled AMI uses when it launches Windows instances from pre-provisioned snapshots.

\",\ \"locationName\":\"launchTemplate\"\ },\ \"MaxParallelLaunches\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching.

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

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

\",\ \"locationName\":\"maxParallelLaunches\"\ },\ \"OwnerId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The owner ID for the fast-launch enabled Windows AMI.

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

The owner ID for the Windows fast launch enabled AMI.

\",\ \"locationName\":\"ownerId\"\ },\ \"State\":{\ \"shape\":\"FastLaunchStateCode\",\ - \"documentation\":\"

The current state of faster launching for the specified Windows AMI.

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

The current state of Windows fast launch for the specified Windows AMI.

\",\ \"locationName\":\"state\"\ },\ \"StateTransitionReason\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The reason that faster launching for the Windows AMI changed to the current state.

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

The reason that Windows fast launch for the AMI changed to the current state.

\",\ \"locationName\":\"stateTransitionReason\"\ },\ \"StateTransitionTime\":{\ \"shape\":\"MillisecondDateTime\",\ - \"documentation\":\"

The time that faster launching for the Windows AMI changed to the current state.

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

The time that Windows fast launch for the AMI changed to the current state.

\",\ \"locationName\":\"stateTransitionTime\"\ }\ },\ - \"documentation\":\"

Describe details about a fast-launch enabled Windows image that meets the requested criteria. Criteria are defined by the DescribeFastLaunchImages action filters.

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

Describe details about a Windows image with Windows fast launch enabled that meets the requested criteria. Criteria are defined by the DescribeFastLaunchImages action filters.

\"\ },\ \"DescribeFastLaunchImagesSuccessSet\":{\ \"type\":\"list\",\ @@ -19962,7 +20295,7 @@ - (NSString *)definitionString { },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

The filters.

  • architecture - The image architecture (i386 | x86_64 | arm64 | x86_64_mac | arm64_mac).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon 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.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (io1 | io2 | gp2 | gp3 | sc1 | st1 | standard).

  • block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

  • creation-date - The time when the image was created, 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.

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - The owner alias (amazon | aws-marketplace). The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

  • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the Owner request parameter instead of this filter.

  • platform - The platform. The only supported value is windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (marketplace).

  • ramdisk-id - The RAM disk 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).

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

  • 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.

  • virtualization-type - The virtualization type (paravirtual | hvm).

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

The filters.

  • architecture - The image architecture (i386 | x86_64 | arm64 | x86_64_mac | arm64_mac).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon 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.snapshot-id - The ID of the snapshot used for the Amazon EBS volume.

  • block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the Amazon EBS volume (io1 | io2 | gp2 | gp3 | sc1 | st1 | standard).

  • block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

  • creation-date - The time when the image was created, 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.

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - The owner alias (amazon | aws-marketplace). The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be set using the IAM console. We recommend that you use the Owner request parameter instead of this filter.

  • owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the Owner request parameter instead of this filter.

  • platform - The platform. The only supported value is windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (marketplace).

  • ramdisk-id - The RAM disk 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-instance-id - The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This filter is applicable only if the AMI was created using CreateImage.

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

  • 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.

  • virtualization-type - The virtualization type (paravirtual | hvm).

\",\ \"locationName\":\"Filter\"\ },\ \"ImageIds\":{\ @@ -19979,6 +20312,10 @@ - (NSString *)definitionString { \"shape\":\"Boolean\",\ \"documentation\":\"

Specifies whether to include deprecated AMIs.

Default: No deprecated AMIs are included in the response.

If you are the AMI owner, all deprecated AMIs appear in the response regardless of what you specify for this parameter.

\"\ },\ + \"IncludeDisabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Specifies whether to include disabled AMIs.

Default: No disabled AMIs are included in the response.

\"\ + },\ \"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.

\",\ @@ -20314,6 +20651,66 @@ - (NSString *)definitionString { }\ }\ },\ + \"DescribeInstanceTopologyGroupNameSet\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"PlacementGroupName\"}\ + },\ + \"DescribeInstanceTopologyInstanceIdSet\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"InstanceId\"}\ + },\ + \"DescribeInstanceTopologyMaxResults\":{\ + \"type\":\"integer\",\ + \"max\":100,\ + \"min\":1\ + },\ + \"DescribeInstanceTopologyRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"DescribeInstanceTopologyMaxResults\",\ + \"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.

You can't specify this parameter and the instance IDs parameter in the same request.

Default: 20

\"\ + },\ + \"InstanceIds\":{\ + \"shape\":\"DescribeInstanceTopologyInstanceIdSet\",\ + \"documentation\":\"

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

\",\ + \"locationName\":\"InstanceId\"\ + },\ + \"GroupNames\":{\ + \"shape\":\"DescribeInstanceTopologyGroupNameSet\",\ + \"documentation\":\"

The name of the placement group that each instance is in.

Constraints: Maximum 100 explicitly specified placement group names.

\",\ + \"locationName\":\"GroupName\"\ + },\ + \"Filters\":{\ + \"shape\":\"FilterList\",\ + \"documentation\":\"

The filters.

  • availability-zone - The name of the Availability Zone (for example, us-west-2a) or Local Zone (for example, us-west-2-lax-1b) that the instance is in.

  • instance-type - The instance type (for example, p4d.24xlarge) or instance family (for example, p4d*). You can use the * wildcard to match zero or more characters, or the ? wildcard to match zero or one character.

  • zone-id - The ID of the Availability Zone (for example, usw2-az2) or Local Zone (for example, usw2-lax1-az1) that the instance is in.

\",\ + \"locationName\":\"Filter\"\ + }\ + }\ + },\ + \"DescribeInstanceTopologyResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Instances\":{\ + \"shape\":\"InstanceSet\",\ + \"documentation\":\"

Information about the topology of each instance.

\",\ + \"locationName\":\"instanceSet\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

\",\ + \"locationName\":\"nextToken\"\ + }\ + }\ + },\ \"DescribeInstanceTypeOfferingsRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -20402,7 +20799,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 or a Scheduled Instance (spot | scheduled).

  • 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.

  • license-pool -

  • 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.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) 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.attachment.attachment-id - The ID of the interface attachment.

  • 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.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • 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.ipv6-addresses.ipv6-address - The IPv6 address associated with 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.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.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.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.

  • 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\":{\ @@ -21147,6 +21544,53 @@ - (NSString *)definitionString { }\ }\ },\ + \"DescribeLockedSnapshotsMaxResults\":{\ + \"type\":\"integer\",\ + \"max\":1000,\ + \"min\":5\ + },\ + \"DescribeLockedSnapshotsRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Filters\":{\ + \"shape\":\"FilterList\",\ + \"documentation\":\"

The filters.

  • lock-state - The state of the snapshot lock (compliance-cooloff | governance | compliance | expired).

\",\ + \"locationName\":\"Filter\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"DescribeLockedSnapshotsMaxResults\",\ + \"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\",\ + \"documentation\":\"

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

\"\ + },\ + \"SnapshotIds\":{\ + \"shape\":\"SnapshotIdStringList\",\ + \"documentation\":\"

The IDs of the snapshots for which to view the lock status.

\",\ + \"locationName\":\"SnapshotId\"\ + },\ + \"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.

\"\ + }\ + }\ + },\ + \"DescribeLockedSnapshotsResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Snapshots\":{\ + \"shape\":\"LockedSnapshotsInfoList\",\ + \"documentation\":\"

Information about the snapshots.

\",\ + \"locationName\":\"snapshotSet\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

\",\ + \"locationName\":\"nextToken\"\ + }\ + }\ + },\ \"DescribeManagedPrefixListsRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -21633,7 +22077,7 @@ - (NSString *)definitionString { \"members\":{\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

One or more filters.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.attach-time - The time that the network interface was attached to an instance.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • group-name - The name of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | efa | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The Amazon Web Services account ID of the network interface owner.

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

  • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • 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.

  • vpc-id - The ID of the VPC for the network interface.

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

One or more filters.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attach-time - The time that the network interface was attached to an instance.

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | ec2_instance_connect_endpoint | efa | efs | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The Amazon Web Services account ID of the network interface owner.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

  • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

  • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • 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.

  • vpc-id - The ID of the VPC for the network interface.

\",\ \"locationName\":\"filter\"\ },\ \"DryRun\":{\ @@ -22770,7 +23214,7 @@ - (NSString *)definitionString { \"members\":{\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

The filters.

  • availability-zone - The Availability Zone for which prices should be returned.

  • instance-type - The type of instance (for example, m3.medium).

  • product-description - The product description for the Spot price (Linux/UNIX | Red Hat Enterprise Linux | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | Red Hat Enterprise Linux (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

  • spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

  • timestamp - The time stamp of the Spot price history, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

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

The filters.

  • availability-zone - The Availability Zone for which prices should be returned.

  • instance-type - The type of instance (for example, m3.medium).

  • product-description - The product description for the Spot price (Linux/UNIX | Red Hat Enterprise Linux | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | Red Hat Enterprise Linux (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

  • spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

  • timestamp - The time stamp of the Spot price history, in UTC format (for example, ddd MMM dd HH:mm:ss UTC YYYY). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

\",\ \"locationName\":\"Filter\"\ },\ \"AvailabilityZone\":{\ @@ -22893,7 +23337,7 @@ - (NSString *)definitionString { },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

The filters.

  • task-state - Returns tasks in a certain state (InProgress | Completed | Failed)

  • bucket - Returns task information for tasks that targeted a specific bucket. For the filter value, specify the bucket name.

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

The filters.

  • task-state - Returns tasks in a certain state (InProgress | Completed | Failed)

  • bucket - Returns task information for tasks that targeted a specific bucket. For the filter value, specify the bucket name.

When you specify the ImageIds parameter, any filters that you specify are ignored. To use the filters, you must remove the ImageIds parameter.

\",\ \"locationName\":\"Filter\"\ },\ \"NextToken\":{\ @@ -22902,7 +23346,7 @@ - (NSString *)definitionString { },\ \"MaxResults\":{\ \"shape\":\"DescribeStoreImageTasksRequestMaxResults\",\ - \"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.

You cannot specify this parameter and the ImageIDs parameter in the same call.

\"\ + \"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.

You cannot specify this parameter and the ImageIds parameter in the same call.

\"\ }\ }\ },\ @@ -23642,7 +24086,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessEndpoints\":{\ \"shape\":\"VerifiedAccessEndpointList\",\ - \"documentation\":\"

The ID of the Verified Access endpoint.

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

Details about the Verified Access endpoints.

\",\ \"locationName\":\"verifiedAccessEndpointSet\"\ },\ \"NextToken\":{\ @@ -23693,7 +24137,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessGroups\":{\ \"shape\":\"VerifiedAccessGroupList\",\ - \"documentation\":\"

The ID of the Verified Access group.

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

Details about the Verified Access groups.

\",\ \"locationName\":\"verifiedAccessGroupSet\"\ },\ \"NextToken\":{\ @@ -23740,7 +24184,7 @@ - (NSString *)definitionString { \"members\":{\ \"LoggingConfigurations\":{\ \"shape\":\"VerifiedAccessInstanceLoggingConfigurationList\",\ - \"documentation\":\"

The current logging configuration for the Verified Access instances.

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

The logging configuration for the Verified Access instances.

\",\ \"locationName\":\"loggingConfigurationSet\"\ },\ \"NextToken\":{\ @@ -23787,7 +24231,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessInstances\":{\ \"shape\":\"VerifiedAccessInstanceList\",\ - \"documentation\":\"

The IDs of the Verified Access instances.

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

Details about the Verified Access instances.

\",\ \"locationName\":\"verifiedAccessInstanceSet\"\ },\ \"NextToken\":{\ @@ -23834,7 +24278,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessTrustProviders\":{\ \"shape\":\"VerifiedAccessTrustProviderList\",\ - \"documentation\":\"

The IDs of the Verified Access trust providers.

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

Details about the Verified Access trust providers.

\",\ \"locationName\":\"verifiedAccessTrustProviderSet\"\ },\ \"NextToken\":{\ @@ -24705,12 +25149,12 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessTrustProvider\":{\ \"shape\":\"VerifiedAccessTrustProvider\",\ - \"documentation\":\"

The ID of the Verified Access trust provider.

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

Details about the Verified Access trust provider.

\",\ \"locationName\":\"verifiedAccessTrustProvider\"\ },\ \"VerifiedAccessInstance\":{\ \"shape\":\"VerifiedAccessInstance\",\ - \"documentation\":\"

The ID of the Verified Access instance.

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

Details about the Verified Access instance.

\",\ \"locationName\":\"verifiedAccessInstance\"\ }\ }\ @@ -24772,6 +25216,11 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"

The ID of the tenant application with the device-identity provider.

\",\ \"locationName\":\"tenantId\"\ + },\ + \"PublicSigningKeyUrl\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

\",\ + \"locationName\":\"publicSigningKeyUrl\"\ }\ },\ \"documentation\":\"

Describes the options for an Amazon Web Services Verified Access device-identity based trust provider.

\"\ @@ -24780,7 +25229,8 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\ \"jamf\",\ - \"crowdstrike\"\ + \"crowdstrike\",\ + \"jumpcloud\"\ ]\ },\ \"DeviceType\":{\ @@ -24966,11 +25416,11 @@ - (NSString *)definitionString { \"members\":{\ \"ImageId\":{\ \"shape\":\"ImageId\",\ - \"documentation\":\"

The ID of the image for which you’re turning off faster launching, and removing pre-provisioned snapshots.

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

Specify the ID of the image for which to disable Windows fast launch.

\"\ },\ \"Force\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Forces the image settings to turn off faster launching for your Windows AMI. This parameter overrides any errors that are encountered while cleaning up resources in your account.

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

Forces the image settings to turn off Windows fast launch for your Windows AMI. This parameter overrides any errors that are encountered while cleaning up resources in your account.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -24983,17 +25433,17 @@ - (NSString *)definitionString { \"members\":{\ \"ImageId\":{\ \"shape\":\"ImageId\",\ - \"documentation\":\"

The ID of the image for which faster-launching has been turned off.

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

The ID of the image for which Windows fast launch was disabled.

\",\ \"locationName\":\"imageId\"\ },\ \"ResourceType\":{\ \"shape\":\"FastLaunchResourceType\",\ - \"documentation\":\"

The pre-provisioning resource type that must be cleaned after turning off faster launching for the Windows AMI. Supported values include: snapshot.

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

The pre-provisioning resource type that must be cleaned after turning off Windows fast launch for the Windows AMI. Supported values include: snapshot.

\",\ \"locationName\":\"resourceType\"\ },\ \"SnapshotConfiguration\":{\ \"shape\":\"FastLaunchSnapshotConfigurationResponse\",\ - \"documentation\":\"

Parameters that were used for faster launching for the Windows AMI before faster launching was turned off. This informs the clean-up process.

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

Parameters that were used for Windows fast launch for the Windows AMI before Windows fast launch was disabled. This informs the clean-up process.

\",\ \"locationName\":\"snapshotConfiguration\"\ },\ \"LaunchTemplate\":{\ @@ -25003,27 +25453,27 @@ - (NSString *)definitionString { },\ \"MaxParallelLaunches\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching.

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

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

\",\ \"locationName\":\"maxParallelLaunches\"\ },\ \"OwnerId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The owner of the Windows AMI for which faster launching was turned off.

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

The owner of the Windows AMI for which Windows fast launch was disabled.

\",\ \"locationName\":\"ownerId\"\ },\ \"State\":{\ \"shape\":\"FastLaunchStateCode\",\ - \"documentation\":\"

The current state of faster launching for the specified Windows AMI.

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

The current state of Windows fast launch for the specified Windows AMI.

\",\ \"locationName\":\"state\"\ },\ \"StateTransitionReason\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The reason that the state changed for faster launching for the Windows AMI.

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

The reason that the state changed for Windows fast launch for the Windows AMI.

\",\ \"locationName\":\"stateTransitionReason\"\ },\ \"StateTransitionTime\":{\ \"shape\":\"MillisecondDateTime\",\ - \"documentation\":\"

The time that the state changed for faster launching for the Windows AMI.

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

The time that the state changed for Windows fast launch for the Windows AMI.

\",\ \"locationName\":\"stateTransitionTime\"\ }\ }\ @@ -25196,6 +25646,25 @@ - (NSString *)definitionString { }\ }\ },\ + \"DisableImageBlockPublicAccessRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

\"\ + }\ + }\ + },\ + \"DisableImageBlockPublicAccessResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ImageBlockPublicAccessState\":{\ + \"shape\":\"ImageBlockPublicAccessDisabledState\",\ + \"documentation\":\"

Returns unblocked if the request succeeds; otherwise, it returns an error.

\",\ + \"locationName\":\"imageBlockPublicAccessState\"\ + }\ + }\ + },\ \"DisableImageDeprecationRequest\":{\ \"type\":\"structure\",\ \"required\":[\"ImageId\"],\ @@ -25220,6 +25689,30 @@ - (NSString *)definitionString { }\ }\ },\ + \"DisableImageRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"ImageId\"],\ + \"members\":{\ + \"ImageId\":{\ + \"shape\":\"ImageId\",\ + \"documentation\":\"

The ID of the AMI.

\"\ + },\ + \"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.

\"\ + }\ + }\ + },\ + \"DisableImageResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Return\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Returns true if the request succeeds; otherwise, it returns an error.

\",\ + \"locationName\":\"return\"\ + }\ + }\ + },\ \"DisableIpamOrganizationAdminAccountRequest\":{\ \"type\":\"structure\",\ \"required\":[\"DelegatedAdminAccountId\"],\ @@ -25263,6 +25756,25 @@ - (NSString *)definitionString { }\ }\ },\ + \"DisableSnapshotBlockPublicAccessRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

\"\ + }\ + }\ + },\ + \"DisableSnapshotBlockPublicAccessResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"State\":{\ + \"shape\":\"SnapshotBlockPublicAccessState\",\ + \"documentation\":\"

Returns unblocked if the request succeeds.

\",\ + \"locationName\":\"state\"\ + }\ + }\ + },\ \"DisableTransitGatewayRouteTablePropagationRequest\":{\ \"type\":\"structure\",\ \"required\":[\"TransitGatewayRouteTableId\"],\ @@ -25392,7 +25904,7 @@ - (NSString *)definitionString { \"documentation\":\"

The ID of the Client VPN endpoint from which to disassociate the target network.

\"\ },\ \"AssociationId\":{\ - \"shape\":\"ClientVpnAssociationId\",\ + \"shape\":\"String\",\ \"documentation\":\"

The ID of the target network association.

\"\ },\ \"DryRun\":{\ @@ -26573,16 +27085,40 @@ - (NSString *)definitionString { },\ \"documentation\":\"

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

\"\ },\ + \"EnaSrdSpecificationRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"EnaSrdEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Specifies whether ENA Express is enabled for the network interface when you launch an instance from your launch template.

\"\ + },\ + \"EnaSrdUdpSpecification\":{\ + \"shape\":\"EnaSrdUdpSpecificationRequest\",\ + \"documentation\":\"

Contains ENA Express settings for UDP network traffic in your launch template.

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

Launch instances with ENA Express settings configured from your launch template.

\"\ + },\ \"EnaSrdSupported\":{\"type\":\"boolean\"},\ \"EnaSrdUdpSpecification\":{\ \"type\":\"structure\",\ \"members\":{\ \"EnaSrdUdpEnabled\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether UDP traffic uses ENA Express. To specify this setting, you must first enable ENA Express.

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

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

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

ENA Express is compatible with both TCP and UDP transport protocols. When it’s enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

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

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

\"\ + },\ + \"EnaSrdUdpSpecificationRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"EnaSrdUdpEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether UDP traffic uses ENA Express for your instance. To ensure that UDP traffic can use ENA Express when you launch an instance, you must also set EnaSrdEnabled in the EnaSrdSpecificationRequest to true in your launch template.

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

Configures ENA Express for UDP network traffic from your launch template.

\"\ },\ \"EnaSupport\":{\ \"type\":\"string\",\ @@ -26683,15 +27219,15 @@ - (NSString *)definitionString { \"members\":{\ \"ImageId\":{\ \"shape\":\"ImageId\",\ - \"documentation\":\"

The ID of the image for which you’re enabling faster launching.

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

Specify the ID of the image for which to enable Windows fast launch.

\"\ },\ \"ResourceType\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The type of resource to use for pre-provisioning the Windows AMI for faster launching. Supported values include: snapshot, which is the default value.

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

The type of resource to use for pre-provisioning the AMI for Windows fast launch. Supported values include: snapshot, which is the default value.

\"\ },\ \"SnapshotConfiguration\":{\ \"shape\":\"FastLaunchSnapshotConfigurationRequest\",\ - \"documentation\":\"

Configuration settings for creating and managing the snapshots that are used for pre-provisioning the Windows AMI for faster launching. The associated ResourceType must be snapshot.

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

Configuration settings for creating and managing the snapshots that are used for pre-provisioning the AMI for Windows fast launch. The associated ResourceType must be snapshot.

\"\ },\ \"LaunchTemplate\":{\ \"shape\":\"FastLaunchLaunchTemplateSpecificationRequest\",\ @@ -26699,7 +27235,7 @@ - (NSString *)definitionString { },\ \"MaxParallelLaunches\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching. Value must be 6 or greater.

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

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch. Value must be 6 or greater.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -26712,12 +27248,12 @@ - (NSString *)definitionString { \"members\":{\ \"ImageId\":{\ \"shape\":\"ImageId\",\ - \"documentation\":\"

The image ID that identifies the Windows AMI for which faster launching was enabled.

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

The image ID that identifies the AMI for which Windows fast launch was enabled.

\",\ \"locationName\":\"imageId\"\ },\ \"ResourceType\":{\ \"shape\":\"FastLaunchResourceType\",\ - \"documentation\":\"

The type of resource that was defined for pre-provisioning the Windows AMI for faster launching.

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

The type of resource that was defined for pre-provisioning the AMI for Windows fast launch.

\",\ \"locationName\":\"resourceType\"\ },\ \"SnapshotConfiguration\":{\ @@ -26732,27 +27268,27 @@ - (NSString *)definitionString { },\ \"MaxParallelLaunches\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows faster launching.

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

The maximum number of instances that Amazon EC2 can launch at the same time to create pre-provisioned snapshots for Windows fast launch.

\",\ \"locationName\":\"maxParallelLaunches\"\ },\ \"OwnerId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The owner ID for the Windows AMI for which faster launching was enabled.

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

The owner ID for the AMI for which Windows fast launch was enabled.

\",\ \"locationName\":\"ownerId\"\ },\ \"State\":{\ \"shape\":\"FastLaunchStateCode\",\ - \"documentation\":\"

The current state of faster launching for the specified Windows AMI.

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

The current state of Windows fast launch for the specified AMI.

\",\ \"locationName\":\"state\"\ },\ \"StateTransitionReason\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The reason that the state changed for faster launching for the Windows AMI.

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

The reason that the state changed for Windows fast launch for the AMI.

\",\ \"locationName\":\"stateTransitionReason\"\ },\ \"StateTransitionTime\":{\ \"shape\":\"MillisecondDateTime\",\ - \"documentation\":\"

The time that the state changed for faster launching for the Windows AMI.

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

The time that the state changed for Windows fast launch for the AMI.

\",\ \"locationName\":\"stateTransitionTime\"\ }\ }\ @@ -26925,6 +27461,30 @@ - (NSString *)definitionString { }\ }\ },\ + \"EnableImageBlockPublicAccessRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"ImageBlockPublicAccessState\"],\ + \"members\":{\ + \"ImageBlockPublicAccessState\":{\ + \"shape\":\"ImageBlockPublicAccessEnabledState\",\ + \"documentation\":\"

Specify block-new-sharing to enable block public access for AMIs at the account level in the specified Region. This will block any attempt to publicly share your AMIs in the specified Region.

\"\ + },\ + \"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.

\"\ + }\ + }\ + },\ + \"EnableImageBlockPublicAccessResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ImageBlockPublicAccessState\":{\ + \"shape\":\"ImageBlockPublicAccessEnabledState\",\ + \"documentation\":\"

Returns block-new-sharing if the request succeeds; otherwise, it returns an error.

\",\ + \"locationName\":\"imageBlockPublicAccessState\"\ + }\ + }\ + },\ \"EnableImageDeprecationRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -26956,6 +27516,30 @@ - (NSString *)definitionString { }\ }\ },\ + \"EnableImageRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"ImageId\"],\ + \"members\":{\ + \"ImageId\":{\ + \"shape\":\"ImageId\",\ + \"documentation\":\"

The ID of the AMI.

\"\ + },\ + \"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.

\"\ + }\ + }\ + },\ + \"EnableImageResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Return\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Returns true if the request succeeds; otherwise, it returns an error.

\",\ + \"locationName\":\"return\"\ + }\ + }\ + },\ \"EnableIpamOrganizationAdminAccountRequest\":{\ \"type\":\"structure\",\ \"required\":[\"DelegatedAdminAccountId\"],\ @@ -27018,6 +27602,30 @@ - (NSString *)definitionString { }\ }\ },\ + \"EnableSnapshotBlockPublicAccessRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"State\"],\ + \"members\":{\ + \"State\":{\ + \"shape\":\"SnapshotBlockPublicAccessState\",\ + \"documentation\":\"

The mode in which to enable block public access for snapshots for the Region. Specify one of the following values:

  • block-all-sharing - Prevents all public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. Additionally, snapshots that are already publicly shared are treated as private and they are no longer publicly available.

    If you enable block public access for snapshots in block-all-sharing mode, it does not change the permissions for snapshots that are already publicly shared. Instead, it prevents these snapshots from be publicly visible and publicly accessible. Therefore, the attributes for these snapshots still indicate that they are publicly shared, even though they are not publicly available.

  • block-new-sharing - Prevents only new public sharing of snapshots in the Region. Users in the account will no longer be able to request new public sharing. However, snapshots that are already publicly shared, remain publicly available.

\"\ + },\ + \"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.

\"\ + }\ + }\ + },\ + \"EnableSnapshotBlockPublicAccessResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"State\":{\ + \"shape\":\"SnapshotBlockPublicAccessState\",\ + \"documentation\":\"

The state of block public access for snapshots for the account and Region. Returns either block-all-sharing or block-new-sharing if the request succeeds.

\",\ + \"locationName\":\"state\"\ + }\ + }\ + },\ \"EnableTransitGatewayRouteTablePropagationRequest\":{\ \"type\":\"structure\",\ \"required\":[\"TransitGatewayRouteTableId\"],\ @@ -27996,39 +28604,39 @@ - (NSString *)definitionString { \"members\":{\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template to use for faster launching for a Windows AMI.

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

Specify the ID of the launch template that the AMI should use for Windows fast launch.

\"\ },\ \"LaunchTemplateName\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The name of the launch template to use for faster launching for a Windows AMI.

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

Specify the name of the launch template that the AMI should use for Windows fast launch.

\"\ },\ \"Version\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The version of the launch template to use for faster launching for a Windows AMI.

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

Specify the version of the launch template that the AMI should use for Windows fast launch.

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

Request to create a launch template for a fast-launch enabled Windows AMI.

Note - You can specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

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

Request to create a launch template for a Windows fast launch enabled AMI.

Note - You can specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ },\ \"FastLaunchLaunchTemplateSpecificationResponse\":{\ \"type\":\"structure\",\ \"members\":{\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template for faster launching of the associated Windows AMI.

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

The ID of the launch template that the AMI uses for Windows fast launch.

\",\ \"locationName\":\"launchTemplateId\"\ },\ \"LaunchTemplateName\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The name of the launch template for faster launching of the associated Windows AMI.

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

The name of the launch template that the AMI uses for Windows fast launch.

\",\ \"locationName\":\"launchTemplateName\"\ },\ \"Version\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The version of the launch template for faster launching of the associated Windows AMI.

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

The version of the launch template that the AMI uses for Windows fast launch.

\",\ \"locationName\":\"version\"\ }\ },\ - \"documentation\":\"

Identifies the launch template to use for faster launching of the Windows AMI.

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

Identifies the launch template that the AMI uses for Windows fast launch.

\"\ },\ \"FastLaunchResourceType\":{\ \"type\":\"string\",\ @@ -28039,21 +28647,21 @@ - (NSString *)definitionString { \"members\":{\ \"TargetResourceCount\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI.

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

The number of pre-provisioned snapshots to keep on hand for a Windows fast launch enabled AMI.

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

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

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

Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch enabled AMI.

\"\ },\ \"FastLaunchSnapshotConfigurationResponse\":{\ \"type\":\"structure\",\ \"members\":{\ \"TargetResourceCount\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The number of pre-provisioned snapshots requested to keep on hand for a fast-launch enabled Windows AMI.

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

The number of pre-provisioned snapshots requested to keep on hand for a Windows fast launch enabled AMI.

\",\ \"locationName\":\"targetResourceCount\"\ }\ },\ - \"documentation\":\"

Configuration settings for creating and managing pre-provisioned snapshots for a fast-launch enabled Windows AMI.

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

Configuration settings for creating and managing pre-provisioned snapshots for a Windows fast launch enabled Windows AMI.

\"\ },\ \"FastLaunchStateCode\":{\ \"type\":\"string\",\ @@ -29333,6 +29941,11 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"

The ID of the local gateway route table.

\",\ \"locationName\":\"localGatewayRouteTableId\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

\",\ + \"locationName\":\"nextToken\"\ }\ }\ },\ @@ -29596,6 +30209,25 @@ - (NSString *)definitionString { }\ }\ },\ + \"GetImageBlockPublicAccessStateRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

\"\ + }\ + }\ + },\ + \"GetImageBlockPublicAccessStateResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ImageBlockPublicAccessState\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

Possible values:

  • block-new-sharing - Any attempt to publicly share your AMIs in the specified Region is blocked.

  • unblocked - Your AMIs in the specified Region can be publicly shared.

\",\ + \"locationName\":\"imageBlockPublicAccessState\"\ + }\ + }\ + },\ \"GetInstanceTypesFromInstanceRequirementsRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -30187,7 +30819,7 @@ - (NSString *)definitionString { \"locationName\":\"instanceId\"\ },\ \"PasswordData\":{\ - \"shape\":\"String\",\ + \"shape\":\"PasswordData\",\ \"documentation\":\"

The password of the instance. Returns an empty string if the password is not available.

\",\ \"locationName\":\"passwordData\"\ },\ @@ -30270,6 +30902,53 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Contains the output of GetReservedInstancesExchangeQuote.

\"\ },\ + \"GetSecurityGroupsForVpcRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"VpcId\"],\ + \"members\":{\ + \"VpcId\":{\ + \"shape\":\"VpcId\",\ + \"documentation\":\"

The VPC ID where the security group can be used.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"GetSecurityGroupsForVpcRequestMaxResults\",\ + \"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.

\"\ + },\ + \"Filters\":{\ + \"shape\":\"FilterList\",\ + \"documentation\":\"

The filters. If using multiple filters, the results include security groups which match all filters.

  • group-id: The security group ID.

  • description: The security group's description.

  • group-name: The security group name.

  • owner-id: The security group owner ID.

  • primary-vpc-id: The VPC ID in which the security group was created.

\",\ + \"locationName\":\"Filter\"\ + },\ + \"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.

\"\ + }\ + }\ + },\ + \"GetSecurityGroupsForVpcRequestMaxResults\":{\ + \"type\":\"integer\",\ + \"max\":1000,\ + \"min\":5\ + },\ + \"GetSecurityGroupsForVpcResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"NextToken\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The token to include in another request to get the next page of items. This value is null when there are no more items to return.

\",\ + \"locationName\":\"nextToken\"\ + },\ + \"SecurityGroupForVpcs\":{\ + \"shape\":\"SecurityGroupForVpcList\",\ + \"documentation\":\"

The security group that can be used by interfaces in the VPC.

\",\ + \"locationName\":\"securityGroupForVpcSet\"\ + }\ + }\ + },\ \"GetSerialConsoleAccessStatusRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -30289,6 +30968,25 @@ - (NSString *)definitionString { }\ }\ },\ + \"GetSnapshotBlockPublicAccessStateRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

\"\ + }\ + }\ + },\ + \"GetSnapshotBlockPublicAccessStateResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"State\":{\ + \"shape\":\"SnapshotBlockPublicAccessState\",\ + \"documentation\":\"

The current state of block public access for snapshots. Possible values include:

  • block-all-sharing - All public sharing of snapshots is blocked. Users in the account can't request new public sharing. Additionally, snapshots that were already publicly shared are treated as private and are not publicly available.

  • block-new-sharing - Only new public sharing of snapshots is blocked. Users in the account can't request new public sharing. However, snapshots that were already publicly shared, remain publicly available.

  • unblocked - Public sharing is not blocked. Users can publicly share snapshots.

\",\ + \"locationName\":\"state\"\ + }\ + }\ + },\ \"GetSpotPlacementScoresRequest\":{\ \"type\":\"structure\",\ \"required\":[\"TargetCapacity\"],\ @@ -31002,7 +31700,7 @@ - (NSString *)definitionString { \"members\":{\ \"Configured\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Set to true to enable your instance for hibernation.

Default: false

\"\ + \"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.

\"\ @@ -31677,7 +32375,7 @@ - (NSString *)definitionString { },\ \"Hypervisor\":{\ \"shape\":\"HypervisorType\",\ - \"documentation\":\"

The hypervisor type of the image.

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

The hypervisor type of the image. Only xen is supported. ovm is not supported.

\",\ \"locationName\":\"hypervisor\"\ },\ \"ImageOwnerAlias\":{\ @@ -31739,6 +32437,11 @@ - (NSString *)definitionString { \"shape\":\"ImdsSupportValues\",\ \"documentation\":\"

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched from this AMI will have HttpTokens automatically set to required so that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. In addition, HttpPutResponseHopLimit is set to 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

\",\ \"locationName\":\"imdsSupport\"\ + },\ + \"SourceInstanceId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This field only appears if the AMI was created using CreateImage.

\",\ + \"locationName\":\"sourceInstanceId\"\ }\ },\ \"documentation\":\"

Describes an image.

\"\ @@ -31831,6 +32534,14 @@ - (NSString *)definitionString { \"imdsSupport\"\ ]\ },\ + \"ImageBlockPublicAccessDisabledState\":{\ + \"type\":\"string\",\ + \"enum\":[\"unblocked\"]\ + },\ + \"ImageBlockPublicAccessEnabledState\":{\ + \"type\":\"string\",\ + \"enum\":[\"block-new-sharing\"]\ + },\ \"ImageDiskContainer\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -31937,7 +32648,8 @@ - (NSString *)definitionString { \"deregistered\",\ \"transient\",\ \"failed\",\ - \"error\"\ + \"error\",\ + \"disabled\"\ ]\ },\ \"ImageTypeValues\":{\ @@ -32085,7 +32797,7 @@ - (NSString *)definitionString { },\ \"BootMode\":{\ \"shape\":\"BootModeValues\",\ - \"documentation\":\"

The boot mode of the virtual machine.

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

The boot mode of the virtual machine.

The uefi-preferred boot mode isn't supported for importing images. For more information, see Boot modes in the VM Import/Export User Guide.

\"\ }\ }\ },\ @@ -33059,6 +33771,33 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Describes an instance.

\"\ },\ + \"InstanceAttachmentEnaSrdSpecification\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"EnaSrdEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether ENA Express is enabled for the network interface.

\",\ + \"locationName\":\"enaSrdEnabled\"\ + },\ + \"EnaSrdUdpSpecification\":{\ + \"shape\":\"InstanceAttachmentEnaSrdUdpSpecification\",\ + \"documentation\":\"

Configures ENA Express for UDP network traffic.

\",\ + \"locationName\":\"enaSrdUdpSpecification\"\ + }\ + },\ + \"documentation\":\"

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

\"\ + },\ + \"InstanceAttachmentEnaSrdUdpSpecification\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"EnaSrdUdpEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

\",\ + \"locationName\":\"enaSrdUdpEnabled\"\ + }\ + },\ + \"documentation\":\"

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

\"\ + },\ \"InstanceAttribute\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -33727,7 +34466,8 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\ \"spot\",\ - \"scheduled\"\ + \"scheduled\",\ + \"capacity-block\"\ ]\ },\ \"InstanceList\":{\ @@ -34051,6 +34791,11 @@ - (NSString *)definitionString { \"shape\":\"Integer\",\ \"documentation\":\"

The index of the network card.

\",\ \"locationName\":\"networkCardIndex\"\ + },\ + \"EnaSrdSpecification\":{\ + \"shape\":\"InstanceAttachmentEnaSrdSpecification\",\ + \"documentation\":\"

Contains the ENA Express settings for the network interface that's attached to the instance.

\",\ + \"locationName\":\"enaSrdSpecification\"\ }\ },\ \"documentation\":\"

Describes a network interface attachment.

\"\ @@ -34160,6 +34905,10 @@ - (NSString *)definitionString { \"PrimaryIpv6\":{\ \"shape\":\"Boolean\",\ \"documentation\":\"

The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.

\"\ + },\ + \"EnaSrdSpecification\":{\ + \"shape\":\"EnaSrdSpecificationRequest\",\ + \"documentation\":\"

Specifies the ENA Express settings for the network interface that's attached to the instance.

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

Describes a network interface.

\"\ @@ -34323,7 +35072,7 @@ - (NSString *)definitionString { \"locationName\":\"allowedInstanceTypeSet\"\ }\ },\ - \"documentation\":\"

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

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

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

  • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

  • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the launch instance wizard or with the RunInstances API, you can't specify InstanceRequirements.

For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

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

The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with these attributes.

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

When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you specify multiple values for an attribute, you get instance types that satisfy any of the specified values.

To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of the following parameters, but not both in the same request:

  • AllowedInstanceTypes - The instance types to include in the list. All other instance types are ignored, even if they match your specified attributes.

  • ExcludedInstanceTypes - The instance types to exclude from the list, even if they match your specified attributes.

If you specify InstanceRequirements, you can't specify InstanceType.

Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in the launch instance wizard or with the RunInstances API, you can't specify InstanceRequirements.

For more information, see Create a mixed instances group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide, and also Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide.

\"\ },\ \"InstanceRequirementsRequest\":{\ \"type\":\"structure\",\ @@ -34455,6 +35204,13 @@ - (NSString *)definitionString { },\ \"documentation\":\"

The architecture type, virtualization type, and other attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types with those attributes.

If you specify InstanceRequirementsWithMetadataRequest, you can't specify InstanceTypes.

\"\ },\ + \"InstanceSet\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"InstanceTopology\",\ + \"locationName\":\"item\"\ + }\ + },\ \"InstanceSpecification\":{\ \"type\":\"structure\",\ \"required\":[\"InstanceId\"],\ @@ -34722,6 +35478,42 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Describes the registered tag keys for the current Region.

\"\ },\ + \"InstanceTopology\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The instance ID.

\",\ + \"locationName\":\"instanceId\"\ + },\ + \"InstanceType\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The instance type.

\",\ + \"locationName\":\"instanceType\"\ + },\ + \"GroupName\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The name of the placement group that the instance is in.

\",\ + \"locationName\":\"groupName\"\ + },\ + \"NetworkNodes\":{\ + \"shape\":\"NetworkNodesList\",\ + \"documentation\":\"

The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same droplet will return a different hashed list of strings.

\",\ + \"locationName\":\"networkNodeSet\"\ + },\ + \"AvailabilityZone\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The name of the Availability Zone or Local Zone that the instance is in.

\",\ + \"locationName\":\"availabilityZone\"\ + },\ + \"ZoneId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The ID of the Availability Zone or Local Zone that the instance is in.

\",\ + \"locationName\":\"zoneId\"\ + }\ + },\ + \"documentation\":\"

Information about the instance topology.

\"\ + },\ \"InstanceType\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -35404,7 +36196,99 @@ - (NSString *)definitionString { \"m7i-flex.xlarge\",\ \"m7i-flex.2xlarge\",\ \"m7i-flex.4xlarge\",\ - \"m7i-flex.8xlarge\"\ + \"m7i-flex.8xlarge\",\ + \"m7a.medium\",\ + \"m7a.large\",\ + \"m7a.xlarge\",\ + \"m7a.2xlarge\",\ + \"m7a.4xlarge\",\ + \"m7a.8xlarge\",\ + \"m7a.12xlarge\",\ + \"m7a.16xlarge\",\ + \"m7a.24xlarge\",\ + \"m7a.32xlarge\",\ + \"m7a.48xlarge\",\ + \"m7a.metal-48xl\",\ + \"hpc7a.12xlarge\",\ + \"hpc7a.24xlarge\",\ + \"hpc7a.48xlarge\",\ + \"hpc7a.96xlarge\",\ + \"c7gd.medium\",\ + \"c7gd.large\",\ + \"c7gd.xlarge\",\ + \"c7gd.2xlarge\",\ + \"c7gd.4xlarge\",\ + \"c7gd.8xlarge\",\ + \"c7gd.12xlarge\",\ + \"c7gd.16xlarge\",\ + \"m7gd.medium\",\ + \"m7gd.large\",\ + \"m7gd.xlarge\",\ + \"m7gd.2xlarge\",\ + \"m7gd.4xlarge\",\ + \"m7gd.8xlarge\",\ + \"m7gd.12xlarge\",\ + \"m7gd.16xlarge\",\ + \"r7gd.medium\",\ + \"r7gd.large\",\ + \"r7gd.xlarge\",\ + \"r7gd.2xlarge\",\ + \"r7gd.4xlarge\",\ + \"r7gd.8xlarge\",\ + \"r7gd.12xlarge\",\ + \"r7gd.16xlarge\",\ + \"r7a.medium\",\ + \"r7a.large\",\ + \"r7a.xlarge\",\ + \"r7a.2xlarge\",\ + \"r7a.4xlarge\",\ + \"r7a.8xlarge\",\ + \"r7a.12xlarge\",\ + \"r7a.16xlarge\",\ + \"r7a.24xlarge\",\ + \"r7a.32xlarge\",\ + \"r7a.48xlarge\",\ + \"c7i.large\",\ + \"c7i.xlarge\",\ + \"c7i.2xlarge\",\ + \"c7i.4xlarge\",\ + \"c7i.8xlarge\",\ + \"c7i.12xlarge\",\ + \"c7i.16xlarge\",\ + \"c7i.24xlarge\",\ + \"c7i.48xlarge\",\ + \"mac2-m2pro.metal\",\ + \"r7iz.large\",\ + \"r7iz.xlarge\",\ + \"r7iz.2xlarge\",\ + \"r7iz.4xlarge\",\ + \"r7iz.8xlarge\",\ + \"r7iz.12xlarge\",\ + \"r7iz.16xlarge\",\ + \"r7iz.32xlarge\",\ + \"c7a.medium\",\ + \"c7a.large\",\ + \"c7a.xlarge\",\ + \"c7a.2xlarge\",\ + \"c7a.4xlarge\",\ + \"c7a.8xlarge\",\ + \"c7a.12xlarge\",\ + \"c7a.16xlarge\",\ + \"c7a.24xlarge\",\ + \"c7a.32xlarge\",\ + \"c7a.48xlarge\",\ + \"c7a.metal-48xl\",\ + \"r7a.metal-48xl\",\ + \"r7i.large\",\ + \"r7i.xlarge\",\ + \"r7i.2xlarge\",\ + \"r7i.4xlarge\",\ + \"r7i.8xlarge\",\ + \"r7i.12xlarge\",\ + \"r7i.16xlarge\",\ + \"r7i.24xlarge\",\ + \"r7i.48xlarge\",\ + \"dl2q.24xlarge\"\ ]\ },\ \"InstanceTypeHypervisor\":{\ @@ -37252,6 +38136,7 @@ - (NSString *)definitionString { \"ed25519\"\ ]\ },\ + \"KmsKeyArn\":{\"type\":\"string\"},\ \"KmsKeyId\":{\"type\":\"string\"},\ \"LastError\":{\ \"type\":\"structure\",\ @@ -37754,6 +38639,33 @@ - (NSString *)definitionString { \"locationName\":\"item\"\ }\ },\ + \"LaunchTemplateEnaSrdSpecification\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"EnaSrdEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether ENA Express is enabled for the network interface.

\",\ + \"locationName\":\"enaSrdEnabled\"\ + },\ + \"EnaSrdUdpSpecification\":{\ + \"shape\":\"LaunchTemplateEnaSrdUdpSpecification\",\ + \"documentation\":\"

Configures ENA Express for UDP network traffic.

\",\ + \"locationName\":\"enaSrdUdpSpecification\"\ + }\ + },\ + \"documentation\":\"

ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances. With ENA Express, you can communicate between two EC2 instances in the same subnet within the same account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.

To improve the reliability of network packet delivery, ENA Express reorders network packets on the receiving end by default. However, some UDP-based applications are designed to handle network packets that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express is enabled, you can specify whether UDP network traffic uses it.

\"\ + },\ + \"LaunchTemplateEnaSrdUdpSpecification\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"EnaSrdUdpEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether UDP traffic to and from the instance uses ENA Express. To specify this setting, you must first enable ENA Express.

\",\ + \"locationName\":\"enaSrdUdpEnabled\"\ + }\ + },\ + \"documentation\":\"

ENA Express is compatible with both TCP and UDP transport protocols. When it's enabled, TCP traffic automatically uses it. However, some UDP-based applications are designed to handle network packets that are out of order, without a need for retransmission, such as live video broadcasting or other near-real-time applications. For UDP traffic, you can specify whether to use ENA Express, based on your application environment needs.

\"\ + },\ \"LaunchTemplateEnclaveOptions\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -38095,6 +39007,11 @@ - (NSString *)definitionString { \"shape\":\"Boolean\",\ \"documentation\":\"

The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.

\",\ \"locationName\":\"primaryIpv6\"\ + },\ + \"EnaSrdSpecification\":{\ + \"shape\":\"LaunchTemplateEnaSrdSpecification\",\ + \"documentation\":\"

Contains the ENA Express settings for instances launched from your launch template.

\",\ + \"locationName\":\"enaSrdSpecification\"\ }\ },\ \"documentation\":\"

Describes a network interface.

\"\ @@ -38191,6 +39108,10 @@ - (NSString *)definitionString { \"PrimaryIpv6\":{\ \"shape\":\"Boolean\",\ \"documentation\":\"

The primary IPv6 address of the network interface. When you enable an IPv6 GUA address to be a primary IPv6, the first IPv6 GUA will be made the primary IPv6 address until the instance is terminated or the network interface is detached. For more information about primary IPv6 addresses, see RunInstances.

\"\ + },\ + \"EnaSrdSpecification\":{\ + \"shape\":\"EnaSrdSpecificationRequest\",\ + \"documentation\":\"

Configure ENA Express settings for your launch template.

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

The parameters for a network interface.

\"\ @@ -38540,7 +39461,7 @@ - (NSString *)definitionString { \"members\":{\ \"ResourceType\":{\ \"shape\":\"ResourceType\",\ - \"documentation\":\"

The type of resource to tag.

The Valid Values are all the resource types that can be tagged. However, when creating a launch template, you can specify tags for the following resource types only: instance | volume | elastic-gpu | network-interface | spot-instances-request

To tag a resource after it has been created, see CreateTags.

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

The type of resource to tag.

Valid Values lists all resource types for Amazon EC2 that can be tagged. When you create a launch template, you can specify tags for the following resource types only: instance | volume | elastic-gpu | network-interface | spot-instances-request. If the instance does not include the resource type that you specify, the instance launch fails. For example, not all instance types include an Elastic GPU.

To tag a resource after it has been created, see CreateTags.

\"\ },\ \"Tags\":{\ \"shape\":\"TagList\",\ @@ -39314,9 +40235,162 @@ - (NSString *)definitionString { \"enum\":[\ \"region\",\ \"availability-zone\",\ - \"availability-zone-id\"\ + \"availability-zone-id\",\ + \"outpost\"\ + ]\ + },\ + \"LockMode\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"compliance\",\ + \"governance\"\ ]\ },\ + \"LockSnapshotRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"SnapshotId\",\ + \"LockMode\"\ + ],\ + \"members\":{\ + \"SnapshotId\":{\ + \"shape\":\"SnapshotId\",\ + \"documentation\":\"

The ID of the snapshot to lock.

\"\ + },\ + \"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.

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

The mode in which to lock the snapshot. Specify one of the following:

  • governance - Locks the snapshot in governance mode. Snapshots locked in governance mode can't be deleted until one of the following conditions are met:

    • The lock duration expires.

    • The snapshot is unlocked by a user with the appropriate permissions.

    Users with the appropriate IAM permissions can unlock the snapshot, increase or decrease the lock duration, and change the lock mode to compliance at any time.

    If you lock a snapshot in governance mode, omit CoolOffPeriod.

  • compliance - Locks the snapshot in compliance mode. Snapshots locked in compliance mode can't be unlocked by any user. They can be deleted only after the lock duration expires. Users can't decrease the lock duration or change the lock mode to governance. However, users with appropriate IAM permissions can increase the lock duration at any time.

    If you lock a snapshot in compliance mode, you can optionally specify CoolOffPeriod.

\"\ + },\ + \"CoolOffPeriod\":{\ + \"shape\":\"CoolOffPeriodRequestHours\",\ + \"documentation\":\"

The cooling-off period during which you can unlock the snapshot or modify the lock settings after locking the snapshot in compliance mode, in hours. After the cooling-off period expires, you can't unlock or delete the snapshot, decrease the lock duration, or change the lock mode. You can increase the lock duration after the cooling-off period expires.

The cooling-off period is optional when locking a snapshot in compliance mode. If you are locking the snapshot in governance mode, omit this parameter.

To lock the snapshot in compliance mode immediately without a cooling-off period, omit this parameter.

If you are extending the lock duration for a snapshot that is locked in compliance mode after the cooling-off period has expired, omit this parameter. If you specify a cooling-period in a such a request, the request fails.

Allowed values: Min 1, max 72.

\"\ + },\ + \"LockDuration\":{\ + \"shape\":\"RetentionPeriodRequestDays\",\ + \"documentation\":\"

The period of time for which to lock the snapshot, in days. The snapshot lock will automatically expire after this period lapses.

You must specify either this parameter or ExpirationDate, but not both.

Allowed values: Min: 1, max 36500

\"\ + },\ + \"ExpirationDate\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The date and time at which the snapshot lock is to automatically expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

You must specify either this parameter or LockDuration, but not both.

\"\ + }\ + }\ + },\ + \"LockSnapshotResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"SnapshotId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The ID of the snapshot

\",\ + \"locationName\":\"snapshotId\"\ + },\ + \"LockState\":{\ + \"shape\":\"LockState\",\ + \"documentation\":\"

The state of the snapshot lock. Valid states include:

  • compliance-cooloff - The snapshot has been locked in compliance mode but it is still within the cooling-off period. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • governance - The snapshot is locked in governance mode. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • compliance - The snapshot is locked in compliance mode and the cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock duration can only be increased by users with appropriate permissions.

  • expired - The snapshot was locked in compliance or governance mode but the lock duration has expired. The snapshot is not locked and can be deleted.

\",\ + \"locationName\":\"lockState\"\ + },\ + \"LockDuration\":{\ + \"shape\":\"RetentionPeriodResponseDays\",\ + \"documentation\":\"

The period of time for which the snapshot is locked, in days.

\",\ + \"locationName\":\"lockDuration\"\ + },\ + \"CoolOffPeriod\":{\ + \"shape\":\"CoolOffPeriodResponseHours\",\ + \"documentation\":\"

The compliance mode cooling-off period, in hours.

\",\ + \"locationName\":\"coolOffPeriod\"\ + },\ + \"CoolOffPeriodExpiresOn\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The date and time at which the compliance mode cooling-off period expires, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

\",\ + \"locationName\":\"coolOffPeriodExpiresOn\"\ + },\ + \"LockCreatedOn\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

\",\ + \"locationName\":\"lockCreatedOn\"\ + },\ + \"LockExpiresOn\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

\",\ + \"locationName\":\"lockExpiresOn\"\ + },\ + \"LockDurationStartTime\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The date and time at which the lock duration started, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

\",\ + \"locationName\":\"lockDurationStartTime\"\ + }\ + }\ + },\ + \"LockState\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"compliance\",\ + \"governance\",\ + \"compliance-cooloff\",\ + \"expired\"\ + ]\ + },\ + \"LockedSnapshotsInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"OwnerId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The account ID of the Amazon Web Services account that owns the snapshot.

\",\ + \"locationName\":\"ownerId\"\ + },\ + \"SnapshotId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The ID of the snapshot.

\",\ + \"locationName\":\"snapshotId\"\ + },\ + \"LockState\":{\ + \"shape\":\"LockState\",\ + \"documentation\":\"

The state of the snapshot lock. Valid states include:

  • compliance-cooloff - The snapshot has been locked in compliance mode but it is still within the cooling-off period. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • governance - The snapshot is locked in governance mode. The snapshot can't be deleted, but it can be unlocked and the lock settings can be modified by users with appropriate permissions.

  • compliance - The snapshot is locked in compliance mode and the cooling-off period has expired. The snapshot can't be unlocked or deleted. The lock duration can only be increased by users with appropriate permissions.

  • expired - The snapshot was locked in compliance or governance mode but the lock duration has expired. The snapshot is not locked and can be deleted.

\",\ + \"locationName\":\"lockState\"\ + },\ + \"LockDuration\":{\ + \"shape\":\"RetentionPeriodResponseDays\",\ + \"documentation\":\"

The period of time for which the snapshot is locked, in days.

\",\ + \"locationName\":\"lockDuration\"\ + },\ + \"CoolOffPeriod\":{\ + \"shape\":\"CoolOffPeriodResponseHours\",\ + \"documentation\":\"

The compliance mode cooling-off period, in hours.

\",\ + \"locationName\":\"coolOffPeriod\"\ + },\ + \"CoolOffPeriodExpiresOn\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The date and time at which the compliance mode cooling-off period expires, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

\",\ + \"locationName\":\"coolOffPeriodExpiresOn\"\ + },\ + \"LockCreatedOn\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The date and time at which the snapshot was locked, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

\",\ + \"locationName\":\"lockCreatedOn\"\ + },\ + \"LockDurationStartTime\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The date and time at which the lock duration started, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

If you lock a snapshot that is in the pending state, the lock duration starts only once the snapshot enters the completed state.

\",\ + \"locationName\":\"lockDurationStartTime\"\ + },\ + \"LockExpiresOn\":{\ + \"shape\":\"MillisecondDateTime\",\ + \"documentation\":\"

The date and time at which the lock will expire, in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ).

\",\ + \"locationName\":\"lockExpiresOn\"\ + }\ + },\ + \"documentation\":\"

Information about a locked snapshot.

\"\ + },\ + \"LockedSnapshotsInfoList\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"LockedSnapshotsInfo\",\ + \"locationName\":\"item\"\ + }\ + },\ \"LogDestinationType\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -39412,7 +40486,10 @@ - (NSString *)definitionString { },\ \"MarketType\":{\ \"type\":\"string\",\ - \"enum\":[\"spot\"]\ + \"enum\":[\ + \"spot\",\ + \"capacity-block\"\ + ]\ },\ \"MaxIpv4AddrPerInterface\":{\"type\":\"integer\"},\ \"MaxIpv6AddrPerInterface\":{\"type\":\"integer\"},\ @@ -41442,10 +42519,7 @@ - (NSString *)definitionString { },\ \"ModifyVerifiedAccessEndpointPolicyRequest\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"VerifiedAccessEndpointId\",\ - \"PolicyEnabled\"\ - ],\ + \"required\":[\"VerifiedAccessEndpointId\"],\ \"members\":{\ \"VerifiedAccessEndpointId\":{\ \"shape\":\"VerifiedAccessEndpointId\",\ @@ -41467,6 +42541,10 @@ - (NSString *)definitionString { \"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.

\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationRequest\",\ + \"documentation\":\"

The options for server side encryption.

\"\ }\ }\ },\ @@ -41482,6 +42560,11 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"

The Verified Access policy document.

\",\ \"locationName\":\"policyDocument\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationResponse\",\ + \"documentation\":\"

The options in use for server side encryption.

\",\ + \"locationName\":\"sseSpecification\"\ }\ }\ },\ @@ -41525,7 +42608,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessEndpoint\":{\ \"shape\":\"VerifiedAccessEndpoint\",\ - \"documentation\":\"

The Verified Access endpoint details.

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

Details about the Verified Access endpoint.

\",\ \"locationName\":\"verifiedAccessEndpoint\"\ }\ }\ @@ -41539,10 +42622,7 @@ - (NSString *)definitionString { },\ \"ModifyVerifiedAccessGroupPolicyRequest\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"VerifiedAccessGroupId\",\ - \"PolicyEnabled\"\ - ],\ + \"required\":[\"VerifiedAccessGroupId\"],\ \"members\":{\ \"VerifiedAccessGroupId\":{\ \"shape\":\"VerifiedAccessGroupId\",\ @@ -41564,6 +42644,10 @@ - (NSString *)definitionString { \"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.

\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationRequest\",\ + \"documentation\":\"

The options for server side encryption.

\"\ }\ }\ },\ @@ -41579,6 +42663,11 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"documentation\":\"

The Verified Access policy document.

\",\ \"locationName\":\"policyDocument\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationResponse\",\ + \"documentation\":\"

The options in use for server side encryption.

\",\ + \"locationName\":\"sseSpecification\"\ }\ }\ },\ @@ -41614,7 +42703,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessGroup\":{\ \"shape\":\"VerifiedAccessGroup\",\ - \"documentation\":\"

Details of Verified Access group.

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

Details about the Verified Access group.

\",\ \"locationName\":\"verifiedAccessGroup\"\ }\ }\ @@ -41683,11 +42772,21 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessInstance\":{\ \"shape\":\"VerifiedAccessInstance\",\ - \"documentation\":\"

The ID of the Verified Access instance.

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

Details about the Verified Access instance.

\",\ \"locationName\":\"verifiedAccessInstance\"\ }\ }\ },\ + \"ModifyVerifiedAccessTrustProviderDeviceOptions\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"PublicSigningKeyUrl\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The URL Amazon Web Services Verified Access will use to verify the authenticity of the device tokens.

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

Modifies the configuration of the specified device-based Amazon Web Services Verified Access trust provider.

\"\ + },\ \"ModifyVerifiedAccessTrustProviderOidcOptions\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -41734,6 +42833,10 @@ - (NSString *)definitionString { \"shape\":\"ModifyVerifiedAccessTrustProviderOidcOptions\",\ \"documentation\":\"

The options for an OpenID Connect-compatible user-identity trust provider.

\"\ },\ + \"DeviceOptions\":{\ + \"shape\":\"ModifyVerifiedAccessTrustProviderDeviceOptions\",\ + \"documentation\":\"

The options for a device-based trust provider. This parameter is required when the provider type is device.

\"\ + },\ \"Description\":{\ \"shape\":\"String\",\ \"documentation\":\"

A description for the Verified Access trust provider.

\"\ @@ -41746,6 +42849,10 @@ - (NSString *)definitionString { \"shape\":\"String\",\ \"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\":{\ + \"shape\":\"VerifiedAccessSseSpecificationRequest\",\ + \"documentation\":\"

The options for server side encryption.

\"\ }\ }\ },\ @@ -41754,7 +42861,7 @@ - (NSString *)definitionString { \"members\":{\ \"VerifiedAccessTrustProvider\":{\ \"shape\":\"VerifiedAccessTrustProvider\",\ - \"documentation\":\"

The ID of the Verified Access trust provider.

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

Details about the Verified Access trust provider.

\",\ \"locationName\":\"verifiedAccessTrustProvider\"\ }\ }\ @@ -42291,7 +43398,7 @@ - (NSString *)definitionString { },\ \"SkipTunnelReplacement\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Choose whether or not to trigger immediate tunnel replacement.

Valid values: True | False

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

Choose whether or not to trigger immediate tunnel replacement. This is only applicable when turning on or off EnableTunnelLifecycleControl.

Valid values: True | False

\"\ }\ }\ },\ @@ -42342,7 +43449,7 @@ - (NSString *)definitionString { },\ \"DPDTimeoutSeconds\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The number of seconds after which a DPD timeout occurs.

Constraints: A value greater than or equal to 30.

Default: 30

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

The number of seconds after which a DPD timeout occurs. A DPD timeout of 40 seconds means that the VPN endpoint will consider the peer dead 30 seconds after the first failed keep-alive.

Constraints: A value greater than or equal to 30.

Default: 40

\"\ },\ \"DPDTimeoutAction\":{\ \"shape\":\"String\",\ @@ -43799,6 +44906,13 @@ - (NSString *)definitionString { \"aws_codestar_connections_managed\"\ ]\ },\ + \"NetworkNodesList\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"String\",\ + \"locationName\":\"item\"\ + }\ + },\ \"NetworkPerformance\":{\"type\":\"string\"},\ \"NewDhcpConfiguration\":{\ \"type\":\"structure\",\ @@ -43965,7 +45079,7 @@ - (NSString *)definitionString { },\ \"MaxTotalPrice\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The maximum amount per hour for On-Demand Instances that you're willing to pay.

\",\ + \"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.

\",\ \"locationName\":\"maxTotalPrice\"\ }\ },\ @@ -43996,7 +45110,7 @@ - (NSString *)definitionString { },\ \"MaxTotalPrice\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The maximum amount per hour for On-Demand Instances that you're willing to pay.

\"\ + \"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\":\"

Describes the configuration of On-Demand Instances in an EC2 Fleet.

\"\ @@ -44124,6 +45238,10 @@ - (NSString *)definitionString { \"monthly\"\ ]\ },\ + \"PasswordData\":{\ + \"type\":\"string\",\ + \"sensitive\":true\ + },\ \"PathComponent\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -45721,6 +46839,42 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Describes the result of the purchase.

\"\ },\ + \"PurchaseCapacityBlockRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"CapacityBlockOfferingId\",\ + \"InstancePlatform\"\ + ],\ + \"members\":{\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

\"\ + },\ + \"TagSpecifications\":{\ + \"shape\":\"TagSpecificationList\",\ + \"documentation\":\"

The tags to apply to the Capacity Block during launch.

\",\ + \"locationName\":\"TagSpecification\"\ + },\ + \"CapacityBlockOfferingId\":{\ + \"shape\":\"OfferingId\",\ + \"documentation\":\"

The ID of the Capacity Block offering.

\"\ + },\ + \"InstancePlatform\":{\ + \"shape\":\"CapacityReservationInstancePlatform\",\ + \"documentation\":\"

The type of operating system for which to reserve capacity.

\"\ + }\ + }\ + },\ + \"PurchaseCapacityBlockResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"CapacityReservation\":{\ + \"shape\":\"CapacityReservation\",\ + \"documentation\":\"

The Capacity Reservation.

\",\ + \"locationName\":\"capacityReservation\"\ + }\ + }\ + },\ \"PurchaseHostReservationRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -46389,7 +47543,7 @@ - (NSString *)definitionString { },\ \"NetworkBorderGroup\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.

If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you receive an InvalidParameterCombination error.

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

The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.

If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -47092,17 +48246,17 @@ - (NSString *)definitionString { },\ \"ElasticInferenceAccelerators\":{\ \"shape\":\"LaunchTemplateElasticInferenceAcceleratorList\",\ - \"documentation\":\"

The elastic inference accelerator for the instance.

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

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

\",\ \"locationName\":\"ElasticInferenceAccelerator\"\ },\ \"SecurityGroupIds\":{\ \"shape\":\"SecurityGroupIdStringList\",\ - \"documentation\":\"

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.

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

One or more security group IDs. You can create a security group using CreateSecurityGroup.

\",\ \"locationName\":\"SecurityGroupId\"\ },\ \"SecurityGroups\":{\ \"shape\":\"SecurityGroupStringList\",\ - \"documentation\":\"

One or more security group names. For a nondefault VPC, you must use security group IDs instead. You cannot specify both a security group ID and security name in the same request.

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

One or more security group names. For a nondefault VPC, you must use security group IDs instead.

\",\ \"locationName\":\"SecurityGroup\"\ },\ \"InstanceMarketOptions\":{\ @@ -48372,7 +49526,7 @@ - (NSString *)definitionString { },\ \"ElasticInferenceAccelerators\":{\ \"shape\":\"LaunchTemplateElasticInferenceAcceleratorResponseList\",\ - \"documentation\":\"

The elastic inference accelerator for the instance.

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

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

\",\ \"locationName\":\"elasticInferenceAcceleratorSet\"\ },\ \"SecurityGroupIds\":{\ @@ -48670,6 +49824,12 @@ - (NSString *)definitionString { \"max\":500,\ \"min\":20\ },\ + \"RetentionPeriodRequestDays\":{\ + \"type\":\"integer\",\ + \"max\":36500,\ + \"min\":1\ + },\ + \"RetentionPeriodResponseDays\":{\"type\":\"integer\"},\ \"RevokeClientVpnIngressRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -49464,13 +50624,21 @@ - (NSString *)definitionString { \"locationName\":\"uploadPolicy\"\ },\ \"UploadPolicySignature\":{\ - \"shape\":\"String\",\ + \"shape\":\"S3StorageUploadPolicySignature\",\ \"documentation\":\"

The signature of the JSON document.

\",\ \"locationName\":\"uploadPolicySignature\"\ }\ },\ \"documentation\":\"

Describes the storage parameters for Amazon S3 and Amazon S3 buckets for an instance store-backed AMI.

\"\ },\ + \"S3StorageUploadPolicy\":{\ + \"type\":\"string\",\ + \"sensitive\":true\ + },\ + \"S3StorageUploadPolicySignature\":{\ + \"type\":\"string\",\ + \"sensitive\":true\ + },\ \"SSEType\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -50148,6 +51316,49 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Describes a security group.

\"\ },\ + \"SecurityGroupForVpc\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Description\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The security group's description.

\",\ + \"locationName\":\"description\"\ + },\ + \"GroupName\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The security group name.

\",\ + \"locationName\":\"groupName\"\ + },\ + \"OwnerId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The security group owner ID.

\",\ + \"locationName\":\"ownerId\"\ + },\ + \"GroupId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The security group ID.

\",\ + \"locationName\":\"groupId\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagList\",\ + \"documentation\":\"

The security group tags.

\",\ + \"locationName\":\"tagSet\"\ + },\ + \"PrimaryVpcId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The VPC ID in which the security group was created.

\",\ + \"locationName\":\"primaryVpcId\"\ + }\ + },\ + \"documentation\":\"

A security group that can be used by interfaces in the VPC.

\"\ + },\ + \"SecurityGroupForVpcList\":{\ + \"type\":\"list\",\ + \"member\":{\ + \"shape\":\"SecurityGroupForVpc\",\ + \"locationName\":\"item\"\ + }\ + },\ \"SecurityGroupId\":{\"type\":\"string\"},\ \"SecurityGroupIdList\":{\ \"type\":\"list\",\ @@ -50795,6 +52006,14 @@ - (NSString *)definitionString { \"createVolumePermission\"\ ]\ },\ + \"SnapshotBlockPublicAccessState\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"block-all-sharing\",\ + \"block-new-sharing\",\ + \"unblocked\"\ + ]\ + },\ \"SnapshotDetail\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -51422,12 +52641,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.

\",\ + \"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.

\",\ \"locationName\":\"onDemandMaxTotalPrice\"\ },\ \"SpotMaxTotalPrice\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotdMaxTotalPrice 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.

\",\ + \"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.

\",\ \"locationName\":\"spotMaxTotalPrice\"\ },\ \"TerminateInstancesWithExpiration\":{\ @@ -51482,7 +52701,7 @@ - (NSString *)definitionString { },\ \"TagSpecifications\":{\ \"shape\":\"TagSpecificationList\",\ - \"documentation\":\"

The key-value pair for tagging the Spot Fleet request on creation. The value for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the launch template (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification (valid only if you use LaunchSpecifications). For information about tagging after launch, see Tagging Your Resources.

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

The key-value pair for tagging the Spot Fleet request on creation. The value for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the launch template (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification (valid only if you use LaunchSpecifications). For information about tagging after launch, see Tag your resources.

\",\ \"locationName\":\"TagSpecification\"\ }\ },\ @@ -51737,7 +52956,7 @@ - (NSString *)definitionString { },\ \"InstanceInterruptionBehavior\":{\ \"shape\":\"InstanceInterruptionBehavior\",\ - \"documentation\":\"

The behavior when a Spot Instance is interrupted. The default is terminate.

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

The behavior when a Spot Instance is interrupted.

If Configured (for HibernationOptions ) is set to true, the InstanceInterruptionBehavior parameter is automatically set to hibernate. If you set it to stop or terminate, you'll get an error.

If Configured (for HibernationOptions ) is set to false or null, the InstanceInterruptionBehavior parameter is automatically set to terminate. You can also set it to stop or hibernate.

For more information, see Interruption behavior in the Amazon EC2 User Guide.

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

The options for Spot Instances.

\"\ @@ -51782,7 +53001,7 @@ - (NSString *)definitionString { },\ \"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.

\",\ + \"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.

\",\ \"locationName\":\"maxTotalPrice\"\ }\ },\ @@ -51821,7 +53040,7 @@ - (NSString *)definitionString { },\ \"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.

\"\ + \"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\":\"

Describes the configuration of Spot Instances in an EC2 Fleet request.

\"\ @@ -55581,6 +56800,30 @@ - (NSString *)definitionString { \"t4g\"\ ]\ },\ + \"UnlockSnapshotRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"SnapshotId\"],\ + \"members\":{\ + \"SnapshotId\":{\ + \"shape\":\"SnapshotId\",\ + \"documentation\":\"

The ID of the snapshot to unlock.

\"\ + },\ + \"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.

\"\ + }\ + }\ + },\ + \"UnlockSnapshotResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"SnapshotId\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The ID of the snapshot.

\",\ + \"locationName\":\"snapshotId\"\ + }\ + }\ + },\ \"UnmonitorInstancesRequest\":{\ \"type\":\"structure\",\ \"required\":[\"InstanceIds\"],\ @@ -55777,7 +57020,8 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\ \"spot\",\ - \"on-demand\"\ + \"on-demand\",\ + \"capacity-block\"\ ]\ },\ \"UsageClassTypeList\":{\ @@ -56094,6 +57338,11 @@ - (NSString *)definitionString { \"shape\":\"TagList\",\ \"documentation\":\"

The tags.

\",\ \"locationName\":\"tagSet\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationResponse\",\ + \"documentation\":\"

The options in use for server side encryption.

\",\ + \"locationName\":\"sseSpecification\"\ }\ },\ \"documentation\":\"

An Amazon Web Services Verified Access endpoint specifies the application that Amazon Web Services Verified Access provides access to. It must be attached to an Amazon Web Services Verified Access group. An Amazon Web Services Verified Access endpoint must also have an attached access policy before you attached it to a group.

\"\ @@ -56263,6 +57512,11 @@ - (NSString *)definitionString { \"shape\":\"TagList\",\ \"documentation\":\"

The tags.

\",\ \"locationName\":\"tagSet\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationResponse\",\ + \"documentation\":\"

The options in use for server side encryption.

\",\ + \"locationName\":\"sseSpecification\"\ }\ },\ \"documentation\":\"

Describes a Verified Access group.

\"\ @@ -56314,6 +57568,11 @@ - (NSString *)definitionString { \"shape\":\"TagList\",\ \"documentation\":\"

The tags.

\",\ \"locationName\":\"tagSet\"\ + },\ + \"FipsEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.

\",\ + \"locationName\":\"fipsEnabled\"\ }\ },\ \"documentation\":\"

Describes a Verified Access instance.

\"\ @@ -56468,11 +57727,11 @@ - (NSString *)definitionString { },\ \"LogVersion\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The logging version to use.

Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2

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

The logging version.

Valid values: ocsf-0.1 | ocsf-1.0.0-rc.2

\"\ },\ \"IncludeTrustContext\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Include trust data sent by trust providers into the logs.

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

Indicates whether to include trust data sent by trust providers in the logs.

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

Options for Verified Access logs.

\"\ @@ -56551,17 +57810,47 @@ - (NSString *)definitionString { },\ \"LogVersion\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Describes current setting for the logging version.

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

The log version.

\",\ \"locationName\":\"logVersion\"\ },\ \"IncludeTrustContext\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Describes current setting for including trust data into the logs.

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

Indicates whether trust data is included in the logs.

\",\ \"locationName\":\"includeTrustContext\"\ }\ },\ \"documentation\":\"

Describes the options for Verified Access logs.

\"\ },\ + \"VerifiedAccessSseSpecificationRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"CustomerManagedKeyEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Enable or disable the use of customer managed KMS keys for server side encryption.

Valid values: True | False

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

The ARN of the KMS key.

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

Verified Access provides server side encryption by default to data at rest using Amazon Web Services-owned KMS keys. You also have the option of using customer managed KMS keys, which can be specified using the options below.

\"\ + },\ + \"VerifiedAccessSseSpecificationResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"CustomerManagedKeyEnabled\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether customer managed KMS keys are in use for server side encryption.

Valid values: True | False

\",\ + \"locationName\":\"customerManagedKeyEnabled\"\ + },\ + \"KmsKeyArn\":{\ + \"shape\":\"KmsKeyArn\",\ + \"documentation\":\"

The ARN of the KMS key.

\",\ + \"locationName\":\"kmsKeyArn\"\ + }\ + },\ + \"documentation\":\"

The options in use for server side encryption.

\"\ + },\ \"VerifiedAccessTrustProvider\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -56619,6 +57908,11 @@ - (NSString *)definitionString { \"shape\":\"TagList\",\ \"documentation\":\"

The tags.

\",\ \"locationName\":\"tagSet\"\ + },\ + \"SseSpecification\":{\ + \"shape\":\"VerifiedAccessSseSpecificationResponse\",\ + \"documentation\":\"

The options in use for server side encryption.

\",\ + \"locationName\":\"sseSpecification\"\ }\ },\ \"documentation\":\"

Describes a Verified Access trust provider.

\"\ @@ -56698,7 +57992,7 @@ - (NSString *)definitionString { },\ \"LastStatusChange\":{\ \"shape\":\"DateTime\",\ - \"documentation\":\"

The date and time of the last change in status.

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

The date and time of the last change in status. This field is updated when changes in IKE (Phase 1), IPSec (Phase 2), or BGP status are detected.

\",\ \"locationName\":\"lastStatusChange\"\ },\ \"OutsideIpAddress\":{\ diff --git a/AWSEC2/AWSEC2Service.h b/AWSEC2/AWSEC2Service.h index 9d1b811da06..867b9ed0eca 100644 --- a/AWSEC2/AWSEC2Service.h +++ b/AWSEC2/AWSEC2Service.h @@ -722,7 +722,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)associateIpamResourceDiscovery:(AWSEC2AssociateIpamResourceDiscoveryRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2AssociateIpamResourceDiscoveryResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

+

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the EIP will fail to associate. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AssociateNatGatewayAddress service method. @@ -734,7 +734,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)associateNatGatewayAddress:(AWSEC2AssociateNatGatewayAddressRequest *)request; /** -

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

+

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the EIP will fail to associate. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the AssociateNatGatewayAddress service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2313,7 +2313,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createManagedPrefixList:(AWSEC2CreateManagedPrefixListRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateManagedPrefixListResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

+

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

When you create a public NAT gateway and assign it an EIP or secondary EIPs, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the NAT gateway will fail to launch. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the CreateNatGateway service method. @@ -2325,7 +2325,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createNatGateway:(AWSEC2CreateNatGatewayRequest *)request; /** -

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

+

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

When you create a public NAT gateway and assign it an EIP or secondary EIPs, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the NAT gateway will fail to launch. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

@param request A container for the necessary parameters to execute the CreateNatGateway service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3999,22 +3999,25 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; @param request A container for the necessary parameters to execute the DeleteKeyPair service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DeleteKeyPairResult`. @see AWSEC2DeleteKeyPairRequest + @see AWSEC2DeleteKeyPairResult */ -- (AWSTask *)deleteKeyPair:(AWSEC2DeleteKeyPairRequest *)request; +- (AWSTask *)deleteKeyPair:(AWSEC2DeleteKeyPairRequest *)request; /**

Deletes the specified key pair, by removing the public key from Amazon EC2.

@param request A container for the necessary parameters to execute the DeleteKeyPair 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 AWSEC2DeleteKeyPairRequest + @see AWSEC2DeleteKeyPairResult */ -- (void)deleteKeyPair:(AWSEC2DeleteKeyPairRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; +- (void)deleteKeyPair:(AWSEC2DeleteKeyPairRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteKeyPairResult * _Nullable response, NSError * _Nullable error))completionHandler; /**

Deletes a launch template. Deleting a launch template deletes all of its versions.

@@ -5156,7 +5159,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteVolume:(AWSEC2DeleteVolumeRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

+

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on. When you delete the VPC, it deletes the VPC's default security group, network ACL, and route table.

@param request A container for the necessary parameters to execute the DeleteVpc service method. @@ -5167,7 +5170,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteVpc:(AWSEC2DeleteVpcRequest *)request; /** -

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

+

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on. When you delete the VPC, it deletes the VPC's default security group, network ACL, and route table.

@param request A container for the necessary parameters to execute the DeleteVpc service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5253,7 +5256,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteVpcEndpoints:(AWSEC2DeleteVpcEndpointsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteVpcEndpointsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed state.

+

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed or rejected state.

@param request A container for the necessary parameters to execute the DeleteVpcPeeringConnection service method. @@ -5265,7 +5268,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteVpcPeeringConnection:(AWSEC2DeleteVpcPeeringConnectionRequest *)request; /** -

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed state.

+

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed or rejected state.

@param request A container for the necessary parameters to execute the DeleteVpcPeeringConnection service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5740,6 +5743,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)describeByoipCidrs:(AWSEC2DescribeByoipCidrsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeByoipCidrsResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Describes Capacity Block offerings available for purchase. With Capacity Blocks, you purchase a specific instance type for a period of time.

+ + @param request A container for the necessary parameters to execute the DescribeCapacityBlockOfferings service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DescribeCapacityBlockOfferingsResult`. + + @see AWSEC2DescribeCapacityBlockOfferingsRequest + @see AWSEC2DescribeCapacityBlockOfferingsResult + */ +- (AWSTask *)describeCapacityBlockOfferings:(AWSEC2DescribeCapacityBlockOfferingsRequest *)request; + +/** +

Describes Capacity Block offerings available for purchase. With Capacity Blocks, you purchase a specific instance type for a period of time.

+ + @param request A container for the necessary parameters to execute the DescribeCapacityBlockOfferings service method. + @param completionHandler The completion handler to call when the load request is complete. + `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 AWSEC2DescribeCapacityBlockOfferingsRequest + @see AWSEC2DescribeCapacityBlockOfferingsResult + */ +- (void)describeCapacityBlockOfferings:(AWSEC2DescribeCapacityBlockOfferingsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeCapacityBlockOfferingsResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Describes one or more Capacity Reservation Fleets.

@@ -6166,7 +6194,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeExportTasks:(AWSEC2DescribeExportTasksRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeExportTasksResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describe details for Windows AMIs that are configured for faster launching.

+

Describe details for Windows AMIs that are configured for Windows fast launch.

@param request A container for the necessary parameters to execute the DescribeFastLaunchImages service method. @@ -6178,7 +6206,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeFastLaunchImages:(AWSEC2DescribeFastLaunchImagesRequest *)request; /** -

Describe details for Windows AMIs that are configured for faster launching.

+

Describe details for Windows AMIs that are configured for Windows fast launch.

@param request A container for the necessary parameters to execute the DescribeFastLaunchImages service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6765,6 +6793,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)describeInstanceStatus:(AWSEC2DescribeInstanceStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstanceStatusResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Describes a tree-based hierarchy that represents the physical host placement of your EC2 instances within an Availability Zone or Local Zone. You can use this information to determine the relative proximity of your EC2 instances within the Amazon Web Services network to support your tightly coupled workloads.

Limitations

  • Supported zones

    • Availability Zone

    • Local Zone

  • Supported instance types

    • hpc6a.48xlarge | hpc6id.32xlarge | hpc7a.12xlarge | hpc7a.24xlarge | hpc7a.48xlarge | hpc7a.96xlarge | hpc7g.4xlarge | hpc7g.8xlarge | hpc7g.16xlarge

    • p3dn.24xlarge | p4d.24xlarge | p4de.24xlarge | p5.48xlarge

    • trn1.2xlarge | trn1.32xlarge | trn1n.32xlarge

For more information, see Amazon EC2 instance topology in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DescribeInstanceTopology service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DescribeInstanceTopologyResult`. + + @see AWSEC2DescribeInstanceTopologyRequest + @see AWSEC2DescribeInstanceTopologyResult + */ +- (AWSTask *)describeInstanceTopology:(AWSEC2DescribeInstanceTopologyRequest *)request; + +/** +

Describes a tree-based hierarchy that represents the physical host placement of your EC2 instances within an Availability Zone or Local Zone. You can use this information to determine the relative proximity of your EC2 instances within the Amazon Web Services network to support your tightly coupled workloads.

Limitations

  • Supported zones

    • Availability Zone

    • Local Zone

  • Supported instance types

    • hpc6a.48xlarge | hpc6id.32xlarge | hpc7a.12xlarge | hpc7a.24xlarge | hpc7a.48xlarge | hpc7a.96xlarge | hpc7g.4xlarge | hpc7g.8xlarge | hpc7g.16xlarge

    • p3dn.24xlarge | p4d.24xlarge | p4de.24xlarge | p5.48xlarge

    • trn1.2xlarge | trn1.32xlarge | trn1n.32xlarge

For more information, see Amazon EC2 instance topology in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DescribeInstanceTopology 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 AWSEC2DescribeInstanceTopologyRequest + @see AWSEC2DescribeInstanceTopologyResult + */ +- (void)describeInstanceTopology:(AWSEC2DescribeInstanceTopologyRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstanceTopologyResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Returns a list of all instance types offered. The results can be filtered by location (Region or Availability Zone). If no location is specified, the instance types offered in the current Region are returned.

@@ -7240,6 +7293,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)describeLocalGateways:(AWSEC2DescribeLocalGatewaysRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeLocalGatewaysResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Describes the lock status for a snapshot.

+ + @param request A container for the necessary parameters to execute the DescribeLockedSnapshots service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DescribeLockedSnapshotsResult`. + + @see AWSEC2DescribeLockedSnapshotsRequest + @see AWSEC2DescribeLockedSnapshotsResult + */ +- (AWSTask *)describeLockedSnapshots:(AWSEC2DescribeLockedSnapshotsRequest *)request; + +/** +

Describes the lock status for a snapshot.

+ + @param request A container for the necessary parameters to execute the DescribeLockedSnapshots 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 AWSEC2DescribeLockedSnapshotsRequest + @see AWSEC2DescribeLockedSnapshotsResult + */ +- (void)describeLockedSnapshots:(AWSEC2DescribeLockedSnapshotsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeLockedSnapshotsResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Describes your managed prefix lists and any Amazon Web Services-managed prefix lists.

To view the entries for your prefix list, use GetManagedPrefixListEntries.

@@ -7491,7 +7569,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeNetworkInterfacePermissions:(AWSEC2DescribeNetworkInterfacePermissionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeNetworkInterfacePermissionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes one or more of your network interfaces.

+

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

@param request A container for the necessary parameters to execute the DescribeNetworkInterfaces service method. @@ -7503,7 +7581,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeNetworkInterfaces:(AWSEC2DescribeNetworkInterfacesRequest *)request; /** -

Describes one or more of your network interfaces.

+

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

@param request A container for the necessary parameters to execute the DescribeNetworkInterfaces service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9357,7 +9435,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)disableEbsEncryptionByDefault:(AWSEC2DisableEbsEncryptionByDefaultRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableEbsEncryptionByDefaultResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. When you disable faster launching, the AMI uses the standard launch process for each instance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

To change these settings, you must own the AMI.

+

Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned snapshots. After you disable Windows fast launch, the AMI uses the standard launch process for each new instance. Amazon EC2 must remove all pre-provisioned snapshots before you can enable Windows fast launch again.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

@param request A container for the necessary parameters to execute the DisableFastLaunch service method. @@ -9369,7 +9447,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)disableFastLaunch:(AWSEC2DisableFastLaunchRequest *)request; /** -

Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. When you disable faster launching, the AMI uses the standard launch process for each instance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

To change these settings, you must own the AMI.

+

Discontinue Windows fast launch for a Windows AMI, and clean up existing pre-provisioned snapshots. After you disable Windows fast launch, the AMI uses the standard launch process for each new instance. Amazon EC2 must remove all pre-provisioned snapshots before you can enable Windows fast launch again.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

@param request A container for the necessary parameters to execute the DisableFastLaunch service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9406,6 +9484,56 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)disableFastSnapshotRestores:(AWSEC2DisableFastSnapshotRestoresRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableFastSnapshotRestoresResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Sets the AMI state to disabled and removes all launch permissions from the AMI. A disabled AMI can't be used for instance launches.

A disabled AMI can't be shared. If an AMI was public or previously shared, it is made private. If an AMI was shared with an Amazon Web Services account, organization, or Organizational Unit, they lose access to the disabled AMI.

A disabled AMI does not appear in DescribeImages API calls by default.

Only the AMI owner can disable an AMI.

You can re-enable a disabled AMI using EnableImage.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DisableImage service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DisableImageResult`. + + @see AWSEC2DisableImageRequest + @see AWSEC2DisableImageResult + */ +- (AWSTask *)disableImage:(AWSEC2DisableImageRequest *)request; + +/** +

Sets the AMI state to disabled and removes all launch permissions from the AMI. A disabled AMI can't be used for instance launches.

A disabled AMI can't be shared. If an AMI was public or previously shared, it is made private. If an AMI was shared with an Amazon Web Services account, organization, or Organizational Unit, they lose access to the disabled AMI.

A disabled AMI does not appear in DescribeImages API calls by default.

Only the AMI owner can disable an AMI.

You can re-enable a disabled AMI using EnableImage.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DisableImage 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 AWSEC2DisableImageRequest + @see AWSEC2DisableImageResult + */ +- (void)disableImage:(AWSEC2DisableImageRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableImageResult * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Disables block public access for AMIs at the account level in the specified Amazon Web Services Region. This removes the block public access restriction from your account. With the restriction removed, you can publicly share your AMIs in the specified Amazon Web Services Region.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be block-new-sharing. When the API has completed the configuration, the response will be unblocked.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DisableImageBlockPublicAccess service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DisableImageBlockPublicAccessResult`. + + @see AWSEC2DisableImageBlockPublicAccessRequest + @see AWSEC2DisableImageBlockPublicAccessResult + */ +- (AWSTask *)disableImageBlockPublicAccess:(AWSEC2DisableImageBlockPublicAccessRequest *)request; + +/** +

Disables block public access for AMIs at the account level in the specified Amazon Web Services Region. This removes the block public access restriction from your account. With the restriction removed, you can publicly share your AMIs in the specified Amazon Web Services Region.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be block-new-sharing. When the API has completed the configuration, the response will be unblocked.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DisableImageBlockPublicAccess 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 AWSEC2DisableImageBlockPublicAccessRequest + @see AWSEC2DisableImageBlockPublicAccessResult + */ +- (void)disableImageBlockPublicAccess:(AWSEC2DisableImageBlockPublicAccessRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableImageBlockPublicAccessResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Cancels the deprecation of the specified AMI.

For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

@@ -9481,6 +9609,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)disableSerialConsoleAccess:(AWSEC2DisableSerialConsoleAccessRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableSerialConsoleAccessResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide .

+ + @param request A container for the necessary parameters to execute the DisableSnapshotBlockPublicAccess service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DisableSnapshotBlockPublicAccessResult`. + + @see AWSEC2DisableSnapshotBlockPublicAccessRequest + @see AWSEC2DisableSnapshotBlockPublicAccessResult + */ +- (AWSTask *)disableSnapshotBlockPublicAccess:(AWSEC2DisableSnapshotBlockPublicAccessRequest *)request; + +/** +

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide .

+ + @param request A container for the necessary parameters to execute the DisableSnapshotBlockPublicAccess service method. + @param completionHandler The completion handler to call when the load request is complete. + `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 AWSEC2DisableSnapshotBlockPublicAccessRequest + @see AWSEC2DisableSnapshotBlockPublicAccessResult + */ +- (void)disableSnapshotBlockPublicAccess:(AWSEC2DisableSnapshotBlockPublicAccessRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableSnapshotBlockPublicAccessResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Disables the specified resource attachment from propagating routes to the specified propagation route table.

@@ -9998,7 +10151,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)enableEbsEncryptionByDefault:(AWSEC2EnableEbsEncryptionByDefaultRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableEbsEncryptionByDefaultResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

When you enable faster launching for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a set of reserved snapshots that are used for subsequent launches. The reserved snapshots are automatically replenished as they are used, depending on your settings for launch frequency.

To change these settings, you must own the AMI.

+

When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a set of reserved snapshots that are used for subsequent launches. The reserved snapshots are automatically replenished as they are used, depending on your settings for launch frequency.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

@param request A container for the necessary parameters to execute the EnableFastLaunch service method. @@ -10010,7 +10163,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)enableFastLaunch:(AWSEC2EnableFastLaunchRequest *)request; /** -

When you enable faster launching for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a set of reserved snapshots that are used for subsequent launches. The reserved snapshots are automatically replenished as they are used, depending on your settings for launch frequency.

To change these settings, you must own the AMI.

+

When you enable Windows fast launch for a Windows AMI, images are pre-provisioned, using snapshots to launch instances up to 65% faster. To create the optimized Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. Then it creates a set of reserved snapshots that are used for subsequent launches. The reserved snapshots are automatically replenished as they are used, depending on your settings for launch frequency.

You can only change these settings for Windows AMIs that you own or that have been shared with you.

@param request A container for the necessary parameters to execute the EnableFastLaunch service method. @param completionHandler The completion handler to call when the load request is complete. @@ -10047,6 +10200,56 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)enableFastSnapshotRestores:(AWSEC2EnableFastSnapshotRestoresRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableFastSnapshotRestoresResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Re-enables a disabled AMI. The re-enabled AMI is marked as available and can be used for instance launches, appears in describe operations, and can be shared. Amazon Web Services accounts, organizations, and Organizational Units that lost access to the AMI when it was disabled do not regain access automatically. Once the AMI is available, it can be shared with them again.

Only the AMI owner can re-enable a disabled AMI.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the EnableImage service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2EnableImageResult`. + + @see AWSEC2EnableImageRequest + @see AWSEC2EnableImageResult + */ +- (AWSTask *)enableImage:(AWSEC2EnableImageRequest *)request; + +/** +

Re-enables a disabled AMI. The re-enabled AMI is marked as available and can be used for instance launches, appears in describe operations, and can be shared. Amazon Web Services accounts, organizations, and Organizational Units that lost access to the AMI when it was disabled do not regain access automatically. Once the AMI is available, it can be shared with them again.

Only the AMI owner can re-enable a disabled AMI.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the EnableImage 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 AWSEC2EnableImageRequest + @see AWSEC2EnableImageResult + */ +- (void)enableImage:(AWSEC2EnableImageRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableImageResult * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Enables block public access for AMIs at the account level in the specified Amazon Web Services Region. This prevents the public sharing of your AMIs. However, if you already have public AMIs, they will remain publicly available.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be unblocked. When the API has completed the configuration, the response will be block-new-sharing.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the EnableImageBlockPublicAccess service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2EnableImageBlockPublicAccessResult`. + + @see AWSEC2EnableImageBlockPublicAccessRequest + @see AWSEC2EnableImageBlockPublicAccessResult + */ +- (AWSTask *)enableImageBlockPublicAccess:(AWSEC2EnableImageBlockPublicAccessRequest *)request; + +/** +

Enables block public access for AMIs at the account level in the specified Amazon Web Services Region. This prevents the public sharing of your AMIs. However, if you already have public AMIs, they will remain publicly available.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be unblocked. When the API has completed the configuration, the response will be block-new-sharing.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the EnableImageBlockPublicAccess 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 AWSEC2EnableImageBlockPublicAccessRequest + @see AWSEC2EnableImageBlockPublicAccessResult + */ +- (void)enableImageBlockPublicAccess:(AWSEC2EnableImageBlockPublicAccessRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableImageBlockPublicAccessResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Enables deprecation of the specified AMI at the specified date and time.

For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

@@ -10147,6 +10350,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)enableSerialConsoleAccess:(AWSEC2EnableSerialConsoleAccessRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableSerialConsoleAccessResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

If block public access is enabled in block-all-sharing mode, and you change the mode to block-new-sharing, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

+ + @param request A container for the necessary parameters to execute the EnableSnapshotBlockPublicAccess service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2EnableSnapshotBlockPublicAccessResult`. + + @see AWSEC2EnableSnapshotBlockPublicAccessRequest + @see AWSEC2EnableSnapshotBlockPublicAccessResult + */ +- (AWSTask *)enableSnapshotBlockPublicAccess:(AWSEC2EnableSnapshotBlockPublicAccessRequest *)request; + +/** +

Enables or modifies the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you enable block public access for snapshots in a Region, users can no longer request public sharing for snapshots in that Region. Snapshots that are already publicly shared are either treated as private or they remain publicly shared, depending on the State that you specify.

If block public access is enabled in block-all-sharing mode, and you change the mode to block-new-sharing, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

+ + @param request A container for the necessary parameters to execute the EnableSnapshotBlockPublicAccess service method. + @param completionHandler The completion handler to call when the load request is complete. + `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 AWSEC2EnableSnapshotBlockPublicAccessRequest + @see AWSEC2EnableSnapshotBlockPublicAccessResult + */ +- (void)enableSnapshotBlockPublicAccess:(AWSEC2EnableSnapshotBlockPublicAccessRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableSnapshotBlockPublicAccessResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Enables the specified attachment to propagate routes to the specified propagation route table.

@@ -10691,6 +10919,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)getHostReservationPurchasePreview:(AWSEC2GetHostReservationPurchasePreviewRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetHostReservationPurchasePreviewResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Gets the current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the GetImageBlockPublicAccessState service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2GetImageBlockPublicAccessStateResult`. + + @see AWSEC2GetImageBlockPublicAccessStateRequest + @see AWSEC2GetImageBlockPublicAccessStateResult + */ +- (AWSTask *)getImageBlockPublicAccessState:(AWSEC2GetImageBlockPublicAccessStateRequest *)request; + +/** +

Gets the current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the GetImageBlockPublicAccessState 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 AWSEC2GetImageBlockPublicAccessStateRequest + @see AWSEC2GetImageBlockPublicAccessStateResult + */ +- (void)getImageBlockPublicAccessState:(AWSEC2GetImageBlockPublicAccessStateRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetImageBlockPublicAccessStateResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Returns a list of instance types with the specified instance attributes. You can use the response to preview the instance types without launching instances. Note that the response does not consider capacity.

When you specify multiple parameters, you get instance types that satisfy all of the specified parameters. If you specify multiple values for a parameter, you get instance types that satisfy any of the specified values.

For more information, see Preview instance types with specified attributes, Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the Amazon EC2 User Guide, and Creating an Auto Scaling group using attribute-based instance type selection in the Amazon EC2 Auto Scaling User Guide.

@@ -11066,6 +11319,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)getReservedInstancesExchangeQuote:(AWSEC2GetReservedInstancesExchangeQuoteRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetReservedInstancesExchangeQuoteResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Gets security groups that can be associated by the Amazon Web Services account making the request with network interfaces in the specified VPC.

+ + @param request A container for the necessary parameters to execute the GetSecurityGroupsForVpc service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2GetSecurityGroupsForVpcResult`. + + @see AWSEC2GetSecurityGroupsForVpcRequest + @see AWSEC2GetSecurityGroupsForVpcResult + */ +- (AWSTask *)getSecurityGroupsForVpc:(AWSEC2GetSecurityGroupsForVpcRequest *)request; + +/** +

Gets security groups that can be associated by the Amazon Web Services account making the request with network interfaces in the specified VPC.

+ + @param request A container for the necessary parameters to execute the GetSecurityGroupsForVpc 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 AWSEC2GetSecurityGroupsForVpcRequest + @see AWSEC2GetSecurityGroupsForVpcResult + */ +- (void)getSecurityGroupsForVpc:(AWSEC2GetSecurityGroupsForVpcRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetSecurityGroupsForVpcResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Retrieves the access status of your account to the EC2 serial console of all instances. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

@@ -11091,6 +11369,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)getSerialConsoleAccessStatus:(AWSEC2GetSerialConsoleAccessStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetSerialConsoleAccessStatusResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

+ + @param request A container for the necessary parameters to execute the GetSnapshotBlockPublicAccessState service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2GetSnapshotBlockPublicAccessStateResult`. + + @see AWSEC2GetSnapshotBlockPublicAccessStateRequest + @see AWSEC2GetSnapshotBlockPublicAccessStateResult + */ +- (AWSTask *)getSnapshotBlockPublicAccessState:(AWSEC2GetSnapshotBlockPublicAccessStateRequest *)request; + +/** +

Gets the current state of block public access for snapshots setting for the account and Region.

For more information, see Block public access for snapshots in the Amazon Elastic Compute Cloud User Guide.

+ + @param request A container for the necessary parameters to execute the GetSnapshotBlockPublicAccessState service method. + @param completionHandler The completion handler to call when the load request is complete. + `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 AWSEC2GetSnapshotBlockPublicAccessStateRequest + @see AWSEC2GetSnapshotBlockPublicAccessStateResult + */ +- (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.

@@ -11641,6 +11944,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)listSnapshotsInRecycleBin:(AWSEC2ListSnapshotsInRecycleBinRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ListSnapshotsInRecycleBinResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Locks an Amazon EBS snapshot in either governance or compliance mode to protect it against accidental or malicious deletions for a specific duration. A locked snapshot can't be deleted.

You can also use this action to modify the lock settings for a snapshot that is already locked. The allowed modifications depend on the lock mode and lock state:

  • If the snapshot is locked in governance mode, you can modify the lock mode and the lock duration or lock expiration date.

  • If the snapshot is locked in compliance mode and it is in the cooling-off period, you can modify the lock mode and the lock duration or lock expiration date.

  • If the snapshot is locked in compliance mode and the cooling-off period has lapsed, you can only increase the lock duration or extend the lock expiration date.

+ + @param request A container for the necessary parameters to execute the LockSnapshot service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2LockSnapshotResult`. + + @see AWSEC2LockSnapshotRequest + @see AWSEC2LockSnapshotResult + */ +- (AWSTask *)lockSnapshot:(AWSEC2LockSnapshotRequest *)request; + +/** +

Locks an Amazon EBS snapshot in either governance or compliance mode to protect it against accidental or malicious deletions for a specific duration. A locked snapshot can't be deleted.

You can also use this action to modify the lock settings for a snapshot that is already locked. The allowed modifications depend on the lock mode and lock state:

  • If the snapshot is locked in governance mode, you can modify the lock mode and the lock duration or lock expiration date.

  • If the snapshot is locked in compliance mode and it is in the cooling-off period, you can modify the lock mode and the lock duration or lock expiration date.

  • If the snapshot is locked in compliance mode and the cooling-off period has lapsed, you can only increase the lock duration or extend the lock expiration date.

+ + @param request A container for the necessary parameters to execute the LockSnapshot 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 AWSEC2LockSnapshotRequest + @see AWSEC2LockSnapshotResult + */ +- (void)lockSnapshot:(AWSEC2LockSnapshotRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2LockSnapshotResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Modifies an attribute of the specified Elastic IP address. For requirements, see Using reverse DNS for email applications.

@@ -13364,6 +13692,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)provisionPublicIpv4PoolCidr:(AWSEC2ProvisionPublicIpv4PoolCidrRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ProvisionPublicIpv4PoolCidrResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Purchase the Capacity Block for use with your account. With Capacity Blocks you ensure GPU capacity is available for machine learning (ML) workloads. You must specify the ID of the Capacity Block offering you are purchasing.

+ + @param request A container for the necessary parameters to execute the PurchaseCapacityBlock service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2PurchaseCapacityBlockResult`. + + @see AWSEC2PurchaseCapacityBlockRequest + @see AWSEC2PurchaseCapacityBlockResult + */ +- (AWSTask *)purchaseCapacityBlock:(AWSEC2PurchaseCapacityBlockRequest *)request; + +/** +

Purchase the Capacity Block for use with your account. With Capacity Blocks you ensure GPU capacity is available for machine learning (ML) workloads. You must specify the ID of the Capacity Block offering you are purchasing.

+ + @param request A container for the necessary parameters to execute the PurchaseCapacityBlock 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 AWSEC2PurchaseCapacityBlockRequest + @see AWSEC2PurchaseCapacityBlockResult + */ +- (void)purchaseCapacityBlock:(AWSEC2PurchaseCapacityBlockRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2PurchaseCapacityBlockResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Purchase a reservation with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation. This action results in the specified reservation being purchased and charged to your account.

@@ -14338,7 +14691,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)revokeSecurityGroupEgress:(AWSEC2RevokeSecurityGroupEgressRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2RevokeSecurityGroupEgressResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Removes the specified inbound (ingress) rules from a security group.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

+

Removes the specified inbound (ingress) rules from a security group.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

For a non-default VPC, if the values you specify do not match the existing rule's values, an InvalidPermission.NotFound client error is returned, and no rules are revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

@param request A container for the necessary parameters to execute the RevokeSecurityGroupIngress service method. @@ -14350,7 +14703,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)revokeSecurityGroupIngress:(AWSEC2RevokeSecurityGroupIngressRequest *)request; /** -

Removes the specified inbound (ingress) rules from a security group.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

+

Removes the specified inbound (ingress) rules from a security group.

You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

For a non-default VPC, if the values you specify do not match the existing rule's values, an InvalidPermission.NotFound client error is returned, and no rules are revoked.

Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

@param request A container for the necessary parameters to execute the RevokeSecurityGroupIngress service method. @param completionHandler The completion handler to call when the load request is complete. @@ -14756,6 +15109,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)unassignPrivateNatGatewayAddress:(AWSEC2UnassignPrivateNatGatewayAddressRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2UnassignPrivateNatGatewayAddressResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Unlocks a snapshot that is locked in governance mode or that is locked in compliance mode but still in the cooling-off period. You can't unlock a snapshot that is locked in compliance mode after the cooling-off period has expired.

+ + @param request A container for the necessary parameters to execute the UnlockSnapshot service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2UnlockSnapshotResult`. + + @see AWSEC2UnlockSnapshotRequest + @see AWSEC2UnlockSnapshotResult + */ +- (AWSTask *)unlockSnapshot:(AWSEC2UnlockSnapshotRequest *)request; + +/** +

Unlocks a snapshot that is locked in governance mode or that is locked in compliance mode but still in the cooling-off period. You can't unlock a snapshot that is locked in compliance mode after the cooling-off period has expired.

+ + @param request A container for the necessary parameters to execute the UnlockSnapshot 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 AWSEC2UnlockSnapshotRequest + @see AWSEC2UnlockSnapshotResult + */ +- (void)unlockSnapshot:(AWSEC2UnlockSnapshotRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2UnlockSnapshotResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Disables detailed monitoring for a running instance. For more information, see Monitoring your instances and volumes in the Amazon EC2 User Guide.

diff --git a/AWSEC2/AWSEC2Service.m b/AWSEC2/AWSEC2Service.m index b4017103ec5..93cbc733781 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.33.4"; +NSString *const AWSEC2SDKVersion = @"2.33.5"; @interface AWSEC2ResponseSerializer : AWSXMLResponseSerializer @@ -3803,22 +3803,23 @@ - (void)deleteIpamScope:(AWSEC2DeleteIpamScopeRequest *)request }]; } -- (AWSTask *)deleteKeyPair:(AWSEC2DeleteKeyPairRequest *)request { +- (AWSTask *)deleteKeyPair:(AWSEC2DeleteKeyPairRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST URLString:@"" targetPrefix:@"" operationName:@"DeleteKeyPair" - outputClass:nil]; + outputClass:[AWSEC2DeleteKeyPairResult class]]; } - (void)deleteKeyPair:(AWSEC2DeleteKeyPairRequest *)request - completionHandler:(void (^)(NSError *error))completionHandler { - [[self deleteKeyPair:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + completionHandler:(void (^)(AWSEC2DeleteKeyPairResult *response, NSError *error))completionHandler { + [[self deleteKeyPair:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DeleteKeyPairResult *result = task.result; NSError *error = task.error; if (completionHandler) { - completionHandler(error); + completionHandler(result, error); } return nil; @@ -5441,6 +5442,29 @@ - (void)describeByoipCidrs:(AWSEC2DescribeByoipCidrsRequest *)request }]; } +- (AWSTask *)describeCapacityBlockOfferings:(AWSEC2DescribeCapacityBlockOfferingsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DescribeCapacityBlockOfferings" + outputClass:[AWSEC2DescribeCapacityBlockOfferingsResult class]]; +} + +- (void)describeCapacityBlockOfferings:(AWSEC2DescribeCapacityBlockOfferingsRequest *)request + completionHandler:(void (^)(AWSEC2DescribeCapacityBlockOfferingsResult *response, NSError *error))completionHandler { + [[self describeCapacityBlockOfferings:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DescribeCapacityBlockOfferingsResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)describeCapacityReservationFleets:(AWSEC2DescribeCapacityReservationFleetsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -6384,6 +6408,29 @@ - (void)describeInstanceStatus:(AWSEC2DescribeInstanceStatusRequest *)request }]; } +- (AWSTask *)describeInstanceTopology:(AWSEC2DescribeInstanceTopologyRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DescribeInstanceTopology" + outputClass:[AWSEC2DescribeInstanceTopologyResult class]]; +} + +- (void)describeInstanceTopology:(AWSEC2DescribeInstanceTopologyRequest *)request + completionHandler:(void (^)(AWSEC2DescribeInstanceTopologyResult *response, NSError *error))completionHandler { + [[self describeInstanceTopology:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DescribeInstanceTopologyResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)describeInstanceTypeOfferings:(AWSEC2DescribeInstanceTypeOfferingsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -6821,6 +6868,29 @@ - (void)describeLocalGateways:(AWSEC2DescribeLocalGatewaysRequest *)request }]; } +- (AWSTask *)describeLockedSnapshots:(AWSEC2DescribeLockedSnapshotsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DescribeLockedSnapshots" + outputClass:[AWSEC2DescribeLockedSnapshotsResult class]]; +} + +- (void)describeLockedSnapshots:(AWSEC2DescribeLockedSnapshotsRequest *)request + completionHandler:(void (^)(AWSEC2DescribeLockedSnapshotsResult *response, NSError *error))completionHandler { + [[self describeLockedSnapshots:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DescribeLockedSnapshotsResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)describeManagedPrefixLists:(AWSEC2DescribeManagedPrefixListsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -8819,6 +8889,52 @@ - (void)disableFastSnapshotRestores:(AWSEC2DisableFastSnapshotRestoresRequest *) }]; } +- (AWSTask *)disableImage:(AWSEC2DisableImageRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DisableImage" + outputClass:[AWSEC2DisableImageResult class]]; +} + +- (void)disableImage:(AWSEC2DisableImageRequest *)request + completionHandler:(void (^)(AWSEC2DisableImageResult *response, NSError *error))completionHandler { + [[self disableImage:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DisableImageResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)disableImageBlockPublicAccess:(AWSEC2DisableImageBlockPublicAccessRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DisableImageBlockPublicAccess" + outputClass:[AWSEC2DisableImageBlockPublicAccessResult class]]; +} + +- (void)disableImageBlockPublicAccess:(AWSEC2DisableImageBlockPublicAccessRequest *)request + completionHandler:(void (^)(AWSEC2DisableImageBlockPublicAccessResult *response, NSError *error))completionHandler { + [[self disableImageBlockPublicAccess:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DisableImageBlockPublicAccessResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)disableImageDeprecation:(AWSEC2DisableImageDeprecationRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -8888,6 +9004,29 @@ - (void)disableSerialConsoleAccess:(AWSEC2DisableSerialConsoleAccessRequest *)re }]; } +- (AWSTask *)disableSnapshotBlockPublicAccess:(AWSEC2DisableSnapshotBlockPublicAccessRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DisableSnapshotBlockPublicAccess" + outputClass:[AWSEC2DisableSnapshotBlockPublicAccessResult class]]; +} + +- (void)disableSnapshotBlockPublicAccess:(AWSEC2DisableSnapshotBlockPublicAccessRequest *)request + completionHandler:(void (^)(AWSEC2DisableSnapshotBlockPublicAccessResult *response, NSError *error))completionHandler { + [[self disableSnapshotBlockPublicAccess:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DisableSnapshotBlockPublicAccessResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)disableTransitGatewayRouteTablePropagation:(AWSEC2DisableTransitGatewayRouteTablePropagationRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -9414,6 +9553,52 @@ - (void)enableFastSnapshotRestores:(AWSEC2EnableFastSnapshotRestoresRequest *)re }]; } +- (AWSTask *)enableImage:(AWSEC2EnableImageRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"EnableImage" + outputClass:[AWSEC2EnableImageResult class]]; +} + +- (void)enableImage:(AWSEC2EnableImageRequest *)request + completionHandler:(void (^)(AWSEC2EnableImageResult *response, NSError *error))completionHandler { + [[self enableImage:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2EnableImageResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)enableImageBlockPublicAccess:(AWSEC2EnableImageBlockPublicAccessRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"EnableImageBlockPublicAccess" + outputClass:[AWSEC2EnableImageBlockPublicAccessResult class]]; +} + +- (void)enableImageBlockPublicAccess:(AWSEC2EnableImageBlockPublicAccessRequest *)request + completionHandler:(void (^)(AWSEC2EnableImageBlockPublicAccessResult *response, NSError *error))completionHandler { + [[self enableImageBlockPublicAccess:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2EnableImageBlockPublicAccessResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)enableImageDeprecation:(AWSEC2EnableImageDeprecationRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -9506,6 +9691,29 @@ - (void)enableSerialConsoleAccess:(AWSEC2EnableSerialConsoleAccessRequest *)requ }]; } +- (AWSTask *)enableSnapshotBlockPublicAccess:(AWSEC2EnableSnapshotBlockPublicAccessRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"EnableSnapshotBlockPublicAccess" + outputClass:[AWSEC2EnableSnapshotBlockPublicAccessResult class]]; +} + +- (void)enableSnapshotBlockPublicAccess:(AWSEC2EnableSnapshotBlockPublicAccessRequest *)request + completionHandler:(void (^)(AWSEC2EnableSnapshotBlockPublicAccessResult *response, NSError *error))completionHandler { + [[self enableSnapshotBlockPublicAccess:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2EnableSnapshotBlockPublicAccessResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)enableTransitGatewayRouteTablePropagation:(AWSEC2EnableTransitGatewayRouteTablePropagationRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -10010,6 +10218,29 @@ - (void)getHostReservationPurchasePreview:(AWSEC2GetHostReservationPurchasePrevi }]; } +- (AWSTask *)getImageBlockPublicAccessState:(AWSEC2GetImageBlockPublicAccessStateRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"GetImageBlockPublicAccessState" + outputClass:[AWSEC2GetImageBlockPublicAccessStateResult class]]; +} + +- (void)getImageBlockPublicAccessState:(AWSEC2GetImageBlockPublicAccessStateRequest *)request + completionHandler:(void (^)(AWSEC2GetImageBlockPublicAccessStateResult *response, NSError *error))completionHandler { + [[self getImageBlockPublicAccessState:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2GetImageBlockPublicAccessStateResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getInstanceTypesFromInstanceRequirements:(AWSEC2GetInstanceTypesFromInstanceRequirementsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -10355,6 +10586,29 @@ - (void)getReservedInstancesExchangeQuote:(AWSEC2GetReservedInstancesExchangeQuo }]; } +- (AWSTask *)getSecurityGroupsForVpc:(AWSEC2GetSecurityGroupsForVpcRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"GetSecurityGroupsForVpc" + outputClass:[AWSEC2GetSecurityGroupsForVpcResult class]]; +} + +- (void)getSecurityGroupsForVpc:(AWSEC2GetSecurityGroupsForVpcRequest *)request + completionHandler:(void (^)(AWSEC2GetSecurityGroupsForVpcResult *response, NSError *error))completionHandler { + [[self getSecurityGroupsForVpc:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2GetSecurityGroupsForVpcResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getSerialConsoleAccessStatus:(AWSEC2GetSerialConsoleAccessStatusRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -10378,6 +10632,29 @@ - (void)getSerialConsoleAccessStatus:(AWSEC2GetSerialConsoleAccessStatusRequest }]; } +- (AWSTask *)getSnapshotBlockPublicAccessState:(AWSEC2GetSnapshotBlockPublicAccessStateRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"GetSnapshotBlockPublicAccessState" + outputClass:[AWSEC2GetSnapshotBlockPublicAccessStateResult class]]; +} + +- (void)getSnapshotBlockPublicAccessState:(AWSEC2GetSnapshotBlockPublicAccessStateRequest *)request + completionHandler:(void (^)(AWSEC2GetSnapshotBlockPublicAccessStateResult *response, NSError *error))completionHandler { + [[self getSnapshotBlockPublicAccessState:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2GetSnapshotBlockPublicAccessStateResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getSpotPlacementScores:(AWSEC2GetSpotPlacementScoresRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -10884,6 +11161,29 @@ - (void)listSnapshotsInRecycleBin:(AWSEC2ListSnapshotsInRecycleBinRequest *)requ }]; } +- (AWSTask *)lockSnapshot:(AWSEC2LockSnapshotRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"LockSnapshot" + outputClass:[AWSEC2LockSnapshotResult class]]; +} + +- (void)lockSnapshot:(AWSEC2LockSnapshotRequest *)request + completionHandler:(void (^)(AWSEC2LockSnapshotResult *response, NSError *error))completionHandler { + [[self lockSnapshot:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2LockSnapshotResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)modifyAddressAttribute:(AWSEC2ModifyAddressAttributeRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -12485,6 +12785,29 @@ - (void)provisionPublicIpv4PoolCidr:(AWSEC2ProvisionPublicIpv4PoolCidrRequest *) }]; } +- (AWSTask *)purchaseCapacityBlock:(AWSEC2PurchaseCapacityBlockRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"PurchaseCapacityBlock" + outputClass:[AWSEC2PurchaseCapacityBlockResult class]]; +} + +- (void)purchaseCapacityBlock:(AWSEC2PurchaseCapacityBlockRequest *)request + completionHandler:(void (^)(AWSEC2PurchaseCapacityBlockResult *response, NSError *error))completionHandler { + [[self purchaseCapacityBlock:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2PurchaseCapacityBlockResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)purchaseHostReservation:(AWSEC2PurchaseHostReservationRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -13785,6 +14108,29 @@ - (void)unassignPrivateNatGatewayAddress:(AWSEC2UnassignPrivateNatGatewayAddress }]; } +- (AWSTask *)unlockSnapshot:(AWSEC2UnlockSnapshotRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"UnlockSnapshot" + outputClass:[AWSEC2UnlockSnapshotResult class]]; +} + +- (void)unlockSnapshot:(AWSEC2UnlockSnapshotRequest *)request + completionHandler:(void (^)(AWSEC2UnlockSnapshotResult *response, NSError *error))completionHandler { + [[self unlockSnapshot:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2UnlockSnapshotResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)unmonitorInstances:(AWSEC2UnmonitorInstancesRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSEC2/Info.plist b/AWSEC2/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSEC2/Info.plist +++ b/AWSEC2/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m index 4156618df4b..9328b108e71 100644 --- a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m +++ b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m @@ -166,6 +166,7 @@ - (void) test_AWSEC2CancelSpotInstanceRequestsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2CancelSpotInstanceRequestsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2CancelledSpotInstanceRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2CapacityAllocation API_AVAILABLE(ios(11)); +- (void) test_AWSEC2CapacityBlockOffering API_AVAILABLE(ios(11)); - (void) test_AWSEC2CapacityReservation API_AVAILABLE(ios(11)); - (void) test_AWSEC2CapacityReservationFleet API_AVAILABLE(ios(11)); - (void) test_AWSEC2CapacityReservationFleetCancellationState API_AVAILABLE(ios(11)); @@ -432,6 +433,7 @@ - (void) test_AWSEC2DeleteIpamResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DeleteIpamScopeRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DeleteIpamScopeResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DeleteKeyPairRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DeleteKeyPairResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DeleteLaunchTemplateRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DeleteLaunchTemplateResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DeleteLaunchTemplateVersionsRequest API_AVAILABLE(ios(11)); @@ -561,6 +563,8 @@ - (void) test_AWSEC2DescribeBundleTasksRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeBundleTasksResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeByoipCidrsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeByoipCidrsResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeCapacityBlockOfferingsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeCapacityBlockOfferingsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeCapacityReservationFleetsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeCapacityReservationFleetsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeCapacityReservationsRequest API_AVAILABLE(ios(11)); @@ -645,6 +649,8 @@ - (void) test_AWSEC2DescribeInstanceEventWindowsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeInstanceEventWindowsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeInstanceStatusRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeInstanceStatusResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeInstanceTopologyRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeInstanceTopologyResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeInstanceTypeOfferingsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeInstanceTypeOfferingsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeInstanceTypesRequest API_AVAILABLE(ios(11)); @@ -683,6 +689,8 @@ - (void) test_AWSEC2DescribeLocalGatewayVirtualInterfacesRequest API_AVAILABLE(i - (void) test_AWSEC2DescribeLocalGatewayVirtualInterfacesResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeLocalGatewaysRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeLocalGatewaysResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeLockedSnapshotsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DescribeLockedSnapshotsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeManagedPrefixListsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeManagedPrefixListsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DescribeMovingAddressesRequest API_AVAILABLE(ios(11)); @@ -864,12 +872,18 @@ - (void) test_AWSEC2DisableFastSnapshotRestoreStateErrorItem API_AVAILABLE(ios(1 - (void) test_AWSEC2DisableFastSnapshotRestoreSuccessItem API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableFastSnapshotRestoresRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableFastSnapshotRestoresResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DisableImageBlockPublicAccessRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DisableImageBlockPublicAccessResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableImageDeprecationRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableImageDeprecationResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DisableImageRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DisableImageResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableIpamOrganizationAdminAccountRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableIpamOrganizationAdminAccountResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableSerialConsoleAccessRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableSerialConsoleAccessResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DisableSnapshotBlockPublicAccessRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DisableSnapshotBlockPublicAccessResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableTransitGatewayRouteTablePropagationRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableTransitGatewayRouteTablePropagationResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2DisableVgwRoutePropagationRequest API_AVAILABLE(ios(11)); @@ -928,7 +942,9 @@ - (void) test_AWSEC2ElasticGpus API_AVAILABLE(ios(11)); - (void) test_AWSEC2ElasticInferenceAccelerator API_AVAILABLE(ios(11)); - (void) test_AWSEC2ElasticInferenceAcceleratorAssociation API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnaSrdSpecification API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnaSrdSpecificationRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnaSrdUdpSpecification API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnaSrdUdpSpecificationRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableAddressTransferRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableAddressTransferResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableAwsNetworkPerformanceMetricSubscriptionRequest API_AVAILABLE(ios(11)); @@ -943,14 +959,20 @@ - (void) test_AWSEC2EnableFastSnapshotRestoreStateErrorItem API_AVAILABLE(ios(11 - (void) test_AWSEC2EnableFastSnapshotRestoreSuccessItem API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableFastSnapshotRestoresRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableFastSnapshotRestoresResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnableImageBlockPublicAccessRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnableImageBlockPublicAccessResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableImageDeprecationRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableImageDeprecationResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnableImageRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnableImageResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableIpamOrganizationAdminAccountRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableIpamOrganizationAdminAccountResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableReachabilityAnalyzerOrganizationSharingRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableReachabilityAnalyzerOrganizationSharingResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableSerialConsoleAccessRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableSerialConsoleAccessResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnableSnapshotBlockPublicAccessRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnableSnapshotBlockPublicAccessResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableTransitGatewayRouteTablePropagationRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableTransitGatewayRouteTablePropagationResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2EnableVgwRoutePropagationRequest API_AVAILABLE(ios(11)); @@ -1034,6 +1056,8 @@ - (void) test_AWSEC2GetGroupsForCapacityReservationRequest API_AVAILABLE(ios(11) - (void) test_AWSEC2GetGroupsForCapacityReservationResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetHostReservationPurchasePreviewRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetHostReservationPurchasePreviewResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetImageBlockPublicAccessStateRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetImageBlockPublicAccessStateResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceUefiDataRequest API_AVAILABLE(ios(11)); @@ -1064,8 +1088,12 @@ - (void) test_AWSEC2GetPasswordDataRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetPasswordDataResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetReservedInstancesExchangeQuoteRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetReservedInstancesExchangeQuoteResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetSecurityGroupsForVpcRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetSecurityGroupsForVpcResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetSerialConsoleAccessStatusRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetSerialConsoleAccessStatusResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetSnapshotBlockPublicAccessStateRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetSnapshotBlockPublicAccessStateResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetSpotPlacementScoresRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetSpotPlacementScoresResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetSubnetCidrReservationsRequest API_AVAILABLE(ios(11)); @@ -1142,6 +1170,8 @@ - (void) test_AWSEC2InferenceAcceleratorInfo API_AVAILABLE(ios(11)); - (void) test_AWSEC2InferenceDeviceInfo API_AVAILABLE(ios(11)); - (void) test_AWSEC2InferenceDeviceMemoryInfo API_AVAILABLE(ios(11)); - (void) test_AWSEC2Instance API_AVAILABLE(ios(11)); +- (void) test_AWSEC2InstanceAttachmentEnaSrdSpecification API_AVAILABLE(ios(11)); +- (void) test_AWSEC2InstanceAttachmentEnaSrdUdpSpecification API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceAttribute API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceBlockDeviceMapping API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceBlockDeviceMappingSpecification API_AVAILABLE(ios(11)); @@ -1185,6 +1215,7 @@ - (void) test_AWSEC2InstanceStatusEvent API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceStatusSummary API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceStorageInfo API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceTagNotificationAttribute API_AVAILABLE(ios(11)); +- (void) test_AWSEC2InstanceTopology API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceTypeInfo API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceTypeInfoFromInstanceRequirements API_AVAILABLE(ios(11)); - (void) test_AWSEC2InstanceTypeOffering API_AVAILABLE(ios(11)); @@ -1239,6 +1270,8 @@ - (void) test_AWSEC2LaunchTemplateEbsBlockDevice API_AVAILABLE(ios(11)); - (void) test_AWSEC2LaunchTemplateEbsBlockDeviceRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2LaunchTemplateElasticInferenceAccelerator API_AVAILABLE(ios(11)); - (void) test_AWSEC2LaunchTemplateElasticInferenceAcceleratorResponse API_AVAILABLE(ios(11)); +- (void) test_AWSEC2LaunchTemplateEnaSrdSpecification API_AVAILABLE(ios(11)); +- (void) test_AWSEC2LaunchTemplateEnaSrdUdpSpecification API_AVAILABLE(ios(11)); - (void) test_AWSEC2LaunchTemplateEnclaveOptions API_AVAILABLE(ios(11)); - (void) test_AWSEC2LaunchTemplateEnclaveOptionsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2LaunchTemplateHibernationOptions API_AVAILABLE(ios(11)); @@ -1285,6 +1318,9 @@ - (void) test_AWSEC2LocalGatewayRouteTableVirtualInterfaceGroupAssociation API_A - (void) test_AWSEC2LocalGatewayRouteTableVpcAssociation API_AVAILABLE(ios(11)); - (void) test_AWSEC2LocalGatewayVirtualInterface API_AVAILABLE(ios(11)); - (void) test_AWSEC2LocalGatewayVirtualInterfaceGroup API_AVAILABLE(ios(11)); +- (void) test_AWSEC2LockSnapshotRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2LockSnapshotResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2LockedSnapshotsInfo API_AVAILABLE(ios(11)); - (void) test_AWSEC2MaintenanceDetails API_AVAILABLE(ios(11)); - (void) test_AWSEC2ManagedPrefixList API_AVAILABLE(ios(11)); - (void) test_AWSEC2MemoryGiBPerVCpu API_AVAILABLE(ios(11)); @@ -1388,6 +1424,7 @@ - (void) test_AWSEC2ModifyVerifiedAccessInstanceLoggingConfigurationRequest API_ - (void) test_AWSEC2ModifyVerifiedAccessInstanceLoggingConfigurationResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyVerifiedAccessInstanceRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyVerifiedAccessInstanceResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2ModifyVerifiedAccessTrustProviderDeviceOptions API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyVerifiedAccessTrustProviderOidcOptions API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyVerifiedAccessTrustProviderRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2ModifyVerifiedAccessTrustProviderResult API_AVAILABLE(ios(11)); @@ -1513,6 +1550,8 @@ - (void) test_AWSEC2PtrUpdateStatus API_AVAILABLE(ios(11)); - (void) test_AWSEC2PublicIpv4Pool API_AVAILABLE(ios(11)); - (void) test_AWSEC2PublicIpv4PoolRange API_AVAILABLE(ios(11)); - (void) test_AWSEC2Purchase API_AVAILABLE(ios(11)); +- (void) test_AWSEC2PurchaseCapacityBlockRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2PurchaseCapacityBlockResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2PurchaseHostReservationRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2PurchaseHostReservationResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2PurchaseRequest API_AVAILABLE(ios(11)); @@ -1647,6 +1686,7 @@ - (void) test_AWSEC2SearchTransitGatewayMulticastGroupsResult API_AVAILABLE(ios( - (void) test_AWSEC2SearchTransitGatewayRoutesRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2SearchTransitGatewayRoutesResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2SecurityGroup API_AVAILABLE(ios(11)); +- (void) test_AWSEC2SecurityGroupForVpc API_AVAILABLE(ios(11)); - (void) test_AWSEC2SecurityGroupIdentifier API_AVAILABLE(ios(11)); - (void) test_AWSEC2SecurityGroupReference API_AVAILABLE(ios(11)); - (void) test_AWSEC2SecurityGroupRule API_AVAILABLE(ios(11)); @@ -1782,6 +1822,8 @@ - (void) test_AWSEC2UnassignIpv6AddressesResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2UnassignPrivateIpAddressesRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2UnassignPrivateNatGatewayAddressRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2UnassignPrivateNatGatewayAddressResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2UnlockSnapshotRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2UnlockSnapshotResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2UnmonitorInstancesRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2UnmonitorInstancesResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2UnsuccessfulInstanceCreditSpecificationItem API_AVAILABLE(ios(11)); @@ -1817,6 +1859,8 @@ - (void) test_AWSEC2VerifiedAccessLogOptions API_AVAILABLE(ios(11)); - (void) test_AWSEC2VerifiedAccessLogS3Destination API_AVAILABLE(ios(11)); - (void) test_AWSEC2VerifiedAccessLogS3DestinationOptions API_AVAILABLE(ios(11)); - (void) test_AWSEC2VerifiedAccessLogs API_AVAILABLE(ios(11)); +- (void) test_AWSEC2VerifiedAccessSseSpecificationRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2VerifiedAccessSseSpecificationResponse API_AVAILABLE(ios(11)); - (void) test_AWSEC2VerifiedAccessTrustProvider API_AVAILABLE(ios(11)); - (void) test_AWSEC2VerifiedAccessTrustProviderCondensed API_AVAILABLE(ios(11)); - (void) test_AWSEC2VgwTelemetry API_AVAILABLE(ios(11)); @@ -2446,6 +2490,10 @@ - (void) test_AWSEC2CapacityAllocation { [self validateSecureCodingForClass:[AWSEC2CapacityAllocation class]]; } +- (void) test_AWSEC2CapacityBlockOffering { + [self validateSecureCodingForClass:[AWSEC2CapacityBlockOffering class]]; +} + - (void) test_AWSEC2CapacityReservation { [self validateSecureCodingForClass:[AWSEC2CapacityReservation class]]; } @@ -3510,6 +3558,10 @@ - (void) test_AWSEC2DeleteKeyPairRequest { [self validateSecureCodingForClass:[AWSEC2DeleteKeyPairRequest class]]; } +- (void) test_AWSEC2DeleteKeyPairResult { + [self validateSecureCodingForClass:[AWSEC2DeleteKeyPairResult class]]; +} + - (void) test_AWSEC2DeleteLaunchTemplateRequest { [self validateSecureCodingForClass:[AWSEC2DeleteLaunchTemplateRequest class]]; } @@ -4026,6 +4078,14 @@ - (void) test_AWSEC2DescribeByoipCidrsResult { [self validateSecureCodingForClass:[AWSEC2DescribeByoipCidrsResult class]]; } +- (void) test_AWSEC2DescribeCapacityBlockOfferingsRequest { + [self validateSecureCodingForClass:[AWSEC2DescribeCapacityBlockOfferingsRequest class]]; +} + +- (void) test_AWSEC2DescribeCapacityBlockOfferingsResult { + [self validateSecureCodingForClass:[AWSEC2DescribeCapacityBlockOfferingsResult class]]; +} + - (void) test_AWSEC2DescribeCapacityReservationFleetsRequest { [self validateSecureCodingForClass:[AWSEC2DescribeCapacityReservationFleetsRequest class]]; } @@ -4362,6 +4422,14 @@ - (void) test_AWSEC2DescribeInstanceStatusResult { [self validateSecureCodingForClass:[AWSEC2DescribeInstanceStatusResult class]]; } +- (void) test_AWSEC2DescribeInstanceTopologyRequest { + [self validateSecureCodingForClass:[AWSEC2DescribeInstanceTopologyRequest class]]; +} + +- (void) test_AWSEC2DescribeInstanceTopologyResult { + [self validateSecureCodingForClass:[AWSEC2DescribeInstanceTopologyResult class]]; +} + - (void) test_AWSEC2DescribeInstanceTypeOfferingsRequest { [self validateSecureCodingForClass:[AWSEC2DescribeInstanceTypeOfferingsRequest class]]; } @@ -4514,6 +4582,14 @@ - (void) test_AWSEC2DescribeLocalGatewaysResult { [self validateSecureCodingForClass:[AWSEC2DescribeLocalGatewaysResult class]]; } +- (void) test_AWSEC2DescribeLockedSnapshotsRequest { + [self validateSecureCodingForClass:[AWSEC2DescribeLockedSnapshotsRequest class]]; +} + +- (void) test_AWSEC2DescribeLockedSnapshotsResult { + [self validateSecureCodingForClass:[AWSEC2DescribeLockedSnapshotsResult class]]; +} + - (void) test_AWSEC2DescribeManagedPrefixListsRequest { [self validateSecureCodingForClass:[AWSEC2DescribeManagedPrefixListsRequest class]]; } @@ -5238,6 +5314,14 @@ - (void) test_AWSEC2DisableFastSnapshotRestoresResult { [self validateSecureCodingForClass:[AWSEC2DisableFastSnapshotRestoresResult class]]; } +- (void) test_AWSEC2DisableImageBlockPublicAccessRequest { + [self validateSecureCodingForClass:[AWSEC2DisableImageBlockPublicAccessRequest class]]; +} + +- (void) test_AWSEC2DisableImageBlockPublicAccessResult { + [self validateSecureCodingForClass:[AWSEC2DisableImageBlockPublicAccessResult class]]; +} + - (void) test_AWSEC2DisableImageDeprecationRequest { [self validateSecureCodingForClass:[AWSEC2DisableImageDeprecationRequest class]]; } @@ -5246,6 +5330,14 @@ - (void) test_AWSEC2DisableImageDeprecationResult { [self validateSecureCodingForClass:[AWSEC2DisableImageDeprecationResult class]]; } +- (void) test_AWSEC2DisableImageRequest { + [self validateSecureCodingForClass:[AWSEC2DisableImageRequest class]]; +} + +- (void) test_AWSEC2DisableImageResult { + [self validateSecureCodingForClass:[AWSEC2DisableImageResult class]]; +} + - (void) test_AWSEC2DisableIpamOrganizationAdminAccountRequest { [self validateSecureCodingForClass:[AWSEC2DisableIpamOrganizationAdminAccountRequest class]]; } @@ -5262,6 +5354,14 @@ - (void) test_AWSEC2DisableSerialConsoleAccessResult { [self validateSecureCodingForClass:[AWSEC2DisableSerialConsoleAccessResult class]]; } +- (void) test_AWSEC2DisableSnapshotBlockPublicAccessRequest { + [self validateSecureCodingForClass:[AWSEC2DisableSnapshotBlockPublicAccessRequest class]]; +} + +- (void) test_AWSEC2DisableSnapshotBlockPublicAccessResult { + [self validateSecureCodingForClass:[AWSEC2DisableSnapshotBlockPublicAccessResult class]]; +} + - (void) test_AWSEC2DisableTransitGatewayRouteTablePropagationRequest { [self validateSecureCodingForClass:[AWSEC2DisableTransitGatewayRouteTablePropagationRequest class]]; } @@ -5494,10 +5594,18 @@ - (void) test_AWSEC2EnaSrdSpecification { [self validateSecureCodingForClass:[AWSEC2EnaSrdSpecification class]]; } +- (void) test_AWSEC2EnaSrdSpecificationRequest { + [self validateSecureCodingForClass:[AWSEC2EnaSrdSpecificationRequest class]]; +} + - (void) test_AWSEC2EnaSrdUdpSpecification { [self validateSecureCodingForClass:[AWSEC2EnaSrdUdpSpecification class]]; } +- (void) test_AWSEC2EnaSrdUdpSpecificationRequest { + [self validateSecureCodingForClass:[AWSEC2EnaSrdUdpSpecificationRequest class]]; +} + - (void) test_AWSEC2EnableAddressTransferRequest { [self validateSecureCodingForClass:[AWSEC2EnableAddressTransferRequest class]]; } @@ -5554,6 +5662,14 @@ - (void) test_AWSEC2EnableFastSnapshotRestoresResult { [self validateSecureCodingForClass:[AWSEC2EnableFastSnapshotRestoresResult class]]; } +- (void) test_AWSEC2EnableImageBlockPublicAccessRequest { + [self validateSecureCodingForClass:[AWSEC2EnableImageBlockPublicAccessRequest class]]; +} + +- (void) test_AWSEC2EnableImageBlockPublicAccessResult { + [self validateSecureCodingForClass:[AWSEC2EnableImageBlockPublicAccessResult class]]; +} + - (void) test_AWSEC2EnableImageDeprecationRequest { [self validateSecureCodingForClass:[AWSEC2EnableImageDeprecationRequest class]]; } @@ -5562,6 +5678,14 @@ - (void) test_AWSEC2EnableImageDeprecationResult { [self validateSecureCodingForClass:[AWSEC2EnableImageDeprecationResult class]]; } +- (void) test_AWSEC2EnableImageRequest { + [self validateSecureCodingForClass:[AWSEC2EnableImageRequest class]]; +} + +- (void) test_AWSEC2EnableImageResult { + [self validateSecureCodingForClass:[AWSEC2EnableImageResult class]]; +} + - (void) test_AWSEC2EnableIpamOrganizationAdminAccountRequest { [self validateSecureCodingForClass:[AWSEC2EnableIpamOrganizationAdminAccountRequest class]]; } @@ -5586,6 +5710,14 @@ - (void) test_AWSEC2EnableSerialConsoleAccessResult { [self validateSecureCodingForClass:[AWSEC2EnableSerialConsoleAccessResult class]]; } +- (void) test_AWSEC2EnableSnapshotBlockPublicAccessRequest { + [self validateSecureCodingForClass:[AWSEC2EnableSnapshotBlockPublicAccessRequest class]]; +} + +- (void) test_AWSEC2EnableSnapshotBlockPublicAccessResult { + [self validateSecureCodingForClass:[AWSEC2EnableSnapshotBlockPublicAccessResult class]]; +} + - (void) test_AWSEC2EnableTransitGatewayRouteTablePropagationRequest { [self validateSecureCodingForClass:[AWSEC2EnableTransitGatewayRouteTablePropagationRequest class]]; } @@ -5918,6 +6050,14 @@ - (void) test_AWSEC2GetHostReservationPurchasePreviewResult { [self validateSecureCodingForClass:[AWSEC2GetHostReservationPurchasePreviewResult class]]; } +- (void) test_AWSEC2GetImageBlockPublicAccessStateRequest { + [self validateSecureCodingForClass:[AWSEC2GetImageBlockPublicAccessStateRequest class]]; +} + +- (void) test_AWSEC2GetImageBlockPublicAccessStateResult { + [self validateSecureCodingForClass:[AWSEC2GetImageBlockPublicAccessStateResult class]]; +} + - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsRequest { [self validateSecureCodingForClass:[AWSEC2GetInstanceTypesFromInstanceRequirementsRequest class]]; } @@ -6038,6 +6178,14 @@ - (void) test_AWSEC2GetReservedInstancesExchangeQuoteResult { [self validateSecureCodingForClass:[AWSEC2GetReservedInstancesExchangeQuoteResult class]]; } +- (void) test_AWSEC2GetSecurityGroupsForVpcRequest { + [self validateSecureCodingForClass:[AWSEC2GetSecurityGroupsForVpcRequest class]]; +} + +- (void) test_AWSEC2GetSecurityGroupsForVpcResult { + [self validateSecureCodingForClass:[AWSEC2GetSecurityGroupsForVpcResult class]]; +} + - (void) test_AWSEC2GetSerialConsoleAccessStatusRequest { [self validateSecureCodingForClass:[AWSEC2GetSerialConsoleAccessStatusRequest class]]; } @@ -6046,6 +6194,14 @@ - (void) test_AWSEC2GetSerialConsoleAccessStatusResult { [self validateSecureCodingForClass:[AWSEC2GetSerialConsoleAccessStatusResult class]]; } +- (void) test_AWSEC2GetSnapshotBlockPublicAccessStateRequest { + [self validateSecureCodingForClass:[AWSEC2GetSnapshotBlockPublicAccessStateRequest class]]; +} + +- (void) test_AWSEC2GetSnapshotBlockPublicAccessStateResult { + [self validateSecureCodingForClass:[AWSEC2GetSnapshotBlockPublicAccessStateResult class]]; +} + - (void) test_AWSEC2GetSpotPlacementScoresRequest { [self validateSecureCodingForClass:[AWSEC2GetSpotPlacementScoresRequest class]]; } @@ -6350,6 +6506,14 @@ - (void) test_AWSEC2Instance { [self validateSecureCodingForClass:[AWSEC2Instance class]]; } +- (void) test_AWSEC2InstanceAttachmentEnaSrdSpecification { + [self validateSecureCodingForClass:[AWSEC2InstanceAttachmentEnaSrdSpecification class]]; +} + +- (void) test_AWSEC2InstanceAttachmentEnaSrdUdpSpecification { + [self validateSecureCodingForClass:[AWSEC2InstanceAttachmentEnaSrdUdpSpecification class]]; +} + - (void) test_AWSEC2InstanceAttribute { [self validateSecureCodingForClass:[AWSEC2InstanceAttribute class]]; } @@ -6522,6 +6686,10 @@ - (void) test_AWSEC2InstanceTagNotificationAttribute { [self validateSecureCodingForClass:[AWSEC2InstanceTagNotificationAttribute class]]; } +- (void) test_AWSEC2InstanceTopology { + [self validateSecureCodingForClass:[AWSEC2InstanceTopology class]]; +} + - (void) test_AWSEC2InstanceTypeInfo { [self validateSecureCodingForClass:[AWSEC2InstanceTypeInfo class]]; } @@ -6738,6 +6906,14 @@ - (void) test_AWSEC2LaunchTemplateElasticInferenceAcceleratorResponse { [self validateSecureCodingForClass:[AWSEC2LaunchTemplateElasticInferenceAcceleratorResponse class]]; } +- (void) test_AWSEC2LaunchTemplateEnaSrdSpecification { + [self validateSecureCodingForClass:[AWSEC2LaunchTemplateEnaSrdSpecification class]]; +} + +- (void) test_AWSEC2LaunchTemplateEnaSrdUdpSpecification { + [self validateSecureCodingForClass:[AWSEC2LaunchTemplateEnaSrdUdpSpecification class]]; +} + - (void) test_AWSEC2LaunchTemplateEnclaveOptions { [self validateSecureCodingForClass:[AWSEC2LaunchTemplateEnclaveOptions class]]; } @@ -6922,6 +7098,18 @@ - (void) test_AWSEC2LocalGatewayVirtualInterfaceGroup { [self validateSecureCodingForClass:[AWSEC2LocalGatewayVirtualInterfaceGroup class]]; } +- (void) test_AWSEC2LockSnapshotRequest { + [self validateSecureCodingForClass:[AWSEC2LockSnapshotRequest class]]; +} + +- (void) test_AWSEC2LockSnapshotResult { + [self validateSecureCodingForClass:[AWSEC2LockSnapshotResult class]]; +} + +- (void) test_AWSEC2LockedSnapshotsInfo { + [self validateSecureCodingForClass:[AWSEC2LockedSnapshotsInfo class]]; +} + - (void) test_AWSEC2MaintenanceDetails { [self validateSecureCodingForClass:[AWSEC2MaintenanceDetails class]]; } @@ -7334,6 +7522,10 @@ - (void) test_AWSEC2ModifyVerifiedAccessInstanceResult { [self validateSecureCodingForClass:[AWSEC2ModifyVerifiedAccessInstanceResult class]]; } +- (void) test_AWSEC2ModifyVerifiedAccessTrustProviderDeviceOptions { + [self validateSecureCodingForClass:[AWSEC2ModifyVerifiedAccessTrustProviderDeviceOptions class]]; +} + - (void) test_AWSEC2ModifyVerifiedAccessTrustProviderOidcOptions { [self validateSecureCodingForClass:[AWSEC2ModifyVerifiedAccessTrustProviderOidcOptions class]]; } @@ -7834,6 +8026,14 @@ - (void) test_AWSEC2Purchase { [self validateSecureCodingForClass:[AWSEC2Purchase class]]; } +- (void) test_AWSEC2PurchaseCapacityBlockRequest { + [self validateSecureCodingForClass:[AWSEC2PurchaseCapacityBlockRequest class]]; +} + +- (void) test_AWSEC2PurchaseCapacityBlockResult { + [self validateSecureCodingForClass:[AWSEC2PurchaseCapacityBlockResult class]]; +} + - (void) test_AWSEC2PurchaseHostReservationRequest { [self validateSecureCodingForClass:[AWSEC2PurchaseHostReservationRequest class]]; } @@ -8370,6 +8570,10 @@ - (void) test_AWSEC2SecurityGroup { [self validateSecureCodingForClass:[AWSEC2SecurityGroup class]]; } +- (void) test_AWSEC2SecurityGroupForVpc { + [self validateSecureCodingForClass:[AWSEC2SecurityGroupForVpc class]]; +} + - (void) test_AWSEC2SecurityGroupIdentifier { [self validateSecureCodingForClass:[AWSEC2SecurityGroupIdentifier class]]; } @@ -8910,6 +9114,14 @@ - (void) test_AWSEC2UnassignPrivateNatGatewayAddressResult { [self validateSecureCodingForClass:[AWSEC2UnassignPrivateNatGatewayAddressResult class]]; } +- (void) test_AWSEC2UnlockSnapshotRequest { + [self validateSecureCodingForClass:[AWSEC2UnlockSnapshotRequest class]]; +} + +- (void) test_AWSEC2UnlockSnapshotResult { + [self validateSecureCodingForClass:[AWSEC2UnlockSnapshotResult class]]; +} + - (void) test_AWSEC2UnmonitorInstancesRequest { [self validateSecureCodingForClass:[AWSEC2UnmonitorInstancesRequest class]]; } @@ -9050,6 +9262,14 @@ - (void) test_AWSEC2VerifiedAccessLogs { [self validateSecureCodingForClass:[AWSEC2VerifiedAccessLogs class]]; } +- (void) test_AWSEC2VerifiedAccessSseSpecificationRequest { + [self validateSecureCodingForClass:[AWSEC2VerifiedAccessSseSpecificationRequest class]]; +} + +- (void) test_AWSEC2VerifiedAccessSseSpecificationResponse { + [self validateSecureCodingForClass:[AWSEC2VerifiedAccessSseSpecificationResponse class]]; +} + - (void) test_AWSEC2VerifiedAccessTrustProvider { [self validateSecureCodingForClass:[AWSEC2VerifiedAccessTrustProvider class]]; } diff --git a/AWSEC2UnitTests/AWSGeneralEC2Tests.m b/AWSEC2UnitTests/AWSGeneralEC2Tests.m index ef0bb237747..71135920fd9 100644 --- a/AWSEC2UnitTests/AWSGeneralEC2Tests.m +++ b/AWSEC2UnitTests/AWSGeneralEC2Tests.m @@ -7473,10 +7473,11 @@ - (void)testDeleteKeyPairCompletionHandler { dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); - [[AWSEC2 EC2ForKey:key] deleteKeyPair:[AWSEC2DeleteKeyPairRequest new] completionHandler:^(NSError * _Nullable error) { + [[AWSEC2 EC2ForKey:key] deleteKeyPair:[AWSEC2DeleteKeyPairRequest new] completionHandler:^(AWSEC2DeleteKeyPairResult* _Nullable response, NSError * _Nullable error) { XCTAssertNotNil(error); XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); XCTAssertEqual(8848, error.code); + XCTAssertNil(response); dispatch_semaphore_signal(semaphore); }]; @@ -10877,6 +10878,54 @@ - (void)testDescribeByoipCidrsCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testDescribeCapacityBlockOfferings { + NSString *key = @"testDescribeCapacityBlockOfferings"; + 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] describeCapacityBlockOfferings:[AWSEC2DescribeCapacityBlockOfferingsRequest 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)testDescribeCapacityBlockOfferingsCompletionHandler { + NSString *key = @"testDescribeCapacityBlockOfferings"; + 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] describeCapacityBlockOfferings:[AWSEC2DescribeCapacityBlockOfferingsRequest new] completionHandler:^(AWSEC2DescribeCapacityBlockOfferingsResult* _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)testDescribeCapacityReservationFleets { NSString *key = @"testDescribeCapacityReservationFleets"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -12845,6 +12894,54 @@ - (void)testDescribeInstanceStatusCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testDescribeInstanceTopology { + NSString *key = @"testDescribeInstanceTopology"; + 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] describeInstanceTopology:[AWSEC2DescribeInstanceTopologyRequest 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)testDescribeInstanceTopologyCompletionHandler { + NSString *key = @"testDescribeInstanceTopology"; + 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] describeInstanceTopology:[AWSEC2DescribeInstanceTopologyRequest new] completionHandler:^(AWSEC2DescribeInstanceTopologyResult* _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)testDescribeInstanceTypeOfferings { NSString *key = @"testDescribeInstanceTypeOfferings"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -13757,6 +13854,54 @@ - (void)testDescribeLocalGatewaysCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testDescribeLockedSnapshots { + NSString *key = @"testDescribeLockedSnapshots"; + 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] describeLockedSnapshots:[AWSEC2DescribeLockedSnapshotsRequest 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)testDescribeLockedSnapshotsCompletionHandler { + NSString *key = @"testDescribeLockedSnapshots"; + 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] describeLockedSnapshots:[AWSEC2DescribeLockedSnapshotsRequest new] completionHandler:^(AWSEC2DescribeLockedSnapshotsResult* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + - (void)testDescribeManagedPrefixLists { NSString *key = @"testDescribeManagedPrefixLists"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -17930,6 +18075,102 @@ - (void)testDisableFastSnapshotRestoresCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testDisableImage { + NSString *key = @"testDisableImage"; + 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] disableImage:[AWSEC2DisableImageRequest 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)testDisableImageCompletionHandler { + NSString *key = @"testDisableImage"; + 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] disableImage:[AWSEC2DisableImageRequest new] completionHandler:^(AWSEC2DisableImageResult* _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)testDisableImageBlockPublicAccess { + NSString *key = @"testDisableImageBlockPublicAccess"; + 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] disableImageBlockPublicAccess:[AWSEC2DisableImageBlockPublicAccessRequest 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)testDisableImageBlockPublicAccessCompletionHandler { + NSString *key = @"testDisableImageBlockPublicAccess"; + 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] disableImageBlockPublicAccess:[AWSEC2DisableImageBlockPublicAccessRequest new] completionHandler:^(AWSEC2DisableImageBlockPublicAccessResult* _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)testDisableImageDeprecation { NSString *key = @"testDisableImageDeprecation"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -18074,6 +18315,54 @@ - (void)testDisableSerialConsoleAccessCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testDisableSnapshotBlockPublicAccess { + NSString *key = @"testDisableSnapshotBlockPublicAccess"; + 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] disableSnapshotBlockPublicAccess:[AWSEC2DisableSnapshotBlockPublicAccessRequest 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)testDisableSnapshotBlockPublicAccessCompletionHandler { + NSString *key = @"testDisableSnapshotBlockPublicAccess"; + 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] disableSnapshotBlockPublicAccess:[AWSEC2DisableSnapshotBlockPublicAccessRequest new] completionHandler:^(AWSEC2DisableSnapshotBlockPublicAccessResult* _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)testDisableTransitGatewayRouteTablePropagation { NSString *key = @"testDisableTransitGatewayRouteTablePropagation"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -19175,8 +19464,8 @@ - (void)testEnableFastSnapshotRestoresCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } -- (void)testEnableImageDeprecation { - NSString *key = @"testEnableImageDeprecation"; +- (void)testEnableImage { + NSString *key = @"testEnableImage"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; [AWSEC2 registerEC2WithConfiguration:configuration forKey:key]; @@ -19184,7 +19473,103 @@ - (void)testEnableImageDeprecation { XCTAssertNotNil(awsClient); XCTAssertNotNil(mockNetworking); [awsClient setValue:mockNetworking forKey:@"networking"]; - [[[[AWSEC2 EC2ForKey:key] enableImageDeprecation:[AWSEC2EnableImageDeprecationRequest new]] continueWithBlock:^id(AWSTask *task) { + [[[[AWSEC2 EC2ForKey:key] enableImage:[AWSEC2EnableImageRequest 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)testEnableImageCompletionHandler { + NSString *key = @"testEnableImage"; + 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] enableImage:[AWSEC2EnableImageRequest new] completionHandler:^(AWSEC2EnableImageResult* _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)testEnableImageBlockPublicAccess { + NSString *key = @"testEnableImageBlockPublicAccess"; + 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] enableImageBlockPublicAccess:[AWSEC2EnableImageBlockPublicAccessRequest 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)testEnableImageBlockPublicAccessCompletionHandler { + NSString *key = @"testEnableImageBlockPublicAccess"; + 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] enableImageBlockPublicAccess:[AWSEC2EnableImageBlockPublicAccessRequest new] completionHandler:^(AWSEC2EnableImageBlockPublicAccessResult* _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)testEnableImageDeprecation { + NSString *key = @"testEnableImageDeprecation"; + 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] enableImageDeprecation:[AWSEC2EnableImageDeprecationRequest new]] continueWithBlock:^id(AWSTask *task) { XCTAssertNotNil(task.error); XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); XCTAssertEqual(8848, task.error.code); @@ -19367,6 +19752,54 @@ - (void)testEnableSerialConsoleAccessCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testEnableSnapshotBlockPublicAccess { + NSString *key = @"testEnableSnapshotBlockPublicAccess"; + 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] enableSnapshotBlockPublicAccess:[AWSEC2EnableSnapshotBlockPublicAccessRequest 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)testEnableSnapshotBlockPublicAccessCompletionHandler { + NSString *key = @"testEnableSnapshotBlockPublicAccess"; + 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] enableSnapshotBlockPublicAccess:[AWSEC2EnableSnapshotBlockPublicAccessRequest new] completionHandler:^(AWSEC2EnableSnapshotBlockPublicAccessResult* _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)testEnableTransitGatewayRouteTablePropagation { NSString *key = @"testEnableTransitGatewayRouteTablePropagation"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -20421,6 +20854,54 @@ - (void)testGetHostReservationPurchasePreviewCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testGetImageBlockPublicAccessState { + NSString *key = @"testGetImageBlockPublicAccessState"; + 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] getImageBlockPublicAccessState:[AWSEC2GetImageBlockPublicAccessStateRequest 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)testGetImageBlockPublicAccessStateCompletionHandler { + NSString *key = @"testGetImageBlockPublicAccessState"; + 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] getImageBlockPublicAccessState:[AWSEC2GetImageBlockPublicAccessStateRequest new] completionHandler:^(AWSEC2GetImageBlockPublicAccessStateResult* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSEC2 removeEC2ForKey:key]; +} + - (void)testGetInstanceTypesFromInstanceRequirements { NSString *key = @"testGetInstanceTypesFromInstanceRequirements"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -21141,6 +21622,54 @@ - (void)testGetReservedInstancesExchangeQuoteCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testGetSecurityGroupsForVpc { + NSString *key = @"testGetSecurityGroupsForVpc"; + 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] getSecurityGroupsForVpc:[AWSEC2GetSecurityGroupsForVpcRequest 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)testGetSecurityGroupsForVpcCompletionHandler { + NSString *key = @"testGetSecurityGroupsForVpc"; + 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] getSecurityGroupsForVpc:[AWSEC2GetSecurityGroupsForVpcRequest new] completionHandler:^(AWSEC2GetSecurityGroupsForVpcResult* _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)testGetSerialConsoleAccessStatus { NSString *key = @"testGetSerialConsoleAccessStatus"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -21189,6 +21718,54 @@ - (void)testGetSerialConsoleAccessStatusCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testGetSnapshotBlockPublicAccessState { + NSString *key = @"testGetSnapshotBlockPublicAccessState"; + 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] getSnapshotBlockPublicAccessState:[AWSEC2GetSnapshotBlockPublicAccessStateRequest 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)testGetSnapshotBlockPublicAccessStateCompletionHandler { + NSString *key = @"testGetSnapshotBlockPublicAccessState"; + 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] getSnapshotBlockPublicAccessState:[AWSEC2GetSnapshotBlockPublicAccessStateRequest new] completionHandler:^(AWSEC2GetSnapshotBlockPublicAccessStateResult* _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)testGetSpotPlacementScores { NSString *key = @"testGetSpotPlacementScores"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -22245,6 +22822,54 @@ - (void)testListSnapshotsInRecycleBinCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testLockSnapshot { + NSString *key = @"testLockSnapshot"; + 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] lockSnapshot:[AWSEC2LockSnapshotRequest 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)testLockSnapshotCompletionHandler { + NSString *key = @"testLockSnapshot"; + 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] lockSnapshot:[AWSEC2LockSnapshotRequest new] completionHandler:^(AWSEC2LockSnapshotResult* _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)testModifyAddressAttribute { NSString *key = @"testModifyAddressAttribute"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -25596,6 +26221,54 @@ - (void)testProvisionPublicIpv4PoolCidrCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testPurchaseCapacityBlock { + NSString *key = @"testPurchaseCapacityBlock"; + 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] purchaseCapacityBlock:[AWSEC2PurchaseCapacityBlockRequest 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)testPurchaseCapacityBlockCompletionHandler { + NSString *key = @"testPurchaseCapacityBlock"; + 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] purchaseCapacityBlock:[AWSEC2PurchaseCapacityBlockRequest new] completionHandler:^(AWSEC2PurchaseCapacityBlockResult* _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)testPurchaseHostReservation { NSString *key = @"testPurchaseHostReservation"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -28321,6 +28994,54 @@ - (void)testUnassignPrivateNatGatewayAddressCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testUnlockSnapshot { + NSString *key = @"testUnlockSnapshot"; + 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] unlockSnapshot:[AWSEC2UnlockSnapshotRequest 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)testUnlockSnapshotCompletionHandler { + NSString *key = @"testUnlockSnapshot"; + 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] unlockSnapshot:[AWSEC2UnlockSnapshotRequest new] completionHandler:^(AWSEC2UnlockSnapshotResult* _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)testUnmonitorInstances { NSString *key = @"testUnmonitorInstances"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; diff --git a/AWSElasticLoadBalancing.podspec b/AWSElasticLoadBalancing.podspec index e9d19c73ba5..f9fa5c10dae 100644 --- a/AWSElasticLoadBalancing.podspec +++ b/AWSElasticLoadBalancing.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSElasticLoadBalancing' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSElasticLoadBalancing/*.{h,m}' end diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h index cae16e50dae..10b46ecde2e 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h @@ -1644,7 +1644,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTargetTypeEnum) { /** -

The name of the attribute.

The following attributes are supported by all load balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

  • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

  • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

  • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

  • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

  • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

    • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

    • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

    • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

  • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

+

The name of the attribute.

The following attributes are supported by all load balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

  • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

  • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

  • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

  • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

  • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

    • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

    • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

    • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

  • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

The following attributes are supported by only Network Load Balancers:

  • dns_record.client_routing_policy - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are availability_zone_affinity with 100 percent zonal affinity, partial_availability_zone_affinity with 85 percent zonal affinity, and any_availability_zone with 0 percent zonal affinity.

*/ @property (nonatomic, strong) NSString * _Nullable key; @@ -2281,7 +2281,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTargetTypeEnum) { /** -

[Network Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

+

[Network Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

[Gateway Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

*/ @property (nonatomic, assign) AWSElasticLoadBalancingIpAddressType ipAddressType; @@ -2291,12 +2291,12 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTargetTypeEnum) { @property (nonatomic, strong) NSString * _Nullable loadBalancerArn; /** -

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.

+

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.

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

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

+

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.

*/ @property (nonatomic, strong) NSArray * _Nullable subnets; @@ -2314,7 +2314,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTargetTypeEnum) { @property (nonatomic, strong) NSArray * _Nullable availabilityZones; /** -

[Network Load Balancers] The IP address type.

+

[Network Load Balancers] The IP address type.

[Gateway Load Balancers] The IP address type.

*/ @property (nonatomic, assign) AWSElasticLoadBalancingIpAddressType ipAddressType; @@ -2555,7 +2555,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTargetTypeEnum) { /** -

The name of the attribute.

The following attributes are supported by all load balancers:

  • deregistration_delay.timeout_seconds - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported.

  • stickiness.enabled - Indicates whether target stickiness is enabled. The value is true or false. The default is false.

  • stickiness.type - Indicates the type of stickiness. The possible values are:

    • lb_cookie and app_cookie for Application Load Balancers.

    • source_ip for Network Load Balancers.

    • source_ip_dest_ip and source_ip_dest_ip_proto for Gateway Load Balancers.

The following attributes are supported by Application Load Balancers and Network Load Balancers:

  • load_balancing.cross_zone.enabled - Indicates whether cross zone load balancing is enabled. The value is true, false or use_load_balancer_configuration. The default is use_load_balancer_configuration.

  • target_group_health.dns_failover.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to the maximum number of targets. The default is off.

  • target_group_health.dns_failover.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to 100. The default is off.

  • target_group_health.unhealthy_state_routing.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1.

  • target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are off or an integer from 1 to 100. The default is off.

The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

  • load_balancing.algorithm.type - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is round_robin or least_outstanding_requests. The default is round_robin.

  • slow_start.duration_seconds - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).

  • stickiness.app_cookie.cookie_name - Indicates the name of the application-based cookie. Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load balancer.

  • stickiness.app_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the application-based cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

  • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

  • lambda.multi_value_headers.enabled - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is true or false. The default is false. If the value is false and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client.

The following attributes are supported only by Network Load Balancers:

  • deregistration_delay.connection_termination.enabled - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. The value is true or false. The default is false.

  • preserve_client_ip.enabled - Indicates whether client IP preservation is enabled. The value is true or false. The default is disabled if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP preservation cannot be disabled for UDP and TCP_UDP target groups.

  • proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 2 is enabled. The value is true or false. The default is false.

The following attributes are supported only by Gateway Load Balancers:

  • target_failover.on_deregistration - Indicates how the Gateway Load Balancer handles existing flows when a target is deregistered. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) can't be set independently. The value you set for both attributes must be the same.

  • target_failover.on_unhealthy - Indicates how the Gateway Load Balancer handles existing flows when a target is unhealthy. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) cannot be set independently. The value you set for both attributes must be the same.

+

The name of the attribute.

The following attributes are supported by all load balancers:

  • deregistration_delay.timeout_seconds - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported.

  • stickiness.enabled - Indicates whether target stickiness is enabled. The value is true or false. The default is false.

  • stickiness.type - Indicates the type of stickiness. The possible values are:

    • lb_cookie and app_cookie for Application Load Balancers.

    • source_ip for Network Load Balancers.

    • source_ip_dest_ip and source_ip_dest_ip_proto for Gateway Load Balancers.

The following attributes are supported by Application Load Balancers and Network Load Balancers:

  • load_balancing.cross_zone.enabled - Indicates whether cross zone load balancing is enabled. The value is true, false or use_load_balancer_configuration. The default is use_load_balancer_configuration.

  • target_group_health.dns_failover.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to the maximum number of targets. The default is off.

  • target_group_health.dns_failover.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to 100. The default is off.

  • target_group_health.unhealthy_state_routing.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1.

  • target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are off or an integer from 1 to 100. The default is off.

The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

  • load_balancing.algorithm.type - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is round_robin or least_outstanding_requests. The default is round_robin.

  • slow_start.duration_seconds - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).

  • stickiness.app_cookie.cookie_name - Indicates the name of the application-based cookie. Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load balancer.

  • stickiness.app_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the application-based cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

  • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

  • lambda.multi_value_headers.enabled - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is true or false. The default is false. If the value is false and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client.

The following attributes are supported only by Network Load Balancers:

  • deregistration_delay.connection_termination.enabled - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. The value is true or false. For new UDP/TCP_UDP target groups the default is true. Otherwise, the default is false.

  • preserve_client_ip.enabled - Indicates whether client IP preservation is enabled. The value is true or false. The default is disabled if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP preservation cannot be disabled for UDP and TCP_UDP target groups.

  • proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 2 is enabled. The value is true or false. The default is false.

  • target_health_state.unhealthy.connection_termination.enabled - Indicates whether the load balancer terminates connections to unhealthy targets. The value is true or false. The default is true.

The following attributes are supported only by Gateway Load Balancers:

  • target_failover.on_deregistration - Indicates how the Gateway Load Balancer handles existing flows when a target is deregistered. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) can't be set independently. The value you set for both attributes must be the same.

  • target_failover.on_unhealthy - Indicates how the Gateway Load Balancer handles existing flows when a target is unhealthy. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) cannot be set independently. The value you set for both attributes must be the same.

*/ @property (nonatomic, strong) NSString * _Nullable key; diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m index c47da4a5f52..b7f3045cb9b 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m @@ -302,7 +302,7 @@ - (NSString *)definitionString { {\"shape\":\"TargetGroupNotFoundException\"},\ {\"shape\":\"InvalidTargetException\"}\ ],\ - \"documentation\":\"

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

Note: If the specified target does not exist, the action returns successfully.

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

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

The load balancer stops sending requests to targets that are deregistering, but uses connection draining to ensure that in-flight traffic completes on the existing connections. This deregistration delay is configured by default but can be updated for each target group.

For more information, see the following:

Note: If the specified target does not exist, the action returns successfully.

\"\ },\ \"DescribeAccountLimits\":{\ \"name\":\"DescribeAccountLimits\",\ @@ -725,7 +725,7 @@ - (NSString *)definitionString { {\"shape\":\"AllocationIdNotFoundException\"},\ {\"shape\":\"AvailabilityZoneNotSupportedException\"}\ ],\ - \"documentation\":\"

Enables the Availability Zones for the specified public subnets for the specified Application Load Balancer or Network Load Balancer. The specified subnets replace the previously enabled subnets.

When you specify subnets for a Network Load Balancer, you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.

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

Enables the Availability Zones for the specified public subnets for the specified Application Load Balancer, Network Load Balancer or Gateway Load Balancer. The specified subnets replace the previously enabled subnets.

When you specify subnets for a Network Load Balancer, or Gateway Load Balancer you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.

\"\ }\ },\ \"shapes\":{\ @@ -2176,7 +2176,7 @@ - (NSString *)definitionString { \"members\":{\ \"Key\":{\ \"shape\":\"LoadBalancerAttributeKey\",\ - \"documentation\":\"

The name of the attribute.

The following attributes are supported by all load balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

  • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

  • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

  • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

  • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

  • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

    • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

    • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

    • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

  • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

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

The name of the attribute.

The following attributes are supported by all load balancers:

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The possible values are true and false. The default for Network Load Balancers and Gateway Load Balancers is false. The default for Application Load Balancers is true, and cannot be changed.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the load balancer. It is set to false for internet-facing load balancers and true for internal load balancers, preventing unintended access to your internal load balancer through an internet gateway.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • routing.http.desync_mitigation_mode - Determines how the load balancer handles requests that might pose a security risk to your application. The possible values are monitor, defensive, and strictest. The default is defensive.

  • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

  • routing.http.preserve_host_header.enabled - Indicates whether the Application Load Balancer should preserve the Host header in the HTTP request and send it to the target without any change. The possible values are true and false. The default is false.

  • routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates whether the two headers (x-amzn-tls-version and x-amzn-tls-cipher-suite), which contain information about the negotiated TLS version and cipher suite, are added to the client request before sending it to the target. The x-amzn-tls-version header has information about the TLS protocol version negotiated with the client, and the x-amzn-tls-cipher-suite header has information about the cipher suite negotiated with the client. Both headers are in OpenSSL format. The possible values for the attribute are true and false. The default is false.

  • routing.http.xff_client_port.enabled - Indicates whether the X-Forwarded-For header should preserve the source port that the client used to connect to the load balancer. The possible values are true and false. The default is false.

  • routing.http.xff_header_processing.mode - Enables you to modify, preserve, or remove the X-Forwarded-For header in the HTTP request before the Application Load Balancer sends the request to the target. The possible values are append, preserve, and remove. The default is append.

    • If the value is append, the Application Load Balancer adds the client IP address (of the last hop) to the X-Forwarded-For header in the HTTP request before it sends it to targets.

    • If the value is preserve the Application Load Balancer preserves the X-Forwarded-For header in the HTTP request, and sends it to targets without any change.

    • If the value is remove, the Application Load Balancer removes the X-Forwarded-For header in the HTTP request before it sends it to targets.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

  • waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false.

The following attributes are supported by only Network Load Balancers:

  • dns_record.client_routing_policy - Indicates how traffic is distributed among the load balancer Availability Zones. The possible values are availability_zone_affinity with 100 percent zonal affinity, partial_availability_zone_affinity with 85 percent zonal affinity, and any_availability_zone with 0 percent zonal affinity.

\"\ },\ \"Value\":{\ \"shape\":\"LoadBalancerAttributeValue\",\ @@ -2903,15 +2903,15 @@ - (NSString *)definitionString { },\ \"Subnets\":{\ \"shape\":\"Subnets\",\ - \"documentation\":\"

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

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

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.

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

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.

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

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.

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

[Network Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

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

[Network Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). You can’t specify dualstack for a load balancer with a UDP or TCP_UDP listener.

[Gateway Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

\"\ }\ }\ },\ @@ -2924,7 +2924,7 @@ - (NSString *)definitionString { },\ \"IpAddressType\":{\ \"shape\":\"IpAddressType\",\ - \"documentation\":\"

[Network Load Balancers] The IP address type.

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

[Network Load Balancers] The IP address type.

[Gateway Load Balancers] The IP address type.

\"\ }\ }\ },\ @@ -3197,7 +3197,7 @@ - (NSString *)definitionString { \"members\":{\ \"Key\":{\ \"shape\":\"TargetGroupAttributeKey\",\ - \"documentation\":\"

The name of the attribute.

The following attributes are supported by all load balancers:

  • deregistration_delay.timeout_seconds - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported.

  • stickiness.enabled - Indicates whether target stickiness is enabled. The value is true or false. The default is false.

  • stickiness.type - Indicates the type of stickiness. The possible values are:

    • lb_cookie and app_cookie for Application Load Balancers.

    • source_ip for Network Load Balancers.

    • source_ip_dest_ip and source_ip_dest_ip_proto for Gateway Load Balancers.

The following attributes are supported by Application Load Balancers and Network Load Balancers:

  • load_balancing.cross_zone.enabled - Indicates whether cross zone load balancing is enabled. The value is true, false or use_load_balancer_configuration. The default is use_load_balancer_configuration.

  • target_group_health.dns_failover.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to the maximum number of targets. The default is off.

  • target_group_health.dns_failover.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to 100. The default is off.

  • target_group_health.unhealthy_state_routing.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1.

  • target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are off or an integer from 1 to 100. The default is off.

The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

  • load_balancing.algorithm.type - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is round_robin or least_outstanding_requests. The default is round_robin.

  • slow_start.duration_seconds - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).

  • stickiness.app_cookie.cookie_name - Indicates the name of the application-based cookie. Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load balancer.

  • stickiness.app_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the application-based cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

  • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

  • lambda.multi_value_headers.enabled - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is true or false. The default is false. If the value is false and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client.

The following attributes are supported only by Network Load Balancers:

  • deregistration_delay.connection_termination.enabled - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. The value is true or false. The default is false.

  • preserve_client_ip.enabled - Indicates whether client IP preservation is enabled. The value is true or false. The default is disabled if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP preservation cannot be disabled for UDP and TCP_UDP target groups.

  • proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 2 is enabled. The value is true or false. The default is false.

The following attributes are supported only by Gateway Load Balancers:

  • target_failover.on_deregistration - Indicates how the Gateway Load Balancer handles existing flows when a target is deregistered. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) can't be set independently. The value you set for both attributes must be the same.

  • target_failover.on_unhealthy - Indicates how the Gateway Load Balancer handles existing flows when a target is unhealthy. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) cannot be set independently. The value you set for both attributes must be the same.

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

The name of the attribute.

The following attributes are supported by all load balancers:

  • deregistration_delay.timeout_seconds - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported.

  • stickiness.enabled - Indicates whether target stickiness is enabled. The value is true or false. The default is false.

  • stickiness.type - Indicates the type of stickiness. The possible values are:

    • lb_cookie and app_cookie for Application Load Balancers.

    • source_ip for Network Load Balancers.

    • source_ip_dest_ip and source_ip_dest_ip_proto for Gateway Load Balancers.

The following attributes are supported by Application Load Balancers and Network Load Balancers:

  • load_balancing.cross_zone.enabled - Indicates whether cross zone load balancing is enabled. The value is true, false or use_load_balancer_configuration. The default is use_load_balancer_configuration.

  • target_group_health.dns_failover.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to the maximum number of targets. The default is off.

  • target_group_health.dns_failover.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, mark the zone as unhealthy in DNS, so that traffic is routed only to healthy zones. The possible values are off or an integer from 1 to 100. The default is off.

  • target_group_health.unhealthy_state_routing.minimum_healthy_targets.count - The minimum number of targets that must be healthy. If the number of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are 1 to the maximum number of targets. The default is 1.

  • target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage - The minimum percentage of targets that must be healthy. If the percentage of healthy targets is below this value, send traffic to all targets, including unhealthy targets. The possible values are off or an integer from 1 to 100. The default is off.

The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

  • load_balancing.algorithm.type - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is round_robin or least_outstanding_requests. The default is round_robin.

  • slow_start.duration_seconds - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). The default is 0 seconds (disabled).

  • stickiness.app_cookie.cookie_name - Indicates the name of the application-based cookie. Names that start with the following prefixes are not allowed: AWSALB, AWSALBAPP, and AWSALBTG; they're reserved for use by the load balancer.

  • stickiness.app_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the application-based cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

  • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

  • lambda.multi_value_headers.enabled - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is true or false. The default is false. If the value is false and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client.

The following attributes are supported only by Network Load Balancers:

  • deregistration_delay.connection_termination.enabled - Indicates whether the load balancer terminates connections at the end of the deregistration timeout. The value is true or false. For new UDP/TCP_UDP target groups the default is true. Otherwise, the default is false.

  • preserve_client_ip.enabled - Indicates whether client IP preservation is enabled. The value is true or false. The default is disabled if the target group type is IP address and the target group protocol is TCP or TLS. Otherwise, the default is enabled. Client IP preservation cannot be disabled for UDP and TCP_UDP target groups.

  • proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 2 is enabled. The value is true or false. The default is false.

  • target_health_state.unhealthy.connection_termination.enabled - Indicates whether the load balancer terminates connections to unhealthy targets. The value is true or false. The default is true.

The following attributes are supported only by Gateway Load Balancers:

  • target_failover.on_deregistration - Indicates how the Gateway Load Balancer handles existing flows when a target is deregistered. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) can't be set independently. The value you set for both attributes must be the same.

  • target_failover.on_unhealthy - Indicates how the Gateway Load Balancer handles existing flows when a target is unhealthy. The possible values are rebalance and no_rebalance. The default is no_rebalance. The two attributes (target_failover.on_deregistration and target_failover.on_unhealthy) cannot be set independently. The value you set for both attributes must be the same.

\"\ },\ \"Value\":{\ \"shape\":\"TargetGroupAttributeValue\",\ diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.h b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.h index 992de5a15d1..c5f5d52c776 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.h +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.h @@ -425,7 +425,7 @@ FOUNDATION_EXPORT NSString *const AWSElasticLoadBalancingSDKVersion; - (void)deleteTargetGroup:(AWSElasticLoadBalancingDeleteTargetGroupInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingDeleteTargetGroupOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

Note: If the specified target does not exist, the action returns successfully.

+

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

The load balancer stops sending requests to targets that are deregistering, but uses connection draining to ensure that in-flight traffic completes on the existing connections. This deregistration delay is configured by default but can be updated for each target group.

For more information, see the following:

Note: If the specified target does not exist, the action returns successfully.

@param request A container for the necessary parameters to execute the DeregisterTargets service method. @@ -437,7 +437,7 @@ FOUNDATION_EXPORT NSString *const AWSElasticLoadBalancingSDKVersion; - (AWSTask *)deregisterTargets:(AWSElasticLoadBalancingDeregisterTargetsInput *)request; /** -

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

Note: If the specified target does not exist, the action returns successfully.

+

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

The load balancer stops sending requests to targets that are deregistering, but uses connection draining to ensure that in-flight traffic completes on the existing connections. This deregistration delay is configured by default but can be updated for each target group.

For more information, see the following:

Note: If the specified target does not exist, the action returns successfully.

@param request A container for the necessary parameters to execute the DeregisterTargets service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1000,7 +1000,7 @@ FOUNDATION_EXPORT NSString *const AWSElasticLoadBalancingSDKVersion; - (void)setSecurityGroups:(AWSElasticLoadBalancingSetSecurityGroupsInput *)request completionHandler:(void (^ _Nullable)(AWSElasticLoadBalancingSetSecurityGroupsOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Enables the Availability Zones for the specified public subnets for the specified Application Load Balancer or Network Load Balancer. The specified subnets replace the previously enabled subnets.

When you specify subnets for a Network Load Balancer, you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.

+

Enables the Availability Zones for the specified public subnets for the specified Application Load Balancer, Network Load Balancer or Gateway Load Balancer. The specified subnets replace the previously enabled subnets.

When you specify subnets for a Network Load Balancer, or Gateway Load Balancer you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.

@param request A container for the necessary parameters to execute the SetSubnets service method. @@ -1012,7 +1012,7 @@ FOUNDATION_EXPORT NSString *const AWSElasticLoadBalancingSDKVersion; - (AWSTask *)setSubnets:(AWSElasticLoadBalancingSetSubnetsInput *)request; /** -

Enables the Availability Zones for the specified public subnets for the specified Application Load Balancer or Network Load Balancer. The specified subnets replace the previously enabled subnets.

When you specify subnets for a Network Load Balancer, you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.

+

Enables the Availability Zones for the specified public subnets for the specified Application Load Balancer, Network Load Balancer or Gateway Load Balancer. The specified subnets replace the previously enabled subnets.

When you specify subnets for a Network Load Balancer, or Gateway Load Balancer you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.

@param request A container for the necessary parameters to execute the SetSubnets service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m index 5d54f133d8e..9e4b5d0252f 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.33.4"; +NSString *const AWSElasticLoadBalancingSDKVersion = @"2.33.5"; @interface AWSElasticLoadBalancingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSElasticLoadBalancing/Info.plist b/AWSElasticLoadBalancing/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSElasticLoadBalancing/Info.plist +++ b/AWSElasticLoadBalancing/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSFacebookSignIn.podspec b/AWSFacebookSignIn.podspec index 774ab579305..e204d315f05 100644 --- a/AWSFacebookSignIn.podspec +++ b/AWSFacebookSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSFacebookSignIn' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' - s.dependency 'AWSCore', '2.33.4' + s.dependency 'AWSAuthCore', '2.33.5' + s.dependency 'AWSCore', '2.33.5' s.dependency 'FBSDKLoginKit', '9.0' s.dependency 'FBSDKCoreKit', '9.0' diff --git a/AWSGoogleSignIn.podspec b/AWSGoogleSignIn.podspec index 4316b5edba6..5b84845c576 100644 --- a/AWSGoogleSignIn.podspec +++ b/AWSGoogleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSGoogleSignIn' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' - s.dependency 'AWSCore', '2.33.4' + s.dependency 'AWSAuthCore', '2.33.5' + s.dependency 'AWSCore', '2.33.5' 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 d746c5e9e40..c842d6dfd45 100644 --- a/AWSIoT.podspec +++ b/AWSIoT.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSIoT' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSIoT/*.{h,m}', 'AWSIoT/**/*.{h,m}' s.private_header_files = 'AWSIoT/Internal/*.h' end diff --git a/AWSIoT/AWSIoTDataService.m b/AWSIoT/AWSIoTDataService.m index 101ac1e7240..1aefa3d02c8 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.33.4"; +NSString *const AWSIoTDataSDKVersion = @"2.33.5"; @interface AWSIoTDataResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/AWSIoTModel.h b/AWSIoT/AWSIoTModel.h index 628980e465f..9ad5525013a 100644 --- a/AWSIoT/AWSIoTModel.h +++ b/AWSIoT/AWSIoTModel.h @@ -440,6 +440,8 @@ typedef NS_ENUM(NSInteger, AWSIoTLogTargetType) { AWSIoTLogTargetTypeClientId, AWSIoTLogTargetTypeSourceIp, AWSIoTLogTargetTypePrincipalId, + AWSIoTLogTargetTypeEventType, + AWSIoTLogTargetTypeDeviceDefender, }; typedef NS_ENUM(NSInteger, AWSIoTMessageFormat) { @@ -553,6 +555,12 @@ typedef NS_ENUM(NSInteger, AWSIoTStatus) { AWSIoTStatusCancelling, }; +typedef NS_ENUM(NSInteger, AWSIoTTargetFieldOrder) { + AWSIoTTargetFieldOrderUnknown, + AWSIoTTargetFieldOrderLatLon, + AWSIoTTargetFieldOrderLonLat, +}; + typedef NS_ENUM(NSInteger, AWSIoTTargetSelection) { AWSIoTTargetSelectionUnknown, AWSIoTTargetSelectionContinuous, @@ -899,6 +907,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @class AWSIoTFileLocation; @class AWSIoTFirehoseAction; @class AWSIoTFleetMetricNameAndArn; +@class AWSIoTGeoLocationTarget; @class AWSIoTGetBehaviorModelTrainingSummariesRequest; @class AWSIoTGetBehaviorModelTrainingSummariesResponse; @class AWSIoTGetBucketsAggregationRequest; @@ -963,6 +972,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @class AWSIoTJobSummary; @class AWSIoTJobTemplateSummary; @class AWSIoTKafkaAction; +@class AWSIoTKafkaActionHeader; @class AWSIoTKeyPair; @class AWSIoTKinesisAction; @class AWSIoTLambdaAction; @@ -1096,6 +1106,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @class AWSIoTMetricDimension; @class AWSIoTMetricToRetain; @class AWSIoTMetricValue; +@class AWSIoTMetricsExportConfig; @class AWSIoTMitigationAction; @class AWSIoTMitigationActionIdentifier; @class AWSIoTMitigationActionParams; @@ -2488,10 +2499,15 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { /** -

The criteria that determine if a device is behaving normally in regard to the metric.

+

The criteria that determine if a device is behaving normally in regard to the metric.

In the IoT console, you can choose to be sent an alert through Amazon SNS when IoT Device Defender detects that a device is behaving anomalously.

*/ @property (nonatomic, strong) AWSIoTBehaviorCriteria * _Nullable criteria; +/** +

Value indicates exporting metrics related to the behavior when it is true.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable exportMetric; + /**

What is measured by the behavior.

*/ @@ -3771,7 +3787,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single string. Up to five strings are allowed.

+

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

*/ @property (nonatomic, strong) NSArray * _Nullable destinationPackageVersions; @@ -3887,7 +3903,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single string. Up to five strings are allowed.

+

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

*/ @property (nonatomic, strong) NSArray * _Nullable destinationPackageVersions; @@ -3897,7 +3913,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable document; /** -

An S3 link to the job document to use in the template. Required if you don't specify a value for document.

If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.

The placeholder link is of the following form:

${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}

where bucket is your bucket name and key is the object in the bucket to which you are linking.

+

An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for document.

For example, --document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0

For more information, see Methods for accessing a bucket.

*/ @property (nonatomic, strong) NSString * _Nullable documentSource; @@ -4055,7 +4071,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { /** -

A list of additional OTA update parameters which are name-value pairs.

+

A list of additional OTA update parameters, which are name-value pairs. They won't be sent to devices as a part of the Job document.

*/ @property (nonatomic, strong) NSDictionary * _Nullable additionalParameters; @@ -4171,7 +4187,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The name of the new package.

+

The name of the new software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -4199,7 +4215,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable packageArn; /** -

The name of the package.

+

The name of the software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -4227,7 +4243,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The name of the associated package.

+

The name of the associated software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -4265,7 +4281,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable errorReason; /** -

The name of the associated package.

+

The name of the associated software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -4676,6 +4692,11 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { */ @property (nonatomic, strong) NSArray * _Nullable behaviors; +/** +

Specifies the MQTT topic and role ARN required for metric export.

+ */ +@property (nonatomic, strong) AWSIoTMetricsExportConfig * _Nullable metricsExportConfig; + /**

A description of the security profile.

*/ @@ -5375,7 +5396,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable clientToken; /** -

The name of the target package.

+

The name of the target software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -5401,7 +5422,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable clientToken; /** -

The name of the associated package.

+

The name of the associated software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -6356,7 +6377,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { /** -

The endpoint type. Valid endpoint types include:

  • iot:Data - Returns a VeriSign signed data endpoint.

  • iot:Data-ATS - Returns an ATS signed data endpoint.

  • iot:CredentialProvider - Returns an IoT credentials provider API endpoint.

  • iot:Jobs - Returns an IoT device management Jobs API endpoint.

We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities.

+

The endpoint type. Valid endpoint types include:

  • iot:Data - Returns a VeriSign signed data endpoint.

  • iot:Data-ATS - Returns an ATS signed data endpoint.

  • iot:CredentialProvider - Returns an IoT credentials provider API endpoint.

  • iot:Jobs - Returns an IoT device management Jobs API endpoint.

We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.

*/ @property (nonatomic, strong) NSString * _Nullable endpointType; @@ -6630,7 +6651,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single string. Up to five strings are allowed.

+

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

*/ @property (nonatomic, strong) NSArray * _Nullable destinationPackageVersions; @@ -7051,6 +7072,11 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { */ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; +/** +

Specifies the MQTT topic and role ARN required for metric export.

+ */ +@property (nonatomic, strong) AWSIoTMetricsExportConfig * _Nullable metricsExportConfig; + /**

The ARN of the security profile.

*/ @@ -7996,6 +8022,24 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @end +/** +

A geolocation target that you select to index. Each geolocation target contains a name and order key-value pair that specifies the geolocation target fields.

+ */ +@interface AWSIoTGeoLocationTarget : AWSModel + + +/** +

The name of the geolocation target field. If the target field is part of a named shadow, you must select the named shadow using the namedShadow filter.

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

The order of the geolocation target field. This field is optional. The default value is LatLon.

+ */ +@property (nonatomic, assign) AWSIoTTargetFieldOrder order; + +@end + /** */ @@ -8297,7 +8341,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { /** -

The name of the target package.

+

The name of the target software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -8335,7 +8379,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable packageArn; /** -

The name of the package.

+

The name of the software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -8391,7 +8435,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; /** -

The name of the package.

+

The name of the software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -8884,11 +8928,16 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @end /** -

Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in filter.

+

Provides additional selections for named shadows and geolocation data.

To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in namedShadowNames filter.

To add geolocation data to your fleet indexing configuration:

  • If you store geolocation data in a class/unnamed shadow, set thingIndexingMode to be REGISTRY_AND_SHADOW and specify your geolocation data in geoLocations filter.

  • If you store geolocation data in a named shadow, set namedShadowIndexingMode to be ON, add the shadow name in namedShadowNames filter, and specify your geolocation data in geoLocations filter. For more information, see Managing fleet indexing.

*/ @interface AWSIoTIndexingFilter : AWSModel +/** +

The list of geolocation targets that you select to index. The default maximum number of geolocation targets for indexing is 1. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.

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

The shadow names that you select to index. The default maximum number of shadow names for indexing is 10. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.

*/ @@ -9027,7 +9076,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single string. Up to five strings are allowed.

+

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

*/ @property (nonatomic, strong) NSArray * _Nullable destinationPackageVersions; @@ -9461,6 +9510,11 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { */ @property (nonatomic, strong) NSString * _Nullable destinationArn; +/** +

The list of Kafka headers that you specify.

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

The Kafka message key.

*/ @@ -9478,6 +9532,25 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @end +/** +

Specifies a Kafka header using key-value pairs when you create a Rule’s Kafka Action. You can use these headers to route data from IoT clients to downstream Kafka clusters without modifying your message payload.

For more information about Rule's Kafka action, see Apache Kafka.

+ Required parameters: [key, value] + */ +@interface AWSIoTKafkaActionHeader : AWSModel + + +/** +

The key of the Kafka header.

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

The value of the Kafka header.

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

Describes a key pair.

*/ @@ -10885,7 +10958,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable nextToken; /** -

The name of the target package.

+

The name of the target software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -12428,6 +12501,11 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @interface AWSIoTMetricToRetain : AWSModel +/** +

Value added in both Behavior and AdditionalMetricsToRetainV2 to indicate if Device Defender Detect should export the corresponding metrics.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable exportMetric; + /**

What is measured by the behavior.

*/ @@ -12478,6 +12556,25 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @end +/** +

Set configurations for metrics export.

+ Required parameters: [mqttTopic, roleArn] + */ +@interface AWSIoTMetricsExportConfig : AWSModel + + +/** +

The MQTT topic that Device Defender Detect should publish messages to for metrics export.

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

This role ARN has permission to publish MQTT messages, after which Device Defender Detect can assume the role and publish messages on your behalf.

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

Describes which changes should be applied as part of a mitigation action.

*/ @@ -12658,7 +12755,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { /** -

A list of name/attribute pairs.

+

A list of name-attribute pairs. They won't be sent to devices as a part of the Job document.

*/ @property (nonatomic, strong) NSDictionary * _Nullable attributes; @@ -12894,7 +12991,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; /** -

The name for the target package.

+

The name for the target software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -13871,7 +13968,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, assign) AWSIoTJobEndBehavior endBehavior; /** -

The time a job will stop rollout of the job document to all devices in the target group for a job. The endTime must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between startTime and endTime is thirty minutes. The maximum duration between startTime and endTime is two years. The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM for the time.

+

The time a job will stop rollout of the job document to all devices in the target group for a job. The endTime must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between startTime and endTime is thirty minutes. The maximum duration between startTime and endTime is two years. The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM for the time.

For more information on the syntax for endTime when using an API command or the Command Line Interface, see Timestamp.

*/ @property (nonatomic, strong) NSString * _Nullable endTime; @@ -13881,7 +13978,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSArray * _Nullable maintenanceWindows; /** -

The time a job will begin rollout of the job document to all devices in the target group for a job. The startTime can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the startTime is YYYY-MM-DD for the date and HH:MM for the time.

+

The time a job will begin rollout of the job document to all devices in the target group for a job. The startTime can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the startTime is YYYY-MM-DD for the date and HH:MM for the time.

For more information on the syntax for startTime when using an API command or the Command Line Interface, see Timestamp.

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

The maximum number of results to return at one time.

+

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

*/ @property (nonatomic, strong) NSNumber * _Nullable maxResults; @@ -15028,7 +15125,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSArray * _Nullable customFields; /** -

Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.

+

Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.

You can't modify managed fields by updating fleet indexing configuration.

*/ @property (nonatomic, strong) NSArray * _Nullable managedFields; @@ -15098,12 +15195,12 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, assign) AWSIoTDeviceDefenderIndexingMode deviceDefenderIndexingMode; /** -

Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in filter.

+

Provides additional selections for named shadows and geolocation data.

To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in namedShadowNames filter.

To add geolocation data to your fleet indexing configuration:

  • If you store geolocation data in a class/unnamed shadow, set thingIndexingMode to be REGISTRY_AND_SHADOW and specify your geolocation data in geoLocations filter.

  • If you store geolocation data in a named shadow, set namedShadowIndexingMode to be ON, add the shadow name in namedShadowNames filter, and specify your geolocation data in geoLocations filter. For more information, see Managing fleet indexing.

*/ @property (nonatomic, strong) AWSIoTIndexingFilter * _Nullable filter; /** -

Contains fields that are indexed and whose types are already known by the Fleet Indexing service.

+

Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.

You can't modify managed fields by updating fleet indexing configuration.

*/ @property (nonatomic, strong) NSArray * _Nullable managedFields; @@ -16325,7 +16422,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The name of the target package.

+

The name of the target software package.

*/ @property (nonatomic, strong) NSString * _Nullable packageName; @@ -16356,7 +16453,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, assign) AWSIoTPackageVersionAction action; /** -

Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.

Note: Attributes can be updated only when the package version is in a draft state.

The combined size of all the attributes on a package version is limited to 3KB.

+

Metadata that can be used to define a package version’s configuration. For example, the Amazon S3 file location, configuration options that are being sent to the device or fleet.

Note: Attributes can be updated only when the package version is in a draft state.

The combined size of all the attributes on a package version is limited to 3KB.

*/ @property (nonatomic, strong) NSDictionary * _Nullable attributes; @@ -16569,11 +16666,21 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { */ @property (nonatomic, strong) NSNumber * _Nullable deleteBehaviors; +/** +

Set the value as true to delete metrics export related configurations.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable deleteMetricsExportConfig; + /**

The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException is thrown.

*/ @property (nonatomic, strong) NSNumber * _Nullable expectedVersion; +/** +

Specifies the MQTT topic and role ARN required for metric export.

+ */ +@property (nonatomic, strong) AWSIoTMetricsExportConfig * _Nullable metricsExportConfig; + /**

A description of the security profile.

*/ @@ -16622,6 +16729,11 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { */ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; +/** +

Specifies the MQTT topic and role ARN required for metric export.

+ */ +@property (nonatomic, strong) AWSIoTMetricsExportConfig * _Nullable metricsExportConfig; + /**

The ARN of the security profile that was updated.

*/ diff --git a/AWSIoT/AWSIoTModel.m b/AWSIoT/AWSIoTModel.m index 837a0aff29f..da88ea19c3c 100644 --- a/AWSIoT/AWSIoTModel.m +++ b/AWSIoT/AWSIoTModel.m @@ -1428,6 +1428,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"criteria" : @"criteria", + @"exportMetric" : @"exportMetric", @"metric" : @"metric", @"metricDimension" : @"metricDimension", @"name" : @"name", @@ -3787,6 +3788,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"additionalMetricsToRetainV2" : @"additionalMetricsToRetainV2", @"alertTargets" : @"alertTargets", @"behaviors" : @"behaviors", + @"metricsExportConfig" : @"metricsExportConfig", @"securityProfileDescription" : @"securityProfileDescription", @"securityProfileName" : @"securityProfileName", @"tags" : @"tags", @@ -3809,6 +3811,10 @@ + (NSValueTransformer *)behaviorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSIoTBehavior class]]; } ++ (NSValueTransformer *)metricsExportConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSIoTMetricsExportConfig class]]; +} + + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSIoTTag class]]; } @@ -4761,6 +4767,12 @@ + (NSValueTransformer *)targetTypeJSONTransformer { if ([value caseInsensitiveCompare:@"PRINCIPAL_ID"] == NSOrderedSame) { return @(AWSIoTLogTargetTypePrincipalId); } + if ([value caseInsensitiveCompare:@"EVENT_TYPE"] == NSOrderedSame) { + return @(AWSIoTLogTargetTypeEventType); + } + if ([value caseInsensitiveCompare:@"DEVICE_DEFENDER"] == NSOrderedSame) { + return @(AWSIoTLogTargetTypeDeviceDefender); + } return @(AWSIoTLogTargetTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -4774,6 +4786,10 @@ + (NSValueTransformer *)targetTypeJSONTransformer { return @"SOURCE_IP"; case AWSIoTLogTargetTypePrincipalId: return @"PRINCIPAL_ID"; + case AWSIoTLogTargetTypeEventType: + return @"EVENT_TYPE"; + case AWSIoTLogTargetTypeDeviceDefender: + return @"DEVICE_DEFENDER"; default: return nil; } @@ -6527,6 +6543,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"behaviors" : @"behaviors", @"creationDate" : @"creationDate", @"lastModifiedDate" : @"lastModifiedDate", + @"metricsExportConfig" : @"metricsExportConfig", @"securityProfileArn" : @"securityProfileArn", @"securityProfileDescription" : @"securityProfileDescription", @"securityProfileName" : @"securityProfileName", @@ -6566,6 +6583,10 @@ + (NSValueTransformer *)lastModifiedDateJSONTransformer { }]; } ++ (NSValueTransformer *)metricsExportConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSIoTMetricsExportConfig class]]; +} + @end @implementation AWSIoTDescribeStreamRequest @@ -7524,6 +7545,42 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSIoTGeoLocationTarget + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"name" : @"name", + @"order" : @"order", + }; +} + ++ (NSValueTransformer *)orderJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"LatLon"] == NSOrderedSame) { + return @(AWSIoTTargetFieldOrderLatLon); + } + if ([value caseInsensitiveCompare:@"LonLat"] == NSOrderedSame) { + return @(AWSIoTTargetFieldOrderLonLat); + } + return @(AWSIoTTargetFieldOrderUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSIoTTargetFieldOrderLatLon: + return @"LatLon"; + case AWSIoTTargetFieldOrderLonLat: + return @"LonLat"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSIoTGetBehaviorModelTrainingSummariesRequest + (BOOL)supportsSecureCoding { @@ -8445,10 +8502,15 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"geoLocations" : @"geoLocations", @"namedShadowNames" : @"namedShadowNames", }; } ++ (NSValueTransformer *)geoLocationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSIoTGeoLocationTarget class]]; +} + @end @implementation AWSIoTIotAnalyticsAction @@ -9117,12 +9179,32 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientProperties" : @"clientProperties", @"destinationArn" : @"destinationArn", + @"headers" : @"headers", @"key" : @"key", @"partition" : @"partition", @"topic" : @"topic", }; } ++ (NSValueTransformer *)headersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSIoTKafkaActionHeader class]]; +} + +@end + +@implementation AWSIoTKafkaActionHeader + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"key" : @"key", + @"value" : @"value", + }; +} + @end @implementation AWSIoTKeyPair @@ -11889,6 +11971,12 @@ + (NSValueTransformer *)targetTypeJSONTransformer { if ([value caseInsensitiveCompare:@"PRINCIPAL_ID"] == NSOrderedSame) { return @(AWSIoTLogTargetTypePrincipalId); } + if ([value caseInsensitiveCompare:@"EVENT_TYPE"] == NSOrderedSame) { + return @(AWSIoTLogTargetTypeEventType); + } + if ([value caseInsensitiveCompare:@"DEVICE_DEFENDER"] == NSOrderedSame) { + return @(AWSIoTLogTargetTypeDeviceDefender); + } return @(AWSIoTLogTargetTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -11902,6 +11990,10 @@ + (NSValueTransformer *)targetTypeJSONTransformer { return @"SOURCE_IP"; case AWSIoTLogTargetTypePrincipalId: return @"PRINCIPAL_ID"; + case AWSIoTLogTargetTypeEventType: + return @"EVENT_TYPE"; + case AWSIoTLogTargetTypeDeviceDefender: + return @"DEVICE_DEFENDER"; default: return nil; } @@ -12111,6 +12203,12 @@ + (NSValueTransformer *)targetTypeJSONTransformer { if ([value caseInsensitiveCompare:@"PRINCIPAL_ID"] == NSOrderedSame) { return @(AWSIoTLogTargetTypePrincipalId); } + if ([value caseInsensitiveCompare:@"EVENT_TYPE"] == NSOrderedSame) { + return @(AWSIoTLogTargetTypeEventType); + } + if ([value caseInsensitiveCompare:@"DEVICE_DEFENDER"] == NSOrderedSame) { + return @(AWSIoTLogTargetTypeDeviceDefender); + } return @(AWSIoTLogTargetTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -12124,6 +12222,10 @@ + (NSValueTransformer *)targetTypeJSONTransformer { return @"SOURCE_IP"; case AWSIoTLogTargetTypePrincipalId: return @"PRINCIPAL_ID"; + case AWSIoTLogTargetTypeEventType: + return @"EVENT_TYPE"; + case AWSIoTLogTargetTypeDeviceDefender: + return @"DEVICE_DEFENDER"; default: return nil; } @@ -12382,6 +12484,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"exportMetric" : @"exportMetric", @"metric" : @"metric", @"metricDimension" : @"metricDimension", }; @@ -12412,6 +12515,21 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSIoTMetricsExportConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"mqttTopic" : @"mqttTopic", + @"roleArn" : @"roleArn", + }; +} + +@end + @implementation AWSIoTMitigationAction + (BOOL)supportsSecureCoding { @@ -16991,7 +17109,9 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"deleteAdditionalMetricsToRetain" : @"deleteAdditionalMetricsToRetain", @"deleteAlertTargets" : @"deleteAlertTargets", @"deleteBehaviors" : @"deleteBehaviors", + @"deleteMetricsExportConfig" : @"deleteMetricsExportConfig", @"expectedVersion" : @"expectedVersion", + @"metricsExportConfig" : @"metricsExportConfig", @"securityProfileDescription" : @"securityProfileDescription", @"securityProfileName" : @"securityProfileName", }; @@ -17013,6 +17133,10 @@ + (NSValueTransformer *)behaviorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSIoTBehavior class]]; } ++ (NSValueTransformer *)metricsExportConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSIoTMetricsExportConfig class]]; +} + @end @implementation AWSIoTUpdateSecurityProfileResponse @@ -17029,6 +17153,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"behaviors" : @"behaviors", @"creationDate" : @"creationDate", @"lastModifiedDate" : @"lastModifiedDate", + @"metricsExportConfig" : @"metricsExportConfig", @"securityProfileArn" : @"securityProfileArn", @"securityProfileDescription" : @"securityProfileDescription", @"securityProfileName" : @"securityProfileName", @@ -17068,6 +17193,10 @@ + (NSValueTransformer *)lastModifiedDateJSONTransformer { }]; } ++ (NSValueTransformer *)metricsExportConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSIoTMetricsExportConfig class]]; +} + @end @implementation AWSIoTUpdateStreamRequest diff --git a/AWSIoT/AWSIoTResources.m b/AWSIoT/AWSIoTResources.m index 303f4991842..fa5bd586855 100644 --- a/AWSIoT/AWSIoTResources.m +++ b/AWSIoT/AWSIoTResources.m @@ -411,7 +411,7 @@ - (NSString *)definitionString { {\"shape\":\"ServiceUnavailableException\"},\ {\"shape\":\"InternalFailureException\"}\ ],\ - \"documentation\":\"

Creates an X.509 certificate using the specified certificate signing request.

Requires permission to access the CreateCertificateFromCsr action.

The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves. For supported certificates, consult Certificate signing algorithms supported by IoT.

Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for the corresponding CSR.

You can also run the aws iot create-certificate-from-csr part of the command in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c \\\"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\\\"

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

Creates an X.509 certificate using the specified certificate signing request.

Requires permission to access the CreateCertificateFromCsr action.

The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256, NIST P-384, or NIST P-521 curves. For supported certificates, consult Certificate signing algorithms supported by IoT.

Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for the corresponding CSR.

You can also run the aws iot create-certificate-from-csr part of the command in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c \\\"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\\\"

\"\ },\ \"CreateCustomMetric\":{\ \"name\":\"CreateCustomMetric\",\ @@ -836,7 +836,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalFailureException\"}\ ],\ - \"documentation\":\"

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

Requires permission to access the CreateThingGroup action.

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

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

If the ThingGroup that you create has the exact same attributes as an existing ThingGroup, you will get a 200 success response.

Requires permission to access the CreateThingGroup action.

\"\ },\ \"CreateThingType\":{\ \"name\":\"CreateThingType\",\ @@ -1188,7 +1188,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalServerException\"},\ {\"shape\":\"ValidationException\"}\ ],\ - \"documentation\":\"

Deletes a specific version from a software package.

Note: If a package version is designated as default, you must remove the designation from the package using the UpdatePackage action.

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

Deletes a specific version from a software package.

Note: If a package version is designated as default, you must remove the designation from the software package using the UpdatePackage action.

\",\ \"idempotent\":true\ },\ \"DeletePolicy\":{\ @@ -4125,7 +4125,7 @@ - (NSString *)definitionString { {\"shape\":\"ValidationException\"},\ {\"shape\":\"ResourceNotFoundException\"}\ ],\ - \"documentation\":\"

Updates the supported fields for a specific package.

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

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

Updates the supported fields for a specific software package.

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

\",\ \"idempotent\":true\ },\ \"UpdatePackageConfiguration\":{\ @@ -4142,7 +4142,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalServerException\"},\ {\"shape\":\"ValidationException\"}\ ],\ - \"documentation\":\"

Updates the package configuration.

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

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

Updates the software package configuration.

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

\",\ \"idempotent\":true\ },\ \"UpdatePackageVersion\":{\ @@ -5708,11 +5708,15 @@ - (NSString *)definitionString { },\ \"criteria\":{\ \"shape\":\"BehaviorCriteria\",\ - \"documentation\":\"

The criteria that determine if a device is behaving normally in regard to the metric.

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

The criteria that determine if a device is behaving normally in regard to the metric.

In the IoT console, you can choose to be sent an alert through Amazon SNS when IoT Device Defender detects that a device is behaving anomalously.

\"\ },\ \"suppressAlerts\":{\ \"shape\":\"SuppressAlerts\",\ \"documentation\":\"

Suppresses alerts.

\"\ + },\ + \"exportMetric\":{\ + \"shape\":\"ExportMetric\",\ + \"documentation\":\"

Value indicates exporting metrics related to the behavior when it is true.

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

A Device Defender security profile behavior.

\"\ @@ -7104,7 +7108,7 @@ - (NSString *)definitionString { },\ \"destinationPackageVersions\":{\ \"shape\":\"DestinationPackageVersions\",\ - \"documentation\":\"

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single string. Up to five strings are allowed.

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

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

\"\ }\ }\ },\ @@ -7144,7 +7148,7 @@ - (NSString *)definitionString { },\ \"documentSource\":{\ \"shape\":\"JobDocumentSource\",\ - \"documentation\":\"

An S3 link to the job document to use in the template. Required if you don't specify a value for document.

If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.

The placeholder link is of the following form:

${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}

where bucket is your bucket name and key is the object in the bucket to which you are linking.

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

An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for document.

For example, --document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0

For more information, see Methods for accessing a bucket.

\"\ },\ \"document\":{\ \"shape\":\"JobDocument\",\ @@ -7172,7 +7176,7 @@ - (NSString *)definitionString { },\ \"destinationPackageVersions\":{\ \"shape\":\"DestinationPackageVersions\",\ - \"documentation\":\"

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single string. Up to five strings are allowed.

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

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

\"\ }\ }\ },\ @@ -7321,7 +7325,7 @@ - (NSString *)definitionString { },\ \"additionalParameters\":{\ \"shape\":\"AdditionalParameterMap\",\ - \"documentation\":\"

A list of additional OTA update parameters which are name-value pairs.

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

A list of additional OTA update parameters, which are name-value pairs. They won't be sent to devices as a part of the Job document.

\"\ },\ \"tags\":{\ \"shape\":\"TagList\",\ @@ -7360,7 +7364,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the new package.

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

The name of the new software package.

\",\ \"location\":\"uri\",\ \"locationName\":\"packageName\"\ },\ @@ -7386,7 +7390,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the package.

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

The name of the software package.

\"\ },\ \"packageArn\":{\ \"shape\":\"PackageArn\",\ @@ -7407,7 +7411,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the associated package.

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

The name of the associated software package.

\",\ \"location\":\"uri\",\ \"locationName\":\"packageName\"\ },\ @@ -7447,7 +7451,7 @@ - (NSString *)definitionString { },\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the associated package.

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

The name of the associated software package.

\"\ },\ \"versionName\":{\ \"shape\":\"VersionName\",\ @@ -7823,6 +7827,10 @@ - (NSString *)definitionString { \"tags\":{\ \"shape\":\"TagList\",\ \"documentation\":\"

Metadata that can be used to manage the security profile.

\"\ + },\ + \"metricsExportConfig\":{\ + \"shape\":\"MetricsExportConfig\",\ + \"documentation\":\"

Specifies the MQTT topic and role ARN required for metric export.

\"\ }\ }\ },\ @@ -8429,6 +8437,7 @@ - (NSString *)definitionString { }\ }\ },\ + \"DeleteMetricsExportConfig\":{\"type\":\"boolean\"},\ \"DeleteMitigationActionRequest\":{\ \"type\":\"structure\",\ \"required\":[\"actionName\"],\ @@ -8481,7 +8490,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the target package.

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

The name of the target software package.

\",\ \"location\":\"uri\",\ \"locationName\":\"packageName\"\ },\ @@ -8508,7 +8517,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the associated package.

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

The name of the associated software package.

\",\ \"location\":\"uri\",\ \"locationName\":\"packageName\"\ },\ @@ -9302,7 +9311,7 @@ - (NSString *)definitionString { \"members\":{\ \"endpointType\":{\ \"shape\":\"EndpointType\",\ - \"documentation\":\"

The endpoint type. Valid endpoint types include:

  • iot:Data - Returns a VeriSign signed data endpoint.

  • iot:Data-ATS - Returns an ATS signed data endpoint.

  • iot:CredentialProvider - Returns an IoT credentials provider API endpoint.

  • iot:Jobs - Returns an IoT device management Jobs API endpoint.

We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities.

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

The endpoint type. Valid endpoint types include:

  • iot:Data - Returns a VeriSign signed data endpoint.

  • iot:Data-ATS - Returns an ATS signed data endpoint.

  • iot:CredentialProvider - Returns an IoT credentials provider API endpoint.

  • iot:Jobs - Returns an IoT device management Jobs API endpoint.

We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.

\",\ \"location\":\"querystring\",\ \"locationName\":\"endpointType\"\ }\ @@ -9553,7 +9562,7 @@ - (NSString *)definitionString { },\ \"destinationPackageVersions\":{\ \"shape\":\"DestinationPackageVersions\",\ - \"documentation\":\"

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single string. Up to five strings are allowed.

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

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

\"\ }\ }\ },\ @@ -9878,6 +9887,10 @@ - (NSString *)definitionString { \"lastModifiedDate\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The time the security profile was last modified.

\"\ + },\ + \"metricsExportConfig\":{\ + \"shape\":\"MetricsExportConfig\",\ + \"documentation\":\"

Specifies the MQTT topic and role ARN required for metric export.

\"\ }\ }\ },\ @@ -10836,6 +10849,7 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Allows you to create an exponential rate of rollout for a job.

\"\ },\ + \"ExportMetric\":{\"type\":\"boolean\"},\ \"FailedChecksCount\":{\"type\":\"integer\"},\ \"FailedFindingsCount\":{\"type\":\"long\"},\ \"FailedThings\":{\"type\":\"integer\"},\ @@ -11008,6 +11022,24 @@ - (NSString *)definitionString { \"FunctionArn\":{\"type\":\"string\"},\ \"GenerationId\":{\"type\":\"string\"},\ \"GenericLongValue\":{\"type\":\"long\"},\ + \"GeoLocationTarget\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"name\":{\ + \"shape\":\"TargetFieldName\",\ + \"documentation\":\"

The name of the geolocation target field. If the target field is part of a named shadow, you must select the named shadow using the namedShadow filter.

\"\ + },\ + \"order\":{\ + \"shape\":\"TargetFieldOrder\",\ + \"documentation\":\"

The order of the geolocation target field. This field is optional. The default value is LatLon.

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

A geolocation target that you select to index. Each geolocation target contains a name and order key-value pair that specifies the geolocation target fields.

\"\ + },\ + \"GeoLocationsFilter\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"GeoLocationTarget\"}\ + },\ \"GetBehaviorModelTrainingSummariesRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -11246,7 +11278,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the target package.

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

The name of the target software package.

\",\ \"location\":\"uri\",\ \"locationName\":\"packageName\"\ }\ @@ -11257,7 +11289,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the package.

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

The name of the software package.

\"\ },\ \"packageArn\":{\ \"shape\":\"PackageArn\",\ @@ -11311,7 +11343,7 @@ - (NSString *)definitionString { },\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the package.

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

The name of the software package.

\"\ },\ \"versionName\":{\ \"shape\":\"VersionName\",\ @@ -11805,9 +11837,13 @@ - (NSString *)definitionString { \"namedShadowNames\":{\ \"shape\":\"NamedShadowNamesFilter\",\ \"documentation\":\"

The shadow names that you select to index. The default maximum number of shadow names for indexing is 10. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.

\"\ + },\ + \"geoLocations\":{\ + \"shape\":\"GeoLocationsFilter\",\ + \"documentation\":\"

The list of geolocation targets that you select to index. The default maximum number of geolocation targets for indexing is 1. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.

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

Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in filter.

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

Provides additional selections for named shadows and geolocation data.

To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in namedShadowNames filter.

To add geolocation data to your fleet indexing configuration:

  • If you store geolocation data in a class/unnamed shadow, set thingIndexingMode to be REGISTRY_AND_SHADOW and specify your geolocation data in geoLocations filter.

  • If you store geolocation data in a named shadow, set namedShadowIndexingMode to be ON, add the shadow name in namedShadowNames filter, and specify your geolocation data in geoLocations filter. For more information, see Managing fleet indexing.

\"\ },\ \"InlineDocument\":{\"type\":\"string\"},\ \"InputName\":{\ @@ -12112,7 +12148,7 @@ - (NSString *)definitionString { },\ \"destinationPackageVersions\":{\ \"shape\":\"DestinationPackageVersions\",\ - \"documentation\":\"

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single string. Up to five strings are allowed.

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

The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.

Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.

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

The Job object contains details about a job.

\"\ @@ -12488,10 +12524,48 @@ - (NSString *)definitionString { \"clientProperties\":{\ \"shape\":\"ClientProperties\",\ \"documentation\":\"

Properties of the Apache Kafka producer client.

\"\ + },\ + \"headers\":{\ + \"shape\":\"KafkaHeaders\",\ + \"documentation\":\"

The list of Kafka headers that you specify.

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

Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

\"\ },\ + \"KafkaActionHeader\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"key\",\ + \"value\"\ + ],\ + \"members\":{\ + \"key\":{\ + \"shape\":\"KafkaHeaderKey\",\ + \"documentation\":\"

The key of the Kafka header.

\"\ + },\ + \"value\":{\ + \"shape\":\"KafkaHeaderValue\",\ + \"documentation\":\"

The value of the Kafka header.

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

Specifies a Kafka header using key-value pairs when you create a Rule’s Kafka Action. You can use these headers to route data from IoT clients to downstream Kafka clusters without modifying your message payload.

For more information about Rule's Kafka action, see Apache Kafka.

\"\ + },\ + \"KafkaHeaderKey\":{\ + \"type\":\"string\",\ + \"max\":16384,\ + \"min\":0\ + },\ + \"KafkaHeaderValue\":{\ + \"type\":\"string\",\ + \"max\":16384,\ + \"min\":0\ + },\ + \"KafkaHeaders\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"KafkaActionHeader\"},\ + \"max\":100,\ + \"min\":1\ + },\ \"Key\":{\"type\":\"string\"},\ \"KeyName\":{\ \"type\":\"string\",\ @@ -13808,7 +13882,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the target package.

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

The name of the target software package.

\",\ \"location\":\"uri\",\ \"locationName\":\"packageName\"\ },\ @@ -15137,7 +15211,9 @@ - (NSString *)definitionString { \"THING_GROUP\",\ \"CLIENT_ID\",\ \"SOURCE_IP\",\ - \"PRINCIPAL_ID\"\ + \"PRINCIPAL_ID\",\ + \"EVENT_TYPE\",\ + \"DEVICE_DEFENDER\"\ ]\ },\ \"LoggingOptionsPayload\":{\ @@ -15339,6 +15415,10 @@ - (NSString *)definitionString { \"metricDimension\":{\ \"shape\":\"MetricDimension\",\ \"documentation\":\"

The dimension of a metric. This can't be used with custom metrics.

\"\ + },\ + \"exportMetric\":{\ + \"shape\":\"ExportMetric\",\ + \"documentation\":\"

Value added in both Behavior and AdditionalMetricsToRetainV2 to indicate if Device Defender Detect should export the corresponding metrics.

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

The metric you want to retain. Dimensions are optional.

\"\ @@ -15373,6 +15453,24 @@ - (NSString *)definitionString { },\ \"documentation\":\"

The value to be compared with the metric.

\"\ },\ + \"MetricsExportConfig\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"mqttTopic\",\ + \"roleArn\"\ + ],\ + \"members\":{\ + \"mqttTopic\":{\ + \"shape\":\"MqttTopic\",\ + \"documentation\":\"

The MQTT topic that Device Defender Detect should publish messages to for metrics export.

\"\ + },\ + \"roleArn\":{\ + \"shape\":\"RoleArn\",\ + \"documentation\":\"

This role ARN has permission to publish MQTT messages, after which Device Defender Detect can assume the role and publish messages on your behalf.

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

Set configurations for metrics export.

\"\ + },\ \"Minimum\":{\"type\":\"double\"},\ \"MinimumNumberOfExecutedThings\":{\ \"type\":\"integer\",\ @@ -15558,6 +15656,11 @@ - (NSString *)definitionString { \"max\":65535,\ \"min\":1\ },\ + \"MqttTopic\":{\ + \"type\":\"string\",\ + \"max\":512,\ + \"min\":1\ + },\ \"MqttUsername\":{\ \"type\":\"string\",\ \"max\":65535,\ @@ -15659,7 +15762,7 @@ - (NSString *)definitionString { },\ \"attributes\":{\ \"shape\":\"AttributesMap\",\ - \"documentation\":\"

A list of name/attribute pairs.

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

A list of name-attribute pairs. They won't be sent to devices as a part of the Job document.

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

Describes a file to be associated with an OTA update.

\"\ @@ -15867,7 +15970,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name for the target package.

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

The name for the target software package.

\"\ },\ \"defaultVersionName\":{\ \"shape\":\"VersionName\",\ @@ -17158,11 +17261,11 @@ - (NSString *)definitionString { \"members\":{\ \"startTime\":{\ \"shape\":\"StringDateTime\",\ - \"documentation\":\"

The time a job will begin rollout of the job document to all devices in the target group for a job. The startTime can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the startTime is YYYY-MM-DD for the date and HH:MM for the time.

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

The time a job will begin rollout of the job document to all devices in the target group for a job. The startTime can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the startTime is YYYY-MM-DD for the date and HH:MM for the time.

For more information on the syntax for startTime when using an API command or the Command Line Interface, see Timestamp.

\"\ },\ \"endTime\":{\ \"shape\":\"StringDateTime\",\ - \"documentation\":\"

The time a job will stop rollout of the job document to all devices in the target group for a job. The endTime must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between startTime and endTime is thirty minutes. The maximum duration between startTime and endTime is two years. The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM for the time.

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

The time a job will stop rollout of the job document to all devices in the target group for a job. The endTime must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between startTime and endTime is thirty minutes. The maximum duration between startTime and endTime is two years. The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM for the time.

For more information on the syntax for endTime when using an API command or the Command Line Interface, see Timestamp.

\"\ },\ \"endBehavior\":{\ \"shape\":\"JobEndBehavior\",\ @@ -17193,7 +17296,7 @@ - (NSString *)definitionString { },\ \"maxResults\":{\ \"shape\":\"QueryMaxResults\",\ - \"documentation\":\"

The maximum number of results to return at one time.

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

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

\"\ },\ \"queryVersion\":{\ \"shape\":\"QueryVersion\",\ @@ -17472,7 +17575,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":64,\ \"min\":1,\ - \"pattern\":\"[a-zA-Z0-9:_-]+\"\ + \"pattern\":\"[$a-zA-Z0-9:_-]+\"\ },\ \"SigV4Authorization\":{\ \"type\":\"structure\",\ @@ -18073,6 +18176,14 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"AuditCheckName\"}\ },\ + \"TargetFieldName\":{\"type\":\"string\"},\ + \"TargetFieldOrder\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"LatLon\",\ + \"LonLat\"\ + ]\ + },\ \"TargetSelection\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -18453,7 +18564,7 @@ - (NSString *)definitionString { },\ \"managedFields\":{\ \"shape\":\"Fields\",\ - \"documentation\":\"

Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.

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

Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.

You can't modify managed fields by updating fleet indexing configuration.

\"\ },\ \"customFields\":{\ \"shape\":\"Fields\",\ @@ -18548,7 +18659,7 @@ - (NSString *)definitionString { },\ \"managedFields\":{\ \"shape\":\"Fields\",\ - \"documentation\":\"

Contains fields that are indexed and whose types are already known by the Fleet Indexing service.

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

Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.

You can't modify managed fields by updating fleet indexing configuration.

\"\ },\ \"customFields\":{\ \"shape\":\"Fields\",\ @@ -18556,7 +18667,7 @@ - (NSString *)definitionString { },\ \"filter\":{\ \"shape\":\"IndexingFilter\",\ - \"documentation\":\"

Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in filter.

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

Provides additional selections for named shadows and geolocation data.

To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode to be ON and specify your shadow names in namedShadowNames filter.

To add geolocation data to your fleet indexing configuration:

  • If you store geolocation data in a class/unnamed shadow, set thingIndexingMode to be REGISTRY_AND_SHADOW and specify your geolocation data in geoLocations filter.

  • If you store geolocation data in a named shadow, set namedShadowIndexingMode to be ON, add the shadow name in namedShadowNames filter, and specify your geolocation data in geoLocations filter. For more information, see Managing fleet indexing.

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

The thing indexing configuration. For more information, see Managing Thing Indexing.

\"\ @@ -19709,7 +19820,7 @@ - (NSString *)definitionString { \"members\":{\ \"packageName\":{\ \"shape\":\"PackageName\",\ - \"documentation\":\"

The name of the target package.

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

The name of the target software package.

\",\ \"location\":\"uri\",\ \"locationName\":\"packageName\"\ },\ @@ -19764,7 +19875,7 @@ - (NSString *)definitionString { },\ \"attributes\":{\ \"shape\":\"ResourceAttributes\",\ - \"documentation\":\"

Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.

Note: Attributes can be updated only when the package version is in a draft state.

The combined size of all the attributes on a package version is limited to 3KB.

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

Metadata that can be used to define a package version’s configuration. For example, the Amazon S3 file location, configuration options that are being sent to the device or fleet.

Note: Attributes can be updated only when the package version is in a draft state.

The combined size of all the attributes on a package version is limited to 3KB.

\"\ },\ \"action\":{\ \"shape\":\"PackageVersionAction\",\ @@ -19944,6 +20055,14 @@ - (NSString *)definitionString { \"documentation\":\"

The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException is thrown.

\",\ \"location\":\"querystring\",\ \"locationName\":\"expectedVersion\"\ + },\ + \"metricsExportConfig\":{\ + \"shape\":\"MetricsExportConfig\",\ + \"documentation\":\"

Specifies the MQTT topic and role ARN required for metric export.

\"\ + },\ + \"deleteMetricsExportConfig\":{\ + \"shape\":\"DeleteMetricsExportConfig\",\ + \"documentation\":\"

Set the value as true to delete metrics export related configurations.

\"\ }\ }\ },\ @@ -19991,6 +20110,10 @@ - (NSString *)definitionString { \"lastModifiedDate\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"

The time the security profile was last modified.

\"\ + },\ + \"metricsExportConfig\":{\ + \"shape\":\"MetricsExportConfig\",\ + \"documentation\":\"

Specifies the MQTT topic and role ARN required for metric export.

\"\ }\ }\ },\ diff --git a/AWSIoT/AWSIoTService.h b/AWSIoT/AWSIoTService.h index 9c82b727a7d..9f9e5cdfed8 100644 --- a/AWSIoT/AWSIoTService.h +++ b/AWSIoT/AWSIoTService.h @@ -635,7 +635,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (void)createBillingGroup:(AWSIoTCreateBillingGroupRequest *)request completionHandler:(void (^ _Nullable)(AWSIoTCreateBillingGroupResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates an X.509 certificate using the specified certificate signing request.

Requires permission to access the CreateCertificateFromCsr action.

The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves. For supported certificates, consult Certificate signing algorithms supported by IoT.

Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for the corresponding CSR.

You can also run the aws iot create-certificate-from-csr part of the command in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path"

+

Creates an X.509 certificate using the specified certificate signing request.

Requires permission to access the CreateCertificateFromCsr action.

The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256, NIST P-384, or NIST P-521 curves. For supported certificates, consult Certificate signing algorithms supported by IoT.

Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for the corresponding CSR.

You can also run the aws iot create-certificate-from-csr part of the command in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path"

@param request A container for the necessary parameters to execute the CreateCertificateFromCsr service method. @@ -647,7 +647,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (AWSTask *)createCertificateFromCsr:(AWSIoTCreateCertificateFromCsrRequest *)request; /** -

Creates an X.509 certificate using the specified certificate signing request.

Requires permission to access the CreateCertificateFromCsr action.

The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves. For supported certificates, consult Certificate signing algorithms supported by IoT.

Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for the corresponding CSR.

You can also run the aws iot create-certificate-from-csr part of the command in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path"

+

Creates an X.509 certificate using the specified certificate signing request.

Requires permission to access the CreateCertificateFromCsr action.

The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256, NIST P-384, or NIST P-521 curves. For supported certificates, consult Certificate signing algorithms supported by IoT.

Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for the corresponding CSR.

You can also run the aws iot create-certificate-from-csr part of the command in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c "cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path"

@param request A container for the necessary parameters to execute the CreateCertificateFromCsr service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1210,7 +1210,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (void)createThing:(AWSIoTCreateThingRequest *)request completionHandler:(void (^ _Nullable)(AWSIoTCreateThingResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

Requires permission to access the CreateThingGroup action.

+

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

If the ThingGroup that you create has the exact same attributes as an existing ThingGroup, you will get a 200 success response.

Requires permission to access the CreateThingGroup action.

@param request A container for the necessary parameters to execute the CreateThingGroup service method. @@ -1222,7 +1222,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (AWSTask *)createThingGroup:(AWSIoTCreateThingGroupRequest *)request; /** -

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

Requires permission to access the CreateThingGroup action.

+

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

If the ThingGroup that you create has the exact same attributes as an existing ThingGroup, you will get a 200 success response.

Requires permission to access the CreateThingGroup action.

@param request A container for the necessary parameters to execute the CreateThingGroup service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1717,7 +1717,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (void)deletePackage:(AWSIoTDeletePackageRequest *)request completionHandler:(void (^ _Nullable)(AWSIoTDeletePackageResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes a specific version from a software package.

Note: If a package version is designated as default, you must remove the designation from the package using the UpdatePackage action.

+

Deletes a specific version from a software package.

Note: If a package version is designated as default, you must remove the designation from the software package using the UpdatePackage action.

@param request A container for the necessary parameters to execute the DeletePackageVersion service method. @@ -1729,7 +1729,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (AWSTask *)deletePackageVersion:(AWSIoTDeletePackageVersionRequest *)request; /** -

Deletes a specific version from a software package.

Note: If a package version is designated as default, you must remove the designation from the package using the UpdatePackage action.

+

Deletes a specific version from a software package.

Note: If a package version is designated as default, you must remove the designation from the software package using the UpdatePackage action.

@param request A container for the necessary parameters to execute the DeletePackageVersion service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6013,7 +6013,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (void)updateMitigationAction:(AWSIoTUpdateMitigationActionRequest *)request completionHandler:(void (^ _Nullable)(AWSIoTUpdateMitigationActionResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the supported fields for a specific package.

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

+

Updates the supported fields for a specific software package.

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

@param request A container for the necessary parameters to execute the UpdatePackage service method. @@ -6025,7 +6025,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (AWSTask *)updatePackage:(AWSIoTUpdatePackageRequest *)request; /** -

Updates the supported fields for a specific package.

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

+

Updates the supported fields for a specific software package.

Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

@param request A container for the necessary parameters to execute the UpdatePackage service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6038,7 +6038,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (void)updatePackage:(AWSIoTUpdatePackageRequest *)request completionHandler:(void (^ _Nullable)(AWSIoTUpdatePackageResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the package configuration.

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

+

Updates the software package configuration.

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

@param request A container for the necessary parameters to execute the UpdatePackageConfiguration service method. @@ -6050,7 +6050,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (AWSTask *)updatePackageConfiguration:(AWSIoTUpdatePackageConfigurationRequest *)request; /** -

Updates the package configuration.

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

+

Updates the software package configuration.

Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

@param request A container for the necessary parameters to execute the UpdatePackageConfiguration service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSIoT/AWSIoTService.m b/AWSIoT/AWSIoTService.m index a1a1618a0bf..6b45f1b2664 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.33.4"; +NSString *const AWSIoTSDKVersion = @"2.33.5"; @interface AWSIoTResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/Info.plist b/AWSIoT/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSIoT/Info.plist +++ b/AWSIoT/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSIoT/Internal/SocketRocket/AWSSRWebSocket.m b/AWSIoT/Internal/SocketRocket/AWSSRWebSocket.m index 96233db954a..a76d78f9878 100644 --- a/AWSIoT/Internal/SocketRocket/AWSSRWebSocket.m +++ b/AWSIoT/Internal/SocketRocket/AWSSRWebSocket.m @@ -78,7 +78,7 @@ static NSString *const AWSSRWebSocketAppendToSecKeyString = @"258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; static inline int32_t validate_dispatch_data_partial_string(NSData *data); -static inline void SRFastLog(NSString *format, ...); +static inline void AWSSRFastLog(NSString *format, ...); @interface NSData (AWSSRWebSocket) @@ -98,7 +98,7 @@ @interface NSURL (AWSSRWebSocket) // The origin isn't really applicable for a native application. // So instead, just map ws -> http and wss -> https. -- (NSString *)SR_origin; +- (NSString *)AWSSR_origin; @end @@ -149,7 +149,7 @@ - (NSString *)stringBySHA1ThenBase64Encoding; @end NSString *const AWSSRWebSocketErrorDomain = @"AWSSRWebSocketErrorDomain"; -NSString *const SRHTTPResponseErrorKey = @"HTTPResponseStatusCode"; +NSString *const AWSSRHTTPResponseErrorKey = @"HTTPResponseStatusCode"; // Returns number of bytes consumed. Returning 0 means you didn't match. // Sends bytes to callback handler; @@ -157,7 +157,7 @@ - (NSString *)stringBySHA1ThenBase64Encoding; typedef void (^data_callback)(AWSSRWebSocket *webSocket, NSData *data); -@interface SRIOConsumer : NSObject { +@interface AWSSRIOConsumer : NSObject { stream_scanner _scanner; data_callback _handler; size_t _bytesNeeded; @@ -173,12 +173,12 @@ @interface SRIOConsumer : NSObject { @end // This class is not thread-safe, and is expected to always be run on the same queue. -@interface SRIOConsumerPool : NSObject +@interface AWSSRIOConsumerPool : NSObject - (id)initWithBufferCapacity:(NSUInteger)poolSize; -- (SRIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; -- (void)returnConsumer:(SRIOConsumer *)consumer; +- (AWSSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; +- (void)returnConsumer:(AWSSRIOConsumer *)consumer; @end @@ -252,7 +252,7 @@ @implementation AWSSRWebSocket { __strong AWSSRWebSocket *_selfRetain; NSArray *_requestedProtocols; - SRIOConsumerPool *_consumerPool; + AWSSRIOConsumerPool *_consumerPool; } @synthesize delegate = _delegate; @@ -339,7 +339,7 @@ - (void)_SR_commonInit; _consumers = [[NSMutableArray alloc] init]; - _consumerPool = [[SRIOConsumerPool alloc] init]; + _consumerPool = [[AWSSRIOConsumerPool alloc] init]; _scheduledRunloops = [[NSMutableSet alloc] init]; @@ -403,10 +403,10 @@ - (void)open; - (void)_performDelegateBlock:(dispatch_block_t)block; { if (_delegateOperationQueue) { - SRFastLog(@"using _delegateOperationQueue."); + AWSSRFastLog(@"using _delegateOperationQueue."); [_delegateOperationQueue addOperationWithBlock:block]; } else { - SRFastLog(@"using _delegateDispatchQueue."); + AWSSRFastLog(@"using _delegateDispatchQueue."); assert(_delegateDispatchQueue); dispatch_async(_delegateDispatchQueue, block); } @@ -444,8 +444,8 @@ - (void)_HTTPHeadersDidFinish; NSInteger responseCode = CFHTTPMessageGetResponseStatusCode(_receivedHTTPHeaders); if (responseCode >= 400) { - SRFastLog(@"Request failed with response code %d", responseCode); - [self _failWithError:[NSError errorWithDomain:AWSSRWebSocketErrorDomain code:2132 userInfo:@{NSLocalizedDescriptionKey:[NSString stringWithFormat:@"received bad response code from server %ld", (long)responseCode], SRHTTPResponseErrorKey:@(responseCode)}]]; + AWSSRFastLog(@"Request failed with response code %d", responseCode); + [self _failWithError:[NSError errorWithDomain:AWSSRWebSocketErrorDomain code:2132 userInfo:@{NSLocalizedDescriptionKey:[NSString stringWithFormat:@"received bad response code from server %ld", (long)responseCode], AWSSRHTTPResponseErrorKey:@(responseCode)}]]; return; } @@ -489,7 +489,7 @@ - (void)_readHTTPHeader; CFHTTPMessageAppendBytes(self->_receivedHTTPHeaders, (const UInt8 *)data.bytes, data.length); if (CFHTTPMessageIsHeaderComplete(self->_receivedHTTPHeaders)) { - SRFastLog(@"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(self->_receivedHTTPHeaders))); + AWSSRFastLog(@"Finished reading headers %@", CFBridgingRelease(CFHTTPMessageCopyAllHeaderFields(self->_receivedHTTPHeaders))); [self _HTTPHeadersDidFinish]; } else { [self _readHTTPHeader]; @@ -499,7 +499,7 @@ - (void)_readHTTPHeader; - (void)didConnect; { - SRFastLog(@"Connected"); + AWSSRFastLog(@"Connected"); CFHTTPMessageRef request = CFHTTPMessageCreateRequest(NULL, CFSTR("GET"), (__bridge CFURLRef)_url, kCFHTTPVersion1_1); // Set host first so it defaults @@ -535,7 +535,7 @@ - (void)didConnect; CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Connection"), CFSTR("Upgrade")); CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Key"), (__bridge CFStringRef)_secKey); CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Version"), (__bridge CFStringRef)[NSString stringWithFormat:@"%ld", (long)_webSocketVersion]); - CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Origin"), (__bridge CFStringRef)_url.SR_origin); + CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Origin"), (__bridge CFStringRef)_url.AWSSR_origin); if (_requestedProtocols) { CFHTTPMessageSetHeaderFieldValue(request, CFSTR("Sec-WebSocket-Protocol"), (__bridge CFStringRef)[_requestedProtocols componentsJoinedByString:@", "]); @@ -547,7 +547,7 @@ - (void)didConnect; NSData *message = CFBridgingRelease(CFHTTPMessageCopySerializedMessage(request)); - SRFastLog(@"%@", [[NSString alloc]initWithData:message encoding:NSUTF8StringEncoding]); + AWSSRFastLog(@"%@", [[NSString alloc]initWithData:message encoding:NSUTF8StringEncoding]); CFRelease(request); [self _writeData:message]; @@ -601,7 +601,7 @@ - (void)_updateSecureStreamOptions; if (self.allowsUntrustedSSLCertificates) { [SSLOptions setValue:@NO forKey:(__bridge id)kCFStreamSSLValidatesCertificateChain]; - SRFastLog(@"Allowing connection to any root cert"); + AWSSRFastLog(@"Allowing connection to any root cert"); } [_outputStream setProperty:SSLOptions @@ -702,7 +702,7 @@ - (void)closeWithCode:(NSInteger)code reason:(NSString *)reason; self.readyState = AWSSR_CLOSING; - SRFastLog(@"Closing with code %d reason %@", code, reason); + AWSSRFastLog(@"Closing with code %d reason %@", code, reason); if (wasConnecting) { [self closeConnection]; @@ -760,7 +760,7 @@ - (void)_failWithError:(NSError *)error; self.readyState = AWSSR_CLOSED; - SRFastLog(@"Failing with error %@", error.localizedDescription); + AWSSRFastLog(@"Failing with error %@", error.localizedDescription); [self closeConnection]; [self _scheduleCleanup]; @@ -819,7 +819,7 @@ - (void)handlePing:(NSData *)pingData; - (void)handlePong:(NSData *)pongData; { - SRFastLog(@"Received pong"); + AWSSRFastLog(@"Received pong"); [self _performDelegateBlock:^{ if ([self.delegate respondsToSelector:@selector(webSocket:didReceivePong:)]) { [self.delegate webSocket:self didReceivePong:pongData]; @@ -829,7 +829,7 @@ - (void)handlePong:(NSData *)pongData; - (void)_handleMessage:(id)message { - SRFastLog(@"Received message"); + AWSSRFastLog(@"Received message"); [self _performDelegateBlock:^{ [self.delegate webSocket:self didReceiveMessage:message]; }]; @@ -875,7 +875,7 @@ - (void)handleCloseWithData:(NSData *)data; size_t dataSize = data.length; __block uint16_t closeCode = 0; - SRFastLog(@"Received close frame"); + AWSSRFastLog(@"Received close frame"); if (dataSize == 1) { // TODO handle error @@ -912,7 +912,7 @@ - (void)handleCloseWithData:(NSData *)data; - (void)closeConnection; { [self assertOnWorkQueue]; - SRFastLog(@"Trying to disconnect"); + AWSSRFastLog(@"Trying to disconnect"); _closeWhenFinishedWriting = YES; [self _pumpWriting]; } @@ -1301,7 +1301,7 @@ - (BOOL)_innerPumpScanner { return didWork; } - SRIOConsumer *consumer = [_consumers objectAtIndex:0]; + AWSSRIOConsumer *consumer = [_consumers objectAtIndex:0]; size_t bytesNeeded = consumer.bytesNeeded; @@ -1543,7 +1543,7 @@ - (void)safeHandleEvent:(NSStreamEvent)eventCode stream:(NSStream *)aStream { switch (eventCode) { case NSStreamEventOpenCompleted: { - SRFastLog(@"NSStreamEventOpenCompleted %@", aStream); + AWSSRFastLog(@"NSStreamEventOpenCompleted %@", aStream); if (self.readyState >= AWSSR_CLOSING) { return; } @@ -1564,7 +1564,7 @@ - (void)safeHandleEvent:(NSStreamEvent)eventCode stream:(NSStream *)aStream } case NSStreamEventErrorOccurred: { - SRFastLog(@"NSStreamEventErrorOccurred %@ %@", aStream, [[aStream streamError] copy]); + AWSSRFastLog(@"NSStreamEventErrorOccurred %@ %@", aStream, [[aStream streamError] copy]); /// TODO specify error better! [self _failWithError:aStream.streamError]; self->_readBufferOffset = 0; @@ -1575,7 +1575,7 @@ - (void)safeHandleEvent:(NSStreamEvent)eventCode stream:(NSStream *)aStream case NSStreamEventEndEncountered: { [self _pumpScanner]; - SRFastLog(@"NSStreamEventEndEncountered %@", aStream); + AWSSRFastLog(@"NSStreamEventEndEncountered %@", aStream); if (aStream.streamError) { [self _failWithError:aStream.streamError]; } else { @@ -1601,7 +1601,7 @@ - (void)safeHandleEvent:(NSStreamEvent)eventCode stream:(NSStream *)aStream } case NSStreamEventHasBytesAvailable: { - SRFastLog(@"NSStreamEventHasBytesAvailable %@", aStream); + AWSSRFastLog(@"NSStreamEventHasBytesAvailable %@", aStream); const int bufferSize = 2048; uint8_t buffer[bufferSize]; @@ -1623,13 +1623,13 @@ - (void)safeHandleEvent:(NSStreamEvent)eventCode stream:(NSStream *)aStream } case NSStreamEventHasSpaceAvailable: { - SRFastLog(@"NSStreamEventHasSpaceAvailable %@", aStream); + AWSSRFastLog(@"NSStreamEventHasSpaceAvailable %@", aStream); [self _pumpWriting]; break; } default: - SRFastLog(@"(default) %@", aStream); + AWSSRFastLog(@"(default) %@", aStream); break; } } @@ -1637,7 +1637,7 @@ - (void)safeHandleEvent:(NSStreamEvent)eventCode stream:(NSStream *)aStream @end -@implementation SRIOConsumer +@implementation AWSSRIOConsumer @synthesize bytesNeeded = _bytesNeeded; @synthesize consumer = _scanner; @@ -1659,7 +1659,7 @@ - (void)setupWithScanner:(stream_scanner)scanner handler:(data_callback)handler @end -@implementation SRIOConsumerPool { +@implementation AWSSRIOConsumerPool { NSUInteger _poolSize; NSMutableArray *_bufferedConsumers; } @@ -1678,14 +1678,14 @@ - (id)init return [self initWithBufferCapacity:8]; } -- (SRIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; +- (AWSSRIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_callback)handler bytesNeeded:(size_t)bytesNeeded readToCurrentFrame:(BOOL)readToCurrentFrame unmaskBytes:(BOOL)unmaskBytes; { - SRIOConsumer *consumer = nil; + AWSSRIOConsumer *consumer = nil; if (_bufferedConsumers.count) { consumer = [_bufferedConsumers lastObject]; [_bufferedConsumers removeLastObject]; } else { - consumer = [[SRIOConsumer alloc] init]; + consumer = [[AWSSRIOConsumer alloc] init]; } [consumer setupWithScanner:scanner handler:handler bytesNeeded:bytesNeeded readToCurrentFrame:readToCurrentFrame unmaskBytes:unmaskBytes]; @@ -1693,7 +1693,7 @@ - (SRIOConsumer *)consumerWithScanner:(stream_scanner)scanner handler:(data_call return consumer; } -- (void)returnConsumer:(SRIOConsumer *)consumer; +- (void)returnConsumer:(AWSSRIOConsumer *)consumer; { if (_bufferedConsumers.count < _poolSize) { [_bufferedConsumers addObject:consumer]; @@ -1728,7 +1728,7 @@ - (void)setAWSSR_SSLPinnedCertificates:(NSArray *)AWSSR_SSLPinnedCertificates; @implementation NSURL (SRWebSocket) -- (NSString *)SR_origin; +- (NSString *)AWSSR_origin; { NSString *scheme = [self.scheme lowercaseString]; @@ -1753,7 +1753,7 @@ - (NSString *)SR_origin; #define SR_ENABLE_LOG -static inline void SRFastLog(NSString *format, ...) { +static inline void AWSSRFastLog(NSString *format, ...) { #ifdef SR_ENABLE_LOG __block va_list arg_list; va_start (arg_list, format); diff --git a/AWSIoTUnitTests/AWSIoTNSSecureCodingTests.m b/AWSIoTUnitTests/AWSIoTNSSecureCodingTests.m index b8dde4637aa..a9294fe0f76 100644 --- a/AWSIoTUnitTests/AWSIoTNSSecureCodingTests.m +++ b/AWSIoTUnitTests/AWSIoTNSSecureCodingTests.m @@ -311,6 +311,7 @@ - (void) test_AWSIoTField API_AVAILABLE(ios(11)); - (void) test_AWSIoTFileLocation API_AVAILABLE(ios(11)); - (void) test_AWSIoTFirehoseAction API_AVAILABLE(ios(11)); - (void) test_AWSIoTFleetMetricNameAndArn API_AVAILABLE(ios(11)); +- (void) test_AWSIoTGeoLocationTarget API_AVAILABLE(ios(11)); - (void) test_AWSIoTGetBehaviorModelTrainingSummariesRequest API_AVAILABLE(ios(11)); - (void) test_AWSIoTGetBehaviorModelTrainingSummariesResponse API_AVAILABLE(ios(11)); - (void) test_AWSIoTGetBucketsAggregationRequest API_AVAILABLE(ios(11)); @@ -375,6 +376,7 @@ - (void) test_AWSIoTJobProcessDetails API_AVAILABLE(ios(11)); - (void) test_AWSIoTJobSummary API_AVAILABLE(ios(11)); - (void) test_AWSIoTJobTemplateSummary API_AVAILABLE(ios(11)); - (void) test_AWSIoTKafkaAction API_AVAILABLE(ios(11)); +- (void) test_AWSIoTKafkaActionHeader API_AVAILABLE(ios(11)); - (void) test_AWSIoTKeyPair API_AVAILABLE(ios(11)); - (void) test_AWSIoTKinesisAction API_AVAILABLE(ios(11)); - (void) test_AWSIoTLambdaAction API_AVAILABLE(ios(11)); @@ -508,6 +510,7 @@ - (void) test_AWSIoTMetricDatum API_AVAILABLE(ios(11)); - (void) test_AWSIoTMetricDimension API_AVAILABLE(ios(11)); - (void) test_AWSIoTMetricToRetain API_AVAILABLE(ios(11)); - (void) test_AWSIoTMetricValue API_AVAILABLE(ios(11)); +- (void) test_AWSIoTMetricsExportConfig API_AVAILABLE(ios(11)); - (void) test_AWSIoTMitigationAction API_AVAILABLE(ios(11)); - (void) test_AWSIoTMitigationActionIdentifier API_AVAILABLE(ios(11)); - (void) test_AWSIoTMitigationActionParams API_AVAILABLE(ios(11)); @@ -1871,6 +1874,10 @@ - (void) test_AWSIoTFleetMetricNameAndArn { [self validateSecureCodingForClass:[AWSIoTFleetMetricNameAndArn class]]; } +- (void) test_AWSIoTGeoLocationTarget { + [self validateSecureCodingForClass:[AWSIoTGeoLocationTarget class]]; +} + - (void) test_AWSIoTGetBehaviorModelTrainingSummariesRequest { [self validateSecureCodingForClass:[AWSIoTGetBehaviorModelTrainingSummariesRequest class]]; } @@ -2127,6 +2134,10 @@ - (void) test_AWSIoTKafkaAction { [self validateSecureCodingForClass:[AWSIoTKafkaAction class]]; } +- (void) test_AWSIoTKafkaActionHeader { + [self validateSecureCodingForClass:[AWSIoTKafkaActionHeader class]]; +} + - (void) test_AWSIoTKeyPair { [self validateSecureCodingForClass:[AWSIoTKeyPair class]]; } @@ -2659,6 +2670,10 @@ - (void) test_AWSIoTMetricValue { [self validateSecureCodingForClass:[AWSIoTMetricValue class]]; } +- (void) test_AWSIoTMetricsExportConfig { + [self validateSecureCodingForClass:[AWSIoTMetricsExportConfig class]]; +} + - (void) test_AWSIoTMitigationAction { [self validateSecureCodingForClass:[AWSIoTMitigationAction class]]; } diff --git a/AWSKMS.podspec b/AWSKMS.podspec index f7402323dec..334a13cce3c 100644 --- a/AWSKMS.podspec +++ b/AWSKMS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKMS' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSKMS/*.{h,m}' end diff --git a/AWSKMS/AWSKMSService.m b/AWSKMS/AWSKMSService.m index 562e5837d9d..04625ee4523 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.33.4"; +NSString *const AWSKMSSDKVersion = @"2.33.5"; @interface AWSKMSResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKMS/Info.plist b/AWSKMS/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSKMS/Info.plist +++ b/AWSKMS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesis.podspec b/AWSKinesis.podspec index 721c79e4a3f..66589051ebc 100644 --- a/AWSKinesis.podspec +++ b/AWSKinesis.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesis' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSKinesis/*.{h,m}', 'AWSKinesis/**/*.{h,m}' s.private_header_files = 'AWSKinesis/Internal/*.h' end diff --git a/AWSKinesis/AWSFirehose.h b/AWSKinesis/AWSFirehose.h index 6b429548070..2d10a28a870 100644 --- a/AWSKinesis/AWSFirehose.h +++ b/AWSKinesis/AWSFirehose.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2023 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/AWSKinesis/AWSFirehoseModel.h b/AWSKinesis/AWSFirehoseModel.h index 8c7d3fac05a..673c828a4b5 100644 --- a/AWSKinesis/AWSFirehoseModel.h +++ b/AWSKinesis/AWSFirehoseModel.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2023 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. @@ -62,12 +62,24 @@ typedef NS_ENUM(NSInteger, AWSFirehoseCompressionFormat) { AWSFirehoseCompressionFormatHadoopSnappy, }; +typedef NS_ENUM(NSInteger, AWSFirehoseConnectivity) { + AWSFirehoseConnectivityUnknown, + AWSFirehoseConnectivityPublic, + AWSFirehoseConnectivityPrivate, +}; + typedef NS_ENUM(NSInteger, AWSFirehoseContentEncoding) { AWSFirehoseContentEncodingUnknown, AWSFirehoseContentEncodingNone, AWSFirehoseContentEncodingGzip, }; +typedef NS_ENUM(NSInteger, AWSFirehoseDefaultDocumentIdFormat) { + AWSFirehoseDefaultDocumentIdFormatUnknown, + AWSFirehoseDefaultDocumentIdFormatFirehoseDefault, + AWSFirehoseDefaultDocumentIdFormatNoDocumentId, +}; + typedef NS_ENUM(NSInteger, AWSFirehoseDeliveryStreamEncryptionStatus) { AWSFirehoseDeliveryStreamEncryptionStatusUnknown, AWSFirehoseDeliveryStreamEncryptionStatusEnabled, @@ -110,6 +122,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseDeliveryStreamType) { AWSFirehoseDeliveryStreamTypeUnknown, AWSFirehoseDeliveryStreamTypeDirectPut, AWSFirehoseDeliveryStreamTypeKinesisStreamAsSource, + AWSFirehoseDeliveryStreamTypeMSKAsSource, }; typedef NS_ENUM(NSInteger, AWSFirehoseElasticsearchIndexRotationPeriod) { @@ -187,11 +200,13 @@ typedef NS_ENUM(NSInteger, AWSFirehoseProcessorParameterName) { AWSFirehoseProcessorParameterNameBufferIntervalInSeconds, AWSFirehoseProcessorParameterNameSubRecordType, AWSFirehoseProcessorParameterNameDelimiter, + AWSFirehoseProcessorParameterNameCompressionFormat, }; typedef NS_ENUM(NSInteger, AWSFirehoseProcessorType) { AWSFirehoseProcessorTypeUnknown, AWSFirehoseProcessorTypeRecordDeAggregation, + AWSFirehoseProcessorTypeDecompression, AWSFirehoseProcessorTypeLambda, AWSFirehoseProcessorTypeMetadataExtraction, AWSFirehoseProcessorTypeAppendDelimiterToRecord, @@ -225,6 +240,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @class AWSFirehoseAmazonopensearchserviceDestinationDescription; @class AWSFirehoseAmazonopensearchserviceDestinationUpdate; @class AWSFirehoseAmazonopensearchserviceRetryOptions; +@class AWSFirehoseAuthenticationConfiguration; @class AWSFirehoseBufferingHints; @class AWSFirehoseCloudWatchLoggingOptions; @class AWSFirehoseReplicateCommand; @@ -240,6 +256,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @class AWSFirehoseDescribeDeliveryStreamOutput; @class AWSFirehoseDeserializer; @class AWSFirehoseDestinationDescription; +@class AWSFirehoseDocumentIdOptions; @class AWSFirehoseDynamicPartitioningConfiguration; @class AWSFirehoseElasticsearchBufferingHints; @class AWSFirehoseElasticsearchDestinationConfiguration; @@ -269,6 +286,8 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @class AWSFirehoseListDeliveryStreamsOutput; @class AWSFirehoseListTagsForDeliveryStreamInput; @class AWSFirehoseListTagsForDeliveryStreamOutput; +@class AWSFirehoseMSKSourceConfiguration; +@class AWSFirehoseMSKSourceDescription; @class AWSFirehoseOpenXJsonSerDe; @class AWSFirehoseOrcSerDe; @class AWSFirehoseOutputFormatConfiguration; @@ -382,7 +401,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @property (nonatomic, strong) AWSFirehoseS3DestinationConfiguration * _Nullable s3Configuration; /** -

The details of the VPC of the Amazon ES destination.

+

The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless destination.

*/ @property (nonatomic, strong) AWSFirehoseVpcConfiguration * _Nullable vpcConfiguration; @@ -425,7 +444,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @property (nonatomic, strong) AWSFirehoseAmazonOpenSearchServerlessRetryOptions * _Nullable retryOptions; /** -

The Amazon Resource Name (ARN) of the AWS credentials.

+

The Amazon Resource Name (ARN) of the Amazon Web Services credentials.

*/ @property (nonatomic, strong) NSString * _Nullable roleARN; @@ -547,6 +566,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) NSString * _Nullable clusterEndpoint; +/** +

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

+ */ +@property (nonatomic, strong) AWSFirehoseDocumentIdOptions * _Nullable documentIdOptions; + /**

The ARN of the Amazon OpenSearch Service domain. The IAM role must have permissions for DescribeElasticsearchDomain, DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after assuming the role specified in RoleARN.

*/ @@ -593,7 +617,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @property (nonatomic, strong) NSString * _Nullable typeName; /** -

The details of the VPC of the Amazon ES destination.

+

The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless destination.

*/ @property (nonatomic, strong) AWSFirehoseVpcConfiguration * _Nullable vpcConfiguration; @@ -620,6 +644,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) NSString * _Nullable clusterEndpoint; +/** +

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

+ */ +@property (nonatomic, strong) AWSFirehoseDocumentIdOptions * _Nullable documentIdOptions; + /**

The ARN of the Amazon OpenSearch Service domain.

*/ @@ -693,6 +722,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) NSString * _Nullable clusterEndpoint; +/** +

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

+ */ +@property (nonatomic, strong) AWSFirehoseDocumentIdOptions * _Nullable documentIdOptions; + /**

The ARN of the Amazon OpenSearch Service domain. The IAM role must have permissions for DescribeDomain, DescribeDomains, and DescribeDomainConfig after assuming the IAM role specified in RoleARN.

*/ @@ -748,6 +782,25 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @end +/** +

The authentication configuration of the Amazon MSK cluster.

+ Required parameters: [RoleARN, Connectivity] + */ +@interface AWSFirehoseAuthenticationConfiguration : AWSModel + + +/** +

The type of connectivity used to access the Amazon MSK cluster.

+ */ +@property (nonatomic, assign) AWSFirehoseConnectivity connectivity; + +/** +

The ARN of the role used to access the Amazon MSK cluster.

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

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Kinesis Data Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

*/ @@ -864,6 +917,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseKinesisStreamSourceConfiguration * _Nullable kinesisStreamSourceConfiguration; +/** +

The configuration for the Amazon MSK cluster to be used as the source for a delivery stream.

+ */ +@property (nonatomic, strong) AWSFirehoseMSKSourceConfiguration * _Nullable MSKSourceConfiguration; + /**

The destination in Amazon Redshift. You can specify only one destination.

*/ @@ -1177,6 +1235,20 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @end +/** +

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

+ Required parameters: [DefaultDocumentIdFormat] + */ +@interface AWSFirehoseDocumentIdOptions : AWSModel + + +/** +

When the FIREHOSE_DEFAULT option is chosen, Kinesis Data Firehose generates a unique document ID for each record based on a unique internal identifier. The generated document ID is stable across multiple delivery attempts, which helps prevent the same record from being indexed multiple times with different document IDs.

When the NO_DOCUMENT_ID option is chosen, Kinesis Data Firehose does not include any document IDs in the requests it sends to the Amazon OpenSearch Service. This causes the Amazon OpenSearch Service domain to generate document IDs. In case of multiple delivery attempts, this may cause the same record to be indexed more than once with different document IDs. This option enables write-heavy operations, such as the ingestion of logs and observability data, to consume less resources in the Amazon OpenSearch Service domain, resulting in improved performance.

+ */ +@property (nonatomic, assign) AWSFirehoseDefaultDocumentIdFormat defaultDocumentIdFormat; + +@end + /**

The configuration of the dynamic partitioning mechanism that creates smaller data sets from the streaming data by partitioning it based on partition keys. Currently, dynamic partitioning is only supported for Amazon S3 destinations.

*/ @@ -1235,6 +1307,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) NSString * _Nullable clusterEndpoint; +/** +

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

+ */ +@property (nonatomic, strong) AWSFirehoseDocumentIdOptions * _Nullable documentIdOptions; + /**

The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeDomain, DescribeDomains, and DescribeDomainConfig after assuming the role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

Specify either ClusterEndpoint or DomainARN.

*/ @@ -1281,7 +1358,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @property (nonatomic, strong) NSString * _Nullable typeName; /** -

The details of the VPC of the Amazon ES destination.

+

The details of the VPC of the Amazon destination.

*/ @property (nonatomic, strong) AWSFirehoseVpcConfiguration * _Nullable vpcConfiguration; @@ -1308,6 +1385,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) NSString * _Nullable clusterEndpoint; +/** +

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

+ */ +@property (nonatomic, strong) AWSFirehoseDocumentIdOptions * _Nullable documentIdOptions; + /**

The ARN of the Amazon ES domain. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

Kinesis Data Firehose uses either ClusterEndpoint or DomainARN to send data to Amazon ES.

*/ @@ -1354,7 +1436,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @property (nonatomic, strong) NSString * _Nullable typeName; /** -

The details of the VPC of the Amazon ES destination.

+

The details of the VPC of the Amazon OpenSearch or the Amazon OpenSearch Serverless destination.

*/ @property (nonatomic, strong) AWSFirehoseVpcConfigurationDescription * _Nullable vpcConfigurationDescription; @@ -1381,6 +1463,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) NSString * _Nullable clusterEndpoint; +/** +

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

+ */ +@property (nonatomic, strong) AWSFirehoseDocumentIdOptions * _Nullable documentIdOptions; + /**

The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeDomain, DescribeDomains, and DescribeDomainConfig after assuming the IAM role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

Specify either ClusterEndpoint or DomainARN.

*/ @@ -2128,6 +2215,58 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @end +/** +

The configuration for the Amazon MSK cluster to be used as the source for a delivery stream.

+ Required parameters: [MSKClusterARN, TopicName, AuthenticationConfiguration] + */ +@interface AWSFirehoseMSKSourceConfiguration : AWSModel + + +/** +

The authentication configuration of the Amazon MSK cluster.

+ */ +@property (nonatomic, strong) AWSFirehoseAuthenticationConfiguration * _Nullable authenticationConfiguration; + +/** +

The ARN of the Amazon MSK cluster.

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

The topic name within the Amazon MSK cluster.

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

Details about the Amazon MSK cluster used as the source for a Kinesis Data Firehose delivery stream.

+ */ +@interface AWSFirehoseMSKSourceDescription : AWSModel + + +/** +

The authentication configuration of the Amazon MSK cluster.

+ */ +@property (nonatomic, strong) AWSFirehoseAuthenticationConfiguration * _Nullable authenticationConfiguration; + +/** +

Kinesis Data Firehose starts retrieving records from the topic within the Amazon MSK cluster starting with this timestamp.

+ */ +@property (nonatomic, strong) NSDate * _Nullable deliveryStartTimestamp; + +/** +

The ARN of the Amazon MSK cluster.

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

The topic name within the Amazon MSK cluster.

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

The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.

*/ @@ -2855,6 +2994,11 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { */ @property (nonatomic, strong) AWSFirehoseKinesisStreamSourceDescription * _Nullable kinesisStreamSourceDescription; +/** +

The configuration description for the Amazon MSK cluster to be used as the source for a delivery stream.

+ */ +@property (nonatomic, strong) AWSFirehoseMSKSourceDescription * _Nullable MSKSourceDescription; + @end /** @@ -3220,7 +3364,7 @@ typedef NS_ENUM(NSInteger, AWSFirehoseSplunkS3BackupMode) { @end /** -

The details of the VPC of the Amazon ES destination.

+

The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless destination.

Required parameters: [SubnetIds, RoleARN, SecurityGroupIds] */ @interface AWSFirehoseVpcConfiguration : AWSModel diff --git a/AWSKinesis/AWSFirehoseModel.m b/AWSKinesis/AWSFirehoseModel.m index 9af9de394f9..9dea2b9ccb5 100644 --- a/AWSKinesis/AWSFirehoseModel.m +++ b/AWSKinesis/AWSFirehoseModel.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2023 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. @@ -250,6 +250,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"bufferingHints" : @"BufferingHints", @"cloudWatchLoggingOptions" : @"CloudWatchLoggingOptions", @"clusterEndpoint" : @"ClusterEndpoint", + @"documentIdOptions" : @"DocumentIdOptions", @"domainARN" : @"DomainARN", @"indexName" : @"IndexName", @"indexRotationPeriod" : @"IndexRotationPeriod", @@ -271,6 +272,10 @@ + (NSValueTransformer *)cloudWatchLoggingOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseCloudWatchLoggingOptions class]]; } ++ (NSValueTransformer *)documentIdOptionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseDocumentIdOptions class]]; +} + + (NSValueTransformer *)indexRotationPeriodJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"NoRotation"] == NSOrderedSame) { @@ -357,6 +362,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"bufferingHints" : @"BufferingHints", @"cloudWatchLoggingOptions" : @"CloudWatchLoggingOptions", @"clusterEndpoint" : @"ClusterEndpoint", + @"documentIdOptions" : @"DocumentIdOptions", @"domainARN" : @"DomainARN", @"indexName" : @"IndexName", @"indexRotationPeriod" : @"IndexRotationPeriod", @@ -378,6 +384,10 @@ + (NSValueTransformer *)cloudWatchLoggingOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseCloudWatchLoggingOptions class]]; } ++ (NSValueTransformer *)documentIdOptionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseDocumentIdOptions class]]; +} + + (NSValueTransformer *)indexRotationPeriodJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"NoRotation"] == NSOrderedSame) { @@ -464,6 +474,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"bufferingHints" : @"BufferingHints", @"cloudWatchLoggingOptions" : @"CloudWatchLoggingOptions", @"clusterEndpoint" : @"ClusterEndpoint", + @"documentIdOptions" : @"DocumentIdOptions", @"domainARN" : @"DomainARN", @"indexName" : @"IndexName", @"indexRotationPeriod" : @"IndexRotationPeriod", @@ -483,6 +494,10 @@ + (NSValueTransformer *)cloudWatchLoggingOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseCloudWatchLoggingOptions class]]; } ++ (NSValueTransformer *)documentIdOptionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseDocumentIdOptions class]]; +} + + (NSValueTransformer *)indexRotationPeriodJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"NoRotation"] == NSOrderedSame) { @@ -547,6 +562,42 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSFirehoseAuthenticationConfiguration + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"connectivity" : @"Connectivity", + @"roleARN" : @"RoleARN", + }; +} + ++ (NSValueTransformer *)connectivityJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"PUBLIC"] == NSOrderedSame) { + return @(AWSFirehoseConnectivityPublic); + } + if ([value caseInsensitiveCompare:@"PRIVATE"] == NSOrderedSame) { + return @(AWSFirehoseConnectivityPrivate); + } + return @(AWSFirehoseConnectivityUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSFirehoseConnectivityPublic: + return @"PUBLIC"; + case AWSFirehoseConnectivityPrivate: + return @"PRIVATE"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSFirehoseBufferingHints + (BOOL)supportsSecureCoding { @@ -611,6 +662,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"extendedS3DestinationConfiguration" : @"ExtendedS3DestinationConfiguration", @"httpEndpointDestinationConfiguration" : @"HttpEndpointDestinationConfiguration", @"kinesisStreamSourceConfiguration" : @"KinesisStreamSourceConfiguration", + @"MSKSourceConfiguration" : @"MSKSourceConfiguration", @"redshiftDestinationConfiguration" : @"RedshiftDestinationConfiguration", @"s3DestinationConfiguration" : @"S3DestinationConfiguration", @"splunkDestinationConfiguration" : @"SplunkDestinationConfiguration", @@ -638,6 +690,9 @@ + (NSValueTransformer *)deliveryStreamTypeJSONTransformer { if ([value caseInsensitiveCompare:@"KinesisStreamAsSource"] == NSOrderedSame) { return @(AWSFirehoseDeliveryStreamTypeKinesisStreamAsSource); } + if ([value caseInsensitiveCompare:@"MSKAsSource"] == NSOrderedSame) { + return @(AWSFirehoseDeliveryStreamTypeMSKAsSource); + } return @(AWSFirehoseDeliveryStreamTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -645,6 +700,8 @@ + (NSValueTransformer *)deliveryStreamTypeJSONTransformer { return @"DirectPut"; case AWSFirehoseDeliveryStreamTypeKinesisStreamAsSource: return @"KinesisStreamAsSource"; + case AWSFirehoseDeliveryStreamTypeMSKAsSource: + return @"MSKAsSource"; default: return nil; } @@ -667,6 +724,10 @@ + (NSValueTransformer *)kinesisStreamSourceConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseKinesisStreamSourceConfiguration class]]; } ++ (NSValueTransformer *)MSKSourceConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseMSKSourceConfiguration class]]; +} + + (NSValueTransformer *)redshiftDestinationConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseRedshiftDestinationConfiguration class]]; } @@ -830,6 +891,9 @@ + (NSValueTransformer *)deliveryStreamTypeJSONTransformer { if ([value caseInsensitiveCompare:@"KinesisStreamAsSource"] == NSOrderedSame) { return @(AWSFirehoseDeliveryStreamTypeKinesisStreamAsSource); } + if ([value caseInsensitiveCompare:@"MSKAsSource"] == NSOrderedSame) { + return @(AWSFirehoseDeliveryStreamTypeMSKAsSource); + } return @(AWSFirehoseDeliveryStreamTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -837,6 +901,8 @@ + (NSValueTransformer *)deliveryStreamTypeJSONTransformer { return @"DirectPut"; case AWSFirehoseDeliveryStreamTypeKinesisStreamAsSource: return @"KinesisStreamAsSource"; + case AWSFirehoseDeliveryStreamTypeMSKAsSource: + return @"MSKAsSource"; default: return nil; } @@ -1095,6 +1161,41 @@ + (NSValueTransformer *)splunkDestinationDescriptionJSONTransformer { @end +@implementation AWSFirehoseDocumentIdOptions + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"defaultDocumentIdFormat" : @"DefaultDocumentIdFormat", + }; +} + ++ (NSValueTransformer *)defaultDocumentIdFormatJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"FIREHOSE_DEFAULT"] == NSOrderedSame) { + return @(AWSFirehoseDefaultDocumentIdFormatFirehoseDefault); + } + if ([value caseInsensitiveCompare:@"NO_DOCUMENT_ID"] == NSOrderedSame) { + return @(AWSFirehoseDefaultDocumentIdFormatNoDocumentId); + } + return @(AWSFirehoseDefaultDocumentIdFormatUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSFirehoseDefaultDocumentIdFormatFirehoseDefault: + return @"FIREHOSE_DEFAULT"; + case AWSFirehoseDefaultDocumentIdFormatNoDocumentId: + return @"NO_DOCUMENT_ID"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSFirehoseDynamicPartitioningConfiguration + (BOOL)supportsSecureCoding { @@ -1140,6 +1241,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"bufferingHints" : @"BufferingHints", @"cloudWatchLoggingOptions" : @"CloudWatchLoggingOptions", @"clusterEndpoint" : @"ClusterEndpoint", + @"documentIdOptions" : @"DocumentIdOptions", @"domainARN" : @"DomainARN", @"indexName" : @"IndexName", @"indexRotationPeriod" : @"IndexRotationPeriod", @@ -1161,6 +1263,10 @@ + (NSValueTransformer *)cloudWatchLoggingOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseCloudWatchLoggingOptions class]]; } ++ (NSValueTransformer *)documentIdOptionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseDocumentIdOptions class]]; +} + + (NSValueTransformer *)indexRotationPeriodJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"NoRotation"] == NSOrderedSame) { @@ -1247,6 +1353,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"bufferingHints" : @"BufferingHints", @"cloudWatchLoggingOptions" : @"CloudWatchLoggingOptions", @"clusterEndpoint" : @"ClusterEndpoint", + @"documentIdOptions" : @"DocumentIdOptions", @"domainARN" : @"DomainARN", @"indexName" : @"IndexName", @"indexRotationPeriod" : @"IndexRotationPeriod", @@ -1268,6 +1375,10 @@ + (NSValueTransformer *)cloudWatchLoggingOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseCloudWatchLoggingOptions class]]; } ++ (NSValueTransformer *)documentIdOptionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseDocumentIdOptions class]]; +} + + (NSValueTransformer *)indexRotationPeriodJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"NoRotation"] == NSOrderedSame) { @@ -1354,6 +1465,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"bufferingHints" : @"BufferingHints", @"cloudWatchLoggingOptions" : @"CloudWatchLoggingOptions", @"clusterEndpoint" : @"ClusterEndpoint", + @"documentIdOptions" : @"DocumentIdOptions", @"domainARN" : @"DomainARN", @"indexName" : @"IndexName", @"indexRotationPeriod" : @"IndexRotationPeriod", @@ -1373,6 +1485,10 @@ + (NSValueTransformer *)cloudWatchLoggingOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseCloudWatchLoggingOptions class]]; } ++ (NSValueTransformer *)documentIdOptionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseDocumentIdOptions class]]; +} + + (NSValueTransformer *)indexRotationPeriodJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"NoRotation"] == NSOrderedSame) { @@ -2341,6 +2457,9 @@ + (NSValueTransformer *)deliveryStreamTypeJSONTransformer { if ([value caseInsensitiveCompare:@"KinesisStreamAsSource"] == NSOrderedSame) { return @(AWSFirehoseDeliveryStreamTypeKinesisStreamAsSource); } + if ([value caseInsensitiveCompare:@"MSKAsSource"] == NSOrderedSame) { + return @(AWSFirehoseDeliveryStreamTypeMSKAsSource); + } return @(AWSFirehoseDeliveryStreamTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2348,6 +2467,8 @@ + (NSValueTransformer *)deliveryStreamTypeJSONTransformer { return @"DirectPut"; case AWSFirehoseDeliveryStreamTypeKinesisStreamAsSource: return @"KinesisStreamAsSource"; + case AWSFirehoseDeliveryStreamTypeMSKAsSource: + return @"MSKAsSource"; default: return nil; } @@ -2406,6 +2527,55 @@ + (NSValueTransformer *)tagsJSONTransformer { @end +@implementation AWSFirehoseMSKSourceConfiguration + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"authenticationConfiguration" : @"AuthenticationConfiguration", + @"MSKClusterARN" : @"MSKClusterARN", + @"topicName" : @"TopicName", + }; +} + ++ (NSValueTransformer *)authenticationConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseAuthenticationConfiguration class]]; +} + +@end + +@implementation AWSFirehoseMSKSourceDescription + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"authenticationConfiguration" : @"AuthenticationConfiguration", + @"deliveryStartTimestamp" : @"DeliveryStartTimestamp", + @"MSKClusterARN" : @"MSKClusterARN", + @"topicName" : @"TopicName", + }; +} + ++ (NSValueTransformer *)authenticationConfigurationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseAuthenticationConfiguration class]]; +} + ++ (NSValueTransformer *)deliveryStartTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + +@end + @implementation AWSFirehoseOpenXJsonSerDe + (BOOL)supportsSecureCoding { @@ -2617,6 +2787,9 @@ + (NSValueTransformer *)typesJSONTransformer { if ([value caseInsensitiveCompare:@"RecordDeAggregation"] == NSOrderedSame) { return @(AWSFirehoseProcessorTypeRecordDeAggregation); } + if ([value caseInsensitiveCompare:@"Decompression"] == NSOrderedSame) { + return @(AWSFirehoseProcessorTypeDecompression); + } if ([value caseInsensitiveCompare:@"Lambda"] == NSOrderedSame) { return @(AWSFirehoseProcessorTypeLambda); } @@ -2631,6 +2804,8 @@ + (NSValueTransformer *)typesJSONTransformer { switch ([value integerValue]) { case AWSFirehoseProcessorTypeRecordDeAggregation: return @"RecordDeAggregation"; + case AWSFirehoseProcessorTypeDecompression: + return @"Decompression"; case AWSFirehoseProcessorTypeLambda: return @"Lambda"; case AWSFirehoseProcessorTypeMetadataExtraction: @@ -2687,6 +2862,9 @@ + (NSValueTransformer *)parameterNameJSONTransformer { if ([value caseInsensitiveCompare:@"Delimiter"] == NSOrderedSame) { return @(AWSFirehoseProcessorParameterNameDelimiter); } + if ([value caseInsensitiveCompare:@"CompressionFormat"] == NSOrderedSame) { + return @(AWSFirehoseProcessorParameterNameCompressionFormat); + } return @(AWSFirehoseProcessorParameterNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2708,6 +2886,8 @@ + (NSValueTransformer *)parameterNameJSONTransformer { return @"SubRecordType"; case AWSFirehoseProcessorParameterNameDelimiter: return @"Delimiter"; + case AWSFirehoseProcessorParameterNameCompressionFormat: + return @"CompressionFormat"; default: return nil; } @@ -3311,6 +3491,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"kinesisStreamSourceDescription" : @"KinesisStreamSourceDescription", + @"MSKSourceDescription" : @"MSKSourceDescription", }; } @@ -3318,6 +3499,10 @@ + (NSValueTransformer *)kinesisStreamSourceDescriptionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseKinesisStreamSourceDescription class]]; } ++ (NSValueTransformer *)MSKSourceDescriptionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSFirehoseMSKSourceDescription class]]; +} + @end @implementation AWSFirehoseSplunkDestinationConfiguration diff --git a/AWSKinesis/AWSFirehoseResources.h b/AWSKinesis/AWSFirehoseResources.h index 4e7f35ad5dd..7068c6be2d1 100644 --- a/AWSKinesis/AWSFirehoseResources.h +++ b/AWSKinesis/AWSFirehoseResources.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2023 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/AWSKinesis/AWSFirehoseResources.m b/AWSKinesis/AWSFirehoseResources.m index 632fc0d368f..7b782c54844 100644 --- a/AWSKinesis/AWSFirehoseResources.m +++ b/AWSKinesis/AWSFirehoseResources.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2023 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. @@ -85,7 +85,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceInUseException\"},\ {\"shape\":\"InvalidKMSResourceException\"}\ ],\ - \"documentation\":\"

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per Amazon Web Services Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled.

A delivery stream is configured with a single destination: Amazon S3, Amazon ES, Amazon Redshift, or Splunk. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

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

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per Amazon Web Services Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled.

A delivery stream is configured with a single destination, such as Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch Serverless, Splunk, and any custom HTTP endpoint or HTTP endpoints owned by or supported by third-party service providers, including Datadog, Dynatrace, LogicMonitor, MongoDB, New Relic, and Sumo Logic. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

\"\ },\ \"DeleteDeliveryStream\":{\ \"name\":\"DeleteDeliveryStream\",\ @@ -153,7 +153,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidKMSResourceException\"},\ {\"shape\":\"ServiceUnavailableException\"}\ ],\ - \"documentation\":\"

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KiB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

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

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

Kinesis Data Firehose accumulates and publishes a particular metric for a customer account in one minute intervals. It is possible that the bursts of incoming bytes/records ingested to a delivery stream last only for a few seconds. Due to this, the actual spikes in the traffic might not be fully visible in the customer's 1 minute CloudWatch metrics.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KiB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, the API is automatically reinvoked (retried) 3 times. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Re-invoking the Put API operations (for example, PutRecord and PutRecordBatch) can result in data duplicates. For larger data assets, allow for a longer time out before retrying Put API operations.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

\"\ },\ \"PutRecordBatch\":{\ \"name\":\"PutRecordBatch\",\ @@ -169,7 +169,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidKMSResourceException\"},\ {\"shape\":\"ServiceUnavailableException\"}\ ],\ - \"documentation\":\"

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

For information about service quota, see Amazon Kinesis Data Firehose Quota.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before base64 encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

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

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

Kinesis Data Firehose accumulates and publishes a particular metric for a customer account in one minute intervals. It is possible that the bursts of incoming bytes/records ingested to a delivery stream last only for a few seconds. Due to this, the actual spikes in the traffic might not be fully visible in the customer's 1 minute CloudWatch metrics.

For information about service quota, see Amazon Kinesis Data Firehose Quota.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before base64 encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, the API is automatically reinvoked (retried) 3 times. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Re-invoking the Put API operations (for example, PutRecord and PutRecordBatch) can result in data duplicates. For larger data assets, allow for a longer time out before retrying Put API operations.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

\"\ },\ \"StartDeliveryStreamEncryption\":{\ \"name\":\"StartDeliveryStreamEncryption\",\ @@ -186,7 +186,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, Kinesis Data 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, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

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 Kinesis Data 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, Kinesis Data 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, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data 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, Kinesis Data 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 Kinesis Data 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\",\ @@ -250,7 +250,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceNotFoundException\"},\ {\"shape\":\"ConcurrentModificationException\"}\ ],\ - \"documentation\":\"

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

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

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon OpenSearch Service and other services is not supported. For an Amazon OpenSearch Service destination, you can only update to another Amazon OpenSearch Service destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

\"\ }\ },\ \"shapes\":{\ @@ -334,7 +334,7 @@ - (NSString *)definitionString { \"members\":{\ \"RoleARN\":{\ \"shape\":\"RoleARN\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the AWS credentials.

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

The Amazon Resource Name (ARN) of the Amazon Web Services credentials.

\"\ },\ \"CollectionEndpoint\":{\ \"shape\":\"AmazonOpenSearchServerlessCollectionEndpoint\",\ @@ -497,7 +497,11 @@ - (NSString *)definitionString { \"S3Configuration\":{\"shape\":\"S3DestinationConfiguration\"},\ \"ProcessingConfiguration\":{\"shape\":\"ProcessingConfiguration\"},\ \"CloudWatchLoggingOptions\":{\"shape\":\"CloudWatchLoggingOptions\"},\ - \"VpcConfiguration\":{\"shape\":\"VpcConfiguration\"}\ + \"VpcConfiguration\":{\"shape\":\"VpcConfiguration\"},\ + \"DocumentIdOptions\":{\ + \"shape\":\"DocumentIdOptions\",\ + \"documentation\":\"

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

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

Describes the configuration of a destination in Amazon OpenSearch Service

\"\ },\ @@ -543,7 +547,11 @@ - (NSString *)definitionString { \"S3DestinationDescription\":{\"shape\":\"S3DestinationDescription\"},\ \"ProcessingConfiguration\":{\"shape\":\"ProcessingConfiguration\"},\ \"CloudWatchLoggingOptions\":{\"shape\":\"CloudWatchLoggingOptions\"},\ - \"VpcConfigurationDescription\":{\"shape\":\"VpcConfigurationDescription\"}\ + \"VpcConfigurationDescription\":{\"shape\":\"VpcConfigurationDescription\"},\ + \"DocumentIdOptions\":{\ + \"shape\":\"DocumentIdOptions\",\ + \"documentation\":\"

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

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

The destination description in Amazon OpenSearch Service.

\"\ },\ @@ -584,7 +592,11 @@ - (NSString *)definitionString { },\ \"S3Update\":{\"shape\":\"S3DestinationUpdate\"},\ \"ProcessingConfiguration\":{\"shape\":\"ProcessingConfiguration\"},\ - \"CloudWatchLoggingOptions\":{\"shape\":\"CloudWatchLoggingOptions\"}\ + \"CloudWatchLoggingOptions\":{\"shape\":\"CloudWatchLoggingOptions\"},\ + \"DocumentIdOptions\":{\ + \"shape\":\"DocumentIdOptions\",\ + \"documentation\":\"

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

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

Describes an update for a destination in Amazon OpenSearch Service.

\"\ },\ @@ -638,6 +650,24 @@ - (NSString *)definitionString { \"min\":0,\ \"pattern\":\".*\"\ },\ + \"AuthenticationConfiguration\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"RoleARN\",\ + \"Connectivity\"\ + ],\ + \"members\":{\ + \"RoleARN\":{\ + \"shape\":\"RoleARN\",\ + \"documentation\":\"

The ARN of the role used to access the Amazon MSK cluster.

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

The type of connectivity used to access the Amazon MSK cluster.

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

The authentication configuration of the Amazon MSK cluster.

\"\ + },\ \"BlockSizeBytes\":{\ \"type\":\"integer\",\ \"min\":67108864\ @@ -685,7 +715,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":512,\ \"min\":1,\ - \"pattern\":\"jdbc:(redshift|postgresql)://((?!-)[A-Za-z0-9-]{1,63}(?Another modification has already happened. Fetch VersionId again and use it to update the destination.

\",\ \"exception\":true\ },\ + \"Connectivity\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"PUBLIC\",\ + \"PRIVATE\"\ + ]\ + },\ \"ContentEncoding\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -801,7 +838,8 @@ - (NSString *)definitionString { \"AmazonOpenSearchServerlessDestinationConfiguration\":{\ \"shape\":\"AmazonOpenSearchServerlessDestinationConfiguration\",\ \"documentation\":\"

The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination.

\"\ - }\ + },\ + \"MSKSourceConfiguration\":{\"shape\":\"MSKSourceConfiguration\"}\ }\ },\ \"CreateDeliveryStreamOutput\":{\ @@ -852,6 +890,13 @@ - (NSString *)definitionString { \"min\":1,\ \"pattern\":\".*\"\ },\ + \"DefaultDocumentIdFormat\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"FIREHOSE_DEFAULT\",\ + \"NO_DOCUMENT_ID\"\ + ]\ + },\ \"DeleteDeliveryStreamInput\":{\ \"type\":\"structure\",\ \"required\":[\"DeliveryStreamName\"],\ @@ -1033,7 +1078,8 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\ \"DirectPut\",\ - \"KinesisStreamAsSource\"\ + \"KinesisStreamAsSource\",\ + \"MSKAsSource\"\ ]\ },\ \"DeliveryStreamVersionId\":{\ @@ -1142,6 +1188,17 @@ - (NSString *)definitionString { \"min\":1,\ \"pattern\":\"[a-zA-Z0-9-]+\"\ },\ + \"DocumentIdOptions\":{\ + \"type\":\"structure\",\ + \"required\":[\"DefaultDocumentIdFormat\"],\ + \"members\":{\ + \"DefaultDocumentIdFormat\":{\ + \"shape\":\"DefaultDocumentIdFormat\",\ + \"documentation\":\"

When the FIREHOSE_DEFAULT option is chosen, Kinesis Data Firehose generates a unique document ID for each record based on a unique internal identifier. The generated document ID is stable across multiple delivery attempts, which helps prevent the same record from being indexed multiple times with different document IDs.

When the NO_DOCUMENT_ID option is chosen, Kinesis Data Firehose does not include any document IDs in the requests it sends to the Amazon OpenSearch Service. This causes the Amazon OpenSearch Service domain to generate document IDs. In case of multiple delivery attempts, this may cause the same record to be indexed more than once with different document IDs. This option enables write-heavy operations, such as the ingestion of logs and observability data, to consume less resources in the Amazon OpenSearch Service domain, resulting in improved performance.

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

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

\"\ + },\ \"DynamicPartitioningConfiguration\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -1244,7 +1301,11 @@ - (NSString *)definitionString { },\ \"VpcConfiguration\":{\ \"shape\":\"VpcConfiguration\",\ - \"documentation\":\"

The details of the VPC of the Amazon ES destination.

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

The details of the VPC of the Amazon destination.

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

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

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

Describes the configuration of a destination in Amazon ES.

\"\ @@ -1302,7 +1363,11 @@ - (NSString *)definitionString { },\ \"VpcConfigurationDescription\":{\ \"shape\":\"VpcConfigurationDescription\",\ - \"documentation\":\"

The details of the VPC of the Amazon ES destination.

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

The details of the VPC of the Amazon OpenSearch or the Amazon OpenSearch Serverless destination.

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

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

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

The destination description in Amazon ES.

\"\ @@ -1353,6 +1418,10 @@ - (NSString *)definitionString { \"CloudWatchLoggingOptions\":{\ \"shape\":\"CloudWatchLoggingOptions\",\ \"documentation\":\"

The CloudWatch logging options for your delivery stream.

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

Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

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

Describes an update for a destination in Amazon ES.

\"\ @@ -2131,6 +2200,57 @@ - (NSString *)definitionString { \"min\":0,\ \"pattern\":\"[^:*]*\"\ },\ + \"MSKClusterARN\":{\ + \"type\":\"string\",\ + \"max\":512,\ + \"min\":1,\ + \"pattern\":\"arn:.*\"\ + },\ + \"MSKSourceConfiguration\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"MSKClusterARN\",\ + \"TopicName\",\ + \"AuthenticationConfiguration\"\ + ],\ + \"members\":{\ + \"MSKClusterARN\":{\ + \"shape\":\"MSKClusterARN\",\ + \"documentation\":\"

The ARN of the Amazon MSK cluster.

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

The topic name within the Amazon MSK cluster.

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

The authentication configuration of the Amazon MSK cluster.

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

The configuration for the Amazon MSK cluster to be used as the source for a delivery stream.

\"\ + },\ + \"MSKSourceDescription\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"MSKClusterARN\":{\ + \"shape\":\"MSKClusterARN\",\ + \"documentation\":\"

The ARN of the Amazon MSK cluster.

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

The topic name within the Amazon MSK cluster.

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

The authentication configuration of the Amazon MSK cluster.

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

Kinesis Data Firehose starts retrieving records from the topic within the Amazon MSK cluster starting with this timestamp.

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

Details about the Amazon MSK cluster used as the source for a Kinesis Data Firehose delivery stream.

\"\ + },\ \"NoEncryptionConfig\":{\ \"type\":\"string\",\ \"enum\":[\"NoEncryption\"]\ @@ -2376,7 +2496,8 @@ - (NSString *)definitionString { \"BufferSizeInMBs\",\ \"BufferIntervalInSeconds\",\ \"SubRecordType\",\ - \"Delimiter\"\ + \"Delimiter\",\ + \"CompressionFormat\"\ ]\ },\ \"ProcessorParameterValue\":{\ @@ -2389,6 +2510,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\ \"RecordDeAggregation\",\ + \"Decompression\",\ \"Lambda\",\ \"MetadataExtraction\",\ \"AppendDelimiterToRecord\"\ @@ -2944,6 +3066,10 @@ - (NSString *)definitionString { \"KinesisStreamSourceDescription\":{\ \"shape\":\"KinesisStreamSourceDescription\",\ \"documentation\":\"

The KinesisStreamSourceDescription value for the source Kinesis data stream.

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

The configuration description for the Amazon MSK cluster to be used as the source for a delivery stream.

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

Details about a Kinesis data stream used as the source for a Kinesis Data Firehose delivery stream.

\"\ @@ -3204,6 +3330,12 @@ - (NSString *)definitionString { \"pattern\":\"^[\\\\p{L}\\\\p{Z}\\\\p{N}_.:\\\\/=+\\\\-@%]*$\"\ },\ \"Timestamp\":{\"type\":\"timestamp\"},\ + \"TopicName\":{\ + \"type\":\"string\",\ + \"max\":255,\ + \"min\":1,\ + \"pattern\":\"[a-zA-Z0-9\\\\\\\\._\\\\\\\\-]+\"\ + },\ \"UntagDeliveryStreamInput\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -3314,7 +3446,7 @@ - (NSString *)definitionString { \"documentation\":\"

The IDs of the security groups that you want Kinesis Data Firehose to use when it creates ENIs in the VPC of the Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify different security groups here, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see Security group rules in the Amazon VPC documentation.

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

The details of the VPC of the Amazon ES destination.

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

The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless destination.

\"\ },\ \"VpcConfigurationDescription\":{\ \"type\":\"structure\",\ diff --git a/AWSKinesis/AWSFirehoseService.h b/AWSKinesis/AWSFirehoseService.h index 58902957f45..7b73487c82d 100644 --- a/AWSKinesis/AWSFirehoseService.h +++ b/AWSKinesis/AWSFirehoseService.h @@ -1,5 +1,5 @@ // -// Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2023 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. @@ -175,7 +175,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; + (void)removeFirehoseForKey:(NSString *)key; /** -

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per Amazon Web Services Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled.

A delivery stream is configured with a single destination: Amazon S3, Amazon ES, Amazon Redshift, or Splunk. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

+

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per Amazon Web Services Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled.

A delivery stream is configured with a single destination, such as Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch Serverless, Splunk, and any custom HTTP endpoint or HTTP endpoints owned by or supported by third-party service providers, including Datadog, Dynatrace, LogicMonitor, MongoDB, New Relic, and Sumo Logic. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

@param request A container for the necessary parameters to execute the CreateDeliveryStream service method. @@ -187,7 +187,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; - (AWSTask *)createDeliveryStream:(AWSFirehoseCreateDeliveryStreamInput *)request; /** -

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per Amazon Web Services Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled.

A delivery stream is configured with a single destination: Amazon S3, Amazon ES, Amazon Redshift, or Splunk. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

+

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per Amazon Web Services Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled.

A delivery stream is configured with a single destination, such as Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch Serverless, Splunk, and any custom HTTP endpoint or HTTP endpoints owned by or supported by third-party service providers, including Datadog, Dynatrace, LogicMonitor, MongoDB, New Relic, and Sumo Logic. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

@param request A container for the necessary parameters to execute the CreateDeliveryStream service method. @param completionHandler The completion handler to call when the load request is complete. @@ -300,7 +300,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; - (void)listTagsForDeliveryStream:(AWSFirehoseListTagsForDeliveryStreamInput *)request completionHandler:(void (^ _Nullable)(AWSFirehoseListTagsForDeliveryStreamOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KiB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

+

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

Kinesis Data Firehose accumulates and publishes a particular metric for a customer account in one minute intervals. It is possible that the bursts of incoming bytes/records ingested to a delivery stream last only for a few seconds. Due to this, the actual spikes in the traffic might not be fully visible in the customer's 1 minute CloudWatch metrics.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KiB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, the API is automatically reinvoked (retried) 3 times. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Re-invoking the Put API operations (for example, PutRecord and PutRecordBatch) can result in data duplicates. For larger data assets, allow for a longer time out before retrying Put API operations.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

@param request A container for the necessary parameters to execute the PutRecord service method. @@ -312,7 +312,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; - (AWSTask *)putRecord:(AWSFirehosePutRecordInput *)request; /** -

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KiB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

+

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

Kinesis Data Firehose accumulates and publishes a particular metric for a customer account in one minute intervals. It is possible that the bursts of incoming bytes/records ingested to a delivery stream last only for a few seconds. Due to this, the actual spikes in the traffic might not be fully visible in the customer's 1 minute CloudWatch metrics.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KiB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, the API is automatically reinvoked (retried) 3 times. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Re-invoking the Put API operations (for example, PutRecord and PutRecordBatch) can result in data duplicates. For larger data assets, allow for a longer time out before retrying Put API operations.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

@param request A container for the necessary parameters to execute the PutRecord service method. @param completionHandler The completion handler to call when the load request is complete. @@ -325,7 +325,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; - (void)putRecord:(AWSFirehosePutRecordInput *)request completionHandler:(void (^ _Nullable)(AWSFirehosePutRecordOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

For information about service quota, see Amazon Kinesis Data Firehose Quota.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before base64 encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

+

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

Kinesis Data Firehose accumulates and publishes a particular metric for a customer account in one minute intervals. It is possible that the bursts of incoming bytes/records ingested to a delivery stream last only for a few seconds. Due to this, the actual spikes in the traffic might not be fully visible in the customer's 1 minute CloudWatch metrics.

For information about service quota, see Amazon Kinesis Data Firehose Quota.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before base64 encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, the API is automatically reinvoked (retried) 3 times. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Re-invoking the Put API operations (for example, PutRecord and PutRecordBatch) can result in data duplicates. For larger data assets, allow for a longer time out before retrying Put API operations.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

@param request A container for the necessary parameters to execute the PutRecordBatch service method. @@ -337,7 +337,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; - (AWSTask *)putRecordBatch:(AWSFirehosePutRecordBatchInput *)request; /** -

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

For information about service quota, see Amazon Kinesis Data Firehose Quota.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before base64 encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

+

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

Kinesis Data Firehose accumulates and publishes a particular metric for a customer account in one minute intervals. It is possible that the bursts of incoming bytes/records ingested to a delivery stream last only for a few seconds. Due to this, the actual spikes in the traffic might not be fully visible in the customer's 1 minute CloudWatch metrics.

For information about service quota, see Amazon Kinesis Data Firehose Quota.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before base64 encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, the API is automatically reinvoked (retried) 3 times. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Re-invoking the Put API operations (for example, PutRecord and PutRecordBatch) can result in data duplicates. For larger data assets, allow for a longer time out before retrying Put API operations.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

@param request A container for the necessary parameters to execute the PutRecordBatch service method. @param completionHandler The completion handler to call when the load request is complete. @@ -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, Kinesis Data 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, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

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 Kinesis Data 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, Kinesis Data 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, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data 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, Kinesis Data 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 Kinesis Data 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, Kinesis Data 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, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

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 Kinesis Data 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, Kinesis Data 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, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data 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, Kinesis Data 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 Kinesis Data 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. @@ -450,7 +450,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; - (void)untagDeliveryStream:(AWSFirehoseUntagDeliveryStreamInput *)request completionHandler:(void (^ _Nullable)(AWSFirehoseUntagDeliveryStreamOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

+

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon OpenSearch Service and other services is not supported. For an Amazon OpenSearch Service destination, you can only update to another Amazon OpenSearch Service destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

@param request A container for the necessary parameters to execute the UpdateDestination service method. @@ -462,7 +462,7 @@ FOUNDATION_EXPORT NSString *const AWSFirehoseSDKVersion; - (AWSTask *)updateDestination:(AWSFirehoseUpdateDestinationInput *)request; /** -

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

+

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon OpenSearch Service and other services is not supported. For an Amazon OpenSearch Service destination, you can only update to another Amazon OpenSearch Service destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

@param request A container for the necessary parameters to execute the UpdateDestination 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 2d07fd78a8f..8d7e583de41 100644 --- a/AWSKinesis/AWSFirehoseService.m +++ b/AWSKinesis/AWSFirehoseService.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2023 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. @@ -26,7 +26,7 @@ #import "AWSFirehoseSerializer.h" static NSString *const AWSInfoFirehose = @"Firehose"; -NSString *const AWSFirehoseSDKVersion = @"2.33.4"; +NSString *const AWSFirehoseSDKVersion = @"2.33.5"; @interface AWSFirehoseResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/AWSKinesisService.m b/AWSKinesis/AWSKinesisService.m index 7f0a17c665d..2f6914a9781 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.33.4"; +NSString *const AWSKinesisSDKVersion = @"2.33.5"; @interface AWSKinesisResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/Info.plist b/AWSKinesis/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSKinesis/Info.plist +++ b/AWSKinesis/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisUnitTests/AWSFirehoseNSSecureCodingTests.m b/AWSKinesisUnitTests/AWSFirehoseNSSecureCodingTests.m index c6603d300c3..1ecf3f6f823 100644 --- a/AWSKinesisUnitTests/AWSFirehoseNSSecureCodingTests.m +++ b/AWSKinesisUnitTests/AWSFirehoseNSSecureCodingTests.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2023 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. @@ -29,6 +29,7 @@ - (void) test_AWSFirehoseAmazonopensearchserviceDestinationConfiguration API_AVA - (void) test_AWSFirehoseAmazonopensearchserviceDestinationDescription API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseAmazonopensearchserviceDestinationUpdate API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseAmazonopensearchserviceRetryOptions API_AVAILABLE(ios(11)); +- (void) test_AWSFirehoseAuthenticationConfiguration API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseBufferingHints API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseCloudWatchLoggingOptions API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseReplicateCommand API_AVAILABLE(ios(11)); @@ -44,6 +45,7 @@ - (void) test_AWSFirehoseDescribeDeliveryStreamInput API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseDescribeDeliveryStreamOutput API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseDeserializer API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseDestinationDescription API_AVAILABLE(ios(11)); +- (void) test_AWSFirehoseDocumentIdOptions API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseDynamicPartitioningConfiguration API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseElasticsearchBufferingHints API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseElasticsearchDestinationConfiguration API_AVAILABLE(ios(11)); @@ -73,6 +75,8 @@ - (void) test_AWSFirehoseListDeliveryStreamsInput API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseListDeliveryStreamsOutput API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseListTagsForDeliveryStreamInput API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseListTagsForDeliveryStreamOutput API_AVAILABLE(ios(11)); +- (void) test_AWSFirehoseMSKSourceConfiguration API_AVAILABLE(ios(11)); +- (void) test_AWSFirehoseMSKSourceDescription API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseOpenXJsonSerDe API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseOrcSerDe API_AVAILABLE(ios(11)); - (void) test_AWSFirehoseOutputFormatConfiguration API_AVAILABLE(ios(11)); @@ -159,6 +163,10 @@ - (void) test_AWSFirehoseAmazonopensearchserviceRetryOptions { [self validateSecureCodingForClass:[AWSFirehoseAmazonopensearchserviceRetryOptions class]]; } +- (void) test_AWSFirehoseAuthenticationConfiguration { + [self validateSecureCodingForClass:[AWSFirehoseAuthenticationConfiguration class]]; +} + - (void) test_AWSFirehoseBufferingHints { [self validateSecureCodingForClass:[AWSFirehoseBufferingHints class]]; } @@ -219,6 +227,10 @@ - (void) test_AWSFirehoseDestinationDescription { [self validateSecureCodingForClass:[AWSFirehoseDestinationDescription class]]; } +- (void) test_AWSFirehoseDocumentIdOptions { + [self validateSecureCodingForClass:[AWSFirehoseDocumentIdOptions class]]; +} + - (void) test_AWSFirehoseDynamicPartitioningConfiguration { [self validateSecureCodingForClass:[AWSFirehoseDynamicPartitioningConfiguration class]]; } @@ -335,6 +347,14 @@ - (void) test_AWSFirehoseListTagsForDeliveryStreamOutput { [self validateSecureCodingForClass:[AWSFirehoseListTagsForDeliveryStreamOutput class]]; } +- (void) test_AWSFirehoseMSKSourceConfiguration { + [self validateSecureCodingForClass:[AWSFirehoseMSKSourceConfiguration class]]; +} + +- (void) test_AWSFirehoseMSKSourceDescription { + [self validateSecureCodingForClass:[AWSFirehoseMSKSourceDescription class]]; +} + - (void) test_AWSFirehoseOpenXJsonSerDe { [self validateSecureCodingForClass:[AWSFirehoseOpenXJsonSerDe class]]; } diff --git a/AWSKinesisUnitTests/AWSGeneralFirehoseTests.m b/AWSKinesisUnitTests/AWSGeneralFirehoseTests.m index 59e659743bc..dee627b6b4c 100644 --- a/AWSKinesisUnitTests/AWSGeneralFirehoseTests.m +++ b/AWSKinesisUnitTests/AWSGeneralFirehoseTests.m @@ -1,5 +1,5 @@ // -// Copyright 2010-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// Copyright 2010-2023 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/AWSKinesisVideo.podspec b/AWSKinesisVideo.podspec index f8a0492c3d3..163effa6a7c 100644 --- a/AWSKinesisVideo.podspec +++ b/AWSKinesisVideo.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideo' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSKinesisVideo/*.{h,m}' end diff --git a/AWSKinesisVideo/AWSKinesisVideoModel.h b/AWSKinesisVideo/AWSKinesisVideoModel.h index 3eb714e8735..c704a2f7033 100644 --- a/AWSKinesisVideo/AWSKinesisVideoModel.h +++ b/AWSKinesisVideo/AWSKinesisVideoModel.h @@ -910,7 +910,7 @@ typedef NS_ENUM(NSInteger, AWSKinesisVideoUploaderStatus) { @property (nonatomic, assign) AWSKinesisVideoImageSelectorType imageSelectorType; /** -

The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 33 ms, because a camera that generates content at 30 FPS would create a frame every 33.3 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

+

The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 200 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

*/ @property (nonatomic, strong) NSNumber * _Nullable samplingInterval; diff --git a/AWSKinesisVideo/AWSKinesisVideoResources.m b/AWSKinesisVideo/AWSKinesisVideoResources.m index 88dd68455dc..572fcfd9f55 100644 --- a/AWSKinesisVideo/AWSKinesisVideoResources.m +++ b/AWSKinesisVideo/AWSKinesisVideoResources.m @@ -222,7 +222,7 @@ - (NSString *)definitionString { {\"shape\":\"AccessDeniedException\"},\ {\"shape\":\"ClientLimitExceededException\"}\ ],\ - \"documentation\":\"

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

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

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

\"\ },\ \"DescribeNotificationConfiguration\":{\ \"name\":\"DescribeNotificationConfiguration\",\ @@ -398,7 +398,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceInUseException\"},\ {\"shape\":\"ResourceNotFoundException\"}\ ],\ - \"documentation\":\"

An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

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

An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

To move an edge configuration from one device to another, use DeleteEdgeConfiguration to delete the current edge configuration. You can then invoke StartEdgeConfigurationUpdate with an updated Hub Device ARN.

\"\ },\ \"TagResource\":{\ \"name\":\"TagResource\",\ @@ -520,7 +520,7 @@ - (NSString *)definitionString { {\"shape\":\"AccessDeniedException\"},\ {\"shape\":\"NoDataRetentionException\"}\ ],\ - \"documentation\":\"

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

  • If the StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

  • If the StorageStatus is enabled, the data will be stored in the StreamARN provided.

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

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

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

  • If the StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

  • If the StorageStatus is enabled, the data will be stored in the StreamARN provided.

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

\"\ },\ \"UpdateNotificationConfiguration\":{\ \"name\":\"UpdateNotificationConfiguration\",\ @@ -1254,7 +1254,7 @@ - (NSString *)definitionString { },\ \"SamplingInterval\":{\ \"shape\":\"SamplingInterval\",\ - \"documentation\":\"

The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 33 ms, because a camera that generates content at 30 FPS would create a frame every 33.3 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

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

The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 200 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

\"\ },\ \"Format\":{\ \"shape\":\"Format\",\ diff --git a/AWSKinesisVideo/AWSKinesisVideoService.h b/AWSKinesisVideo/AWSKinesisVideoService.h index 08338ec1250..6478f274acd 100644 --- a/AWSKinesisVideo/AWSKinesisVideoService.h +++ b/AWSKinesisVideo/AWSKinesisVideoService.h @@ -375,7 +375,7 @@ FOUNDATION_EXPORT NSString *const AWSKinesisVideoSDKVersion; - (void)describeMappedResourceConfiguration:(AWSKinesisVideoDescribeMappedResourceConfigurationInput *)request completionHandler:(void (^ _Nullable)(AWSKinesisVideoDescribeMappedResourceConfigurationOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

+

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

@param request A container for the necessary parameters to execute the DescribeMediaStorageConfiguration service method. @@ -387,7 +387,7 @@ FOUNDATION_EXPORT NSString *const AWSKinesisVideoSDKVersion; - (AWSTask *)describeMediaStorageConfiguration:(AWSKinesisVideoDescribeMediaStorageConfigurationInput *)request; /** -

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

+

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

@param request A container for the necessary parameters to execute the DescribeMediaStorageConfiguration service method. @param completionHandler The completion handler to call when the load request is complete. @@ -650,7 +650,7 @@ FOUNDATION_EXPORT NSString *const AWSKinesisVideoSDKVersion; - (void)listTagsForStream:(AWSKinesisVideoListTagsForStreamInput *)request completionHandler:(void (^ _Nullable)(AWSKinesisVideoListTagsForStreamOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

+

An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

To move an edge configuration from one device to another, use DeleteEdgeConfiguration to delete the current edge configuration. You can then invoke StartEdgeConfigurationUpdate with an updated Hub Device ARN.

@param request A container for the necessary parameters to execute the StartEdgeConfigurationUpdate service method. @@ -662,7 +662,7 @@ FOUNDATION_EXPORT NSString *const AWSKinesisVideoSDKVersion; - (AWSTask *)startEdgeConfigurationUpdate:(AWSKinesisVideoStartEdgeConfigurationUpdateInput *)request; /** -

An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

+

An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

To move an edge configuration from one device to another, use DeleteEdgeConfiguration to delete the current edge configuration. You can then invoke StartEdgeConfigurationUpdate with an updated Hub Device ARN.

@param request A container for the necessary parameters to execute the StartEdgeConfigurationUpdate service method. @param completionHandler The completion handler to call when the load request is complete. @@ -825,7 +825,7 @@ FOUNDATION_EXPORT NSString *const AWSKinesisVideoSDKVersion; - (void)updateImageGenerationConfiguration:(AWSKinesisVideoUpdateImageGenerationConfigurationInput *)request completionHandler:(void (^ _Nullable)(AWSKinesisVideoUpdateImageGenerationConfigurationOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

  • If the StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

  • If the StorageStatus is enabled, the data will be stored in the StreamARN provided.

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

+

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

  • If the StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

  • If the StorageStatus is enabled, the data will be stored in the StreamARN provided.

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

@param request A container for the necessary parameters to execute the UpdateMediaStorageConfiguration service method. @@ -837,7 +837,7 @@ FOUNDATION_EXPORT NSString *const AWSKinesisVideoSDKVersion; - (AWSTask *)updateMediaStorageConfiguration:(AWSKinesisVideoUpdateMediaStorageConfigurationInput *)request; /** -

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

  • If the StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

  • If the StorageStatus is enabled, the data will be stored in the StreamARN provided.

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

+

This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

  • If the StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

  • If the StorageStatus is enabled, the data will be stored in the StreamARN provided.

If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

@param request A container for the necessary parameters to execute the UpdateMediaStorageConfiguration service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSKinesisVideo/AWSKinesisVideoService.m b/AWSKinesisVideo/AWSKinesisVideoService.m index bc174ad6444..dd25a31ec32 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.33.4"; +NSString *const AWSKinesisVideoSDKVersion = @"2.33.5"; @interface AWSKinesisVideoResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideo/Info.plist b/AWSKinesisVideo/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSKinesisVideo/Info.plist +++ b/AWSKinesisVideo/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoArchivedMedia.podspec b/AWSKinesisVideoArchivedMedia.podspec index b020418ee3d..ae812992340 100644 --- a/AWSKinesisVideoArchivedMedia.podspec +++ b/AWSKinesisVideoArchivedMedia.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoArchivedMedia' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSKinesisVideoArchivedMedia/*.{h,m}' end diff --git a/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m b/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m index 7b4c556c823..3c26671b749 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.33.4"; +NSString *const AWSKinesisVideoArchivedMediaSDKVersion = @"2.33.5"; @interface AWSKinesisVideoArchivedMediaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoArchivedMedia/Info.plist b/AWSKinesisVideoArchivedMedia/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSKinesisVideoArchivedMedia/Info.plist +++ b/AWSKinesisVideoArchivedMedia/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoSignaling.podspec b/AWSKinesisVideoSignaling.podspec index 068b9eda749..3e689c04101 100644 --- a/AWSKinesisVideoSignaling.podspec +++ b/AWSKinesisVideoSignaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoSignaling' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSKinesisVideoSignaling/*.{h,m}' end diff --git a/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m b/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m index c9dd33427ab..937bb77901c 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.33.4"; +NSString *const AWSKinesisVideoSignalingSDKVersion = @"2.33.5"; @interface AWSKinesisVideoSignalingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoSignaling/Info.plist b/AWSKinesisVideoSignaling/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSKinesisVideoSignaling/Info.plist +++ b/AWSKinesisVideoSignaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoWebRTCStorage.podspec b/AWSKinesisVideoWebRTCStorage.podspec index 58f2551a953..96c384de742 100644 --- a/AWSKinesisVideoWebRTCStorage.podspec +++ b/AWSKinesisVideoWebRTCStorage.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoWebRTCStorage' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSKinesisVideoWebRTCStorage/*.{h,m}' end diff --git a/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m b/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m index a253b8a2cac..9836381d7af 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.33.4"; +NSString *const AWSKinesisVideoWebRTCStorageSDKVersion = @"2.33.5"; @interface AWSKinesisVideoWebRTCStorageResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoWebRTCStorage/Info.plist b/AWSKinesisVideoWebRTCStorage/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSKinesisVideoWebRTCStorage/Info.plist +++ b/AWSKinesisVideoWebRTCStorage/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLambda.podspec b/AWSLambda.podspec index a558f2d7e31..9adb0c9b15d 100644 --- a/AWSLambda.podspec +++ b/AWSLambda.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLambda' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSLambda/*.{h,m}' end diff --git a/AWSLambda/AWSLambdaModel.h b/AWSLambda/AWSLambdaModel.h index df3e23154c2..1e88355ffb3 100644 --- a/AWSLambda/AWSLambdaModel.h +++ b/AWSLambda/AWSLambdaModel.h @@ -63,6 +63,16 @@ typedef NS_ENUM(NSInteger, AWSLambdaErrorType) { AWSLambdaErrorUnsupportedMediaType, }; +typedef NS_ENUM(NSInteger, AWSLambdaApplicationLogLevel) { + AWSLambdaApplicationLogLevelUnknown, + AWSLambdaApplicationLogLevelTrace, + AWSLambdaApplicationLogLevelDebug, + AWSLambdaApplicationLogLevelInfo, + AWSLambdaApplicationLogLevelWarn, + AWSLambdaApplicationLogLevelError, + AWSLambdaApplicationLogLevelFatal, +}; + typedef NS_ENUM(NSInteger, AWSLambdaArchitecture) { AWSLambdaArchitectureUnknown, AWSLambdaArchitectureX86_64, @@ -154,6 +164,12 @@ typedef NS_ENUM(NSInteger, AWSLambdaLastUpdateStatusReasonCode) { AWSLambdaLastUpdateStatusReasonCodeFunctionError, }; +typedef NS_ENUM(NSInteger, AWSLambdaLogFormat) { + AWSLambdaLogFormatUnknown, + AWSLambdaLogFormatJson, + AWSLambdaLogFormatText, +}; + typedef NS_ENUM(NSInteger, AWSLambdaLogType) { AWSLambdaLogTypeUnknown, AWSLambdaLogTypeNone, @@ -213,6 +229,10 @@ typedef NS_ENUM(NSInteger, AWSLambdaRuntime) { AWSLambdaRuntimeJava17, AWSLambdaRuntimeRuby32, AWSLambdaRuntimePython311, + AWSLambdaRuntimeNodejs20X, + AWSLambdaRuntimeProvidedAl2023, + AWSLambdaRuntimePython312, + AWSLambdaRuntimeJava21, }; typedef NS_ENUM(NSInteger, AWSLambdaSnapStartApplyOn) { @@ -275,6 +295,13 @@ typedef NS_ENUM(NSInteger, AWSLambdaStateReasonCode) { AWSLambdaStateReasonCodeFunctionError, }; +typedef NS_ENUM(NSInteger, AWSLambdaSystemLogLevel) { + AWSLambdaSystemLogLevelUnknown, + AWSLambdaSystemLogLevelDebug, + AWSLambdaSystemLogLevelInfo, + AWSLambdaSystemLogLevelWarn, +}; + typedef NS_ENUM(NSInteger, AWSLambdaThrottleReason) { AWSLambdaThrottleReasonUnknown, AWSLambdaThrottleReasonConcurrentInvocationLimitExceeded, @@ -414,6 +441,7 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @class AWSLambdaListTagsResponse; @class AWSLambdaListVersionsByFunctionRequest; @class AWSLambdaListVersionsByFunctionResponse; +@class AWSLambdaLoggingConfig; @class AWSLambdaOnFailure; @class AWSLambdaOnSuccess; @class AWSLambdaProvisionedConcurrencyConfigListItem; @@ -1086,6 +1114,11 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { */ @property (nonatomic, strong) NSArray * _Nullable layers; +/** +

The function's Amazon CloudWatch Logs configuration settings.

+ */ +@property (nonatomic, strong) AWSLambdaLoggingConfig * _Nullable loggingConfig; + /**

The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.

*/ @@ -1839,6 +1872,11 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { */ @property (nonatomic, strong) NSArray * _Nullable layers; +/** +

The function's Amazon CloudWatch Logs configuration settings.

+ */ +@property (nonatomic, strong) AWSLambdaLoggingConfig * _Nullable loggingConfig; + /**

For Lambda@Edge functions, the ARN of the main function.

*/ @@ -3477,6 +3515,34 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @end +/** +

The function's Amazon CloudWatch Logs configuration settings.

+ */ +@interface AWSLambdaLoggingConfig : AWSModel + + +/** +

Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level and lower.

+ */ +@property (nonatomic, assign) AWSLambdaApplicationLogLevel applicationLogLevel; + +/** +

The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.

+ */ +@property (nonatomic, assign) AWSLambdaLogFormat logFormat; + +/** +

The name of the Amazon CloudWatch log group the function sends logs to. By default, Lambda functions send logs to a default log group named /aws/lambda/<function name>. To use a different log group, enter an existing log group or enter a new log group name.

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

Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level and lower.

+ */ +@property (nonatomic, assign) AWSLambdaSystemLogLevel systemLogLevel; + +@end + /**

A destination for events that failed processing.

*/ @@ -4387,6 +4453,11 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { */ @property (nonatomic, strong) NSArray * _Nullable layers; +/** +

The function's Amazon CloudWatch Logs configuration settings.

+ */ +@property (nonatomic, strong) AWSLambdaLoggingConfig * _Nullable loggingConfig; + /**

The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.

*/ @@ -4544,6 +4615,11 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @interface AWSLambdaVpcConfig : AWSModel +/** +

Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable ipv6AllowedForDualStack; + /**

A list of VPC security group IDs.

*/ @@ -4562,6 +4638,11 @@ typedef NS_ENUM(NSInteger, AWSLambdaUpdateRuntimeOn) { @interface AWSLambdaVpcConfigResponse : AWSModel +/** +

Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable ipv6AllowedForDualStack; + /**

A list of VPC security group IDs.

*/ diff --git a/AWSLambda/AWSLambdaModel.m b/AWSLambda/AWSLambdaModel.m index 81e148a87f8..b846e838f77 100644 --- a/AWSLambda/AWSLambdaModel.m +++ b/AWSLambda/AWSLambdaModel.m @@ -492,6 +492,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"imageConfig" : @"ImageConfig", @"KMSKeyArn" : @"KMSKeyArn", @"layers" : @"Layers", + @"loggingConfig" : @"LoggingConfig", @"memorySize" : @"MemorySize", @"packageType" : @"PackageType", @"publish" : @"Publish", @@ -529,6 +530,10 @@ + (NSValueTransformer *)imageConfigJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLambdaImageConfig class]]; } ++ (NSValueTransformer *)loggingConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLambdaLoggingConfig class]]; +} + + (NSValueTransformer *)packageTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Zip"] == NSOrderedSame) { @@ -648,6 +653,18 @@ + (NSValueTransformer *)runtimeJSONTransformer { if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } + if ([value caseInsensitiveCompare:@"nodejs20.x"] == NSOrderedSame) { + return @(AWSLambdaRuntimeNodejs20X); + } + if ([value caseInsensitiveCompare:@"provided.al2023"] == NSOrderedSame) { + return @(AWSLambdaRuntimeProvidedAl2023); + } + if ([value caseInsensitiveCompare:@"python3.12"] == NSOrderedSame) { + return @(AWSLambdaRuntimePython312); + } + if ([value caseInsensitiveCompare:@"java21"] == NSOrderedSame) { + return @(AWSLambdaRuntimeJava21); + } return @(AWSLambdaRuntimeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -715,6 +732,14 @@ + (NSValueTransformer *)runtimeJSONTransformer { return @"ruby3.2"; case AWSLambdaRuntimePython311: return @"python3.11"; + case AWSLambdaRuntimeNodejs20X: + return @"nodejs20.x"; + case AWSLambdaRuntimeProvidedAl2023: + return @"provided.al2023"; + case AWSLambdaRuntimePython312: + return @"python3.12"; + case AWSLambdaRuntimeJava21: + return @"java21"; default: return nil; } @@ -1376,6 +1401,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"lastUpdateStatusReason" : @"LastUpdateStatusReason", @"lastUpdateStatusReasonCode" : @"LastUpdateStatusReasonCode", @"layers" : @"Layers", + @"loggingConfig" : @"LoggingConfig", @"masterArn" : @"MasterArn", @"memorySize" : @"MemorySize", @"packageType" : @"PackageType", @@ -1562,6 +1588,10 @@ + (NSValueTransformer *)layersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSLambdaLayer class]]; } ++ (NSValueTransformer *)loggingConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLambdaLoggingConfig class]]; +} + + (NSValueTransformer *)packageTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Zip"] == NSOrderedSame) { @@ -1681,6 +1711,18 @@ + (NSValueTransformer *)runtimeJSONTransformer { if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } + if ([value caseInsensitiveCompare:@"nodejs20.x"] == NSOrderedSame) { + return @(AWSLambdaRuntimeNodejs20X); + } + if ([value caseInsensitiveCompare:@"provided.al2023"] == NSOrderedSame) { + return @(AWSLambdaRuntimeProvidedAl2023); + } + if ([value caseInsensitiveCompare:@"python3.12"] == NSOrderedSame) { + return @(AWSLambdaRuntimePython312); + } + if ([value caseInsensitiveCompare:@"java21"] == NSOrderedSame) { + return @(AWSLambdaRuntimeJava21); + } return @(AWSLambdaRuntimeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -1748,6 +1790,14 @@ + (NSValueTransformer *)runtimeJSONTransformer { return @"ruby3.2"; case AWSLambdaRuntimePython311: return @"python3.11"; + case AWSLambdaRuntimeNodejs20X: + return @"nodejs20.x"; + case AWSLambdaRuntimeProvidedAl2023: + return @"provided.al2023"; + case AWSLambdaRuntimePython312: + return @"python3.12"; + case AWSLambdaRuntimeJava21: + return @"java21"; default: return nil; } @@ -3354,6 +3404,18 @@ + (NSValueTransformer *)compatibleRuntimeJSONTransformer { if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } + if ([value caseInsensitiveCompare:@"nodejs20.x"] == NSOrderedSame) { + return @(AWSLambdaRuntimeNodejs20X); + } + if ([value caseInsensitiveCompare:@"provided.al2023"] == NSOrderedSame) { + return @(AWSLambdaRuntimeProvidedAl2023); + } + if ([value caseInsensitiveCompare:@"python3.12"] == NSOrderedSame) { + return @(AWSLambdaRuntimePython312); + } + if ([value caseInsensitiveCompare:@"java21"] == NSOrderedSame) { + return @(AWSLambdaRuntimeJava21); + } return @(AWSLambdaRuntimeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -3421,6 +3483,14 @@ + (NSValueTransformer *)compatibleRuntimeJSONTransformer { return @"ruby3.2"; case AWSLambdaRuntimePython311: return @"python3.11"; + case AWSLambdaRuntimeNodejs20X: + return @"nodejs20.x"; + case AWSLambdaRuntimeProvidedAl2023: + return @"provided.al2023"; + case AWSLambdaRuntimePython312: + return @"python3.12"; + case AWSLambdaRuntimeJava21: + return @"java21"; default: return nil; } @@ -3582,6 +3652,18 @@ + (NSValueTransformer *)compatibleRuntimeJSONTransformer { if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } + if ([value caseInsensitiveCompare:@"nodejs20.x"] == NSOrderedSame) { + return @(AWSLambdaRuntimeNodejs20X); + } + if ([value caseInsensitiveCompare:@"provided.al2023"] == NSOrderedSame) { + return @(AWSLambdaRuntimeProvidedAl2023); + } + if ([value caseInsensitiveCompare:@"python3.12"] == NSOrderedSame) { + return @(AWSLambdaRuntimePython312); + } + if ([value caseInsensitiveCompare:@"java21"] == NSOrderedSame) { + return @(AWSLambdaRuntimeJava21); + } return @(AWSLambdaRuntimeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -3649,6 +3731,14 @@ + (NSValueTransformer *)compatibleRuntimeJSONTransformer { return @"ruby3.2"; case AWSLambdaRuntimePython311: return @"python3.11"; + case AWSLambdaRuntimeNodejs20X: + return @"nodejs20.x"; + case AWSLambdaRuntimeProvidedAl2023: + return @"provided.al2023"; + case AWSLambdaRuntimePython312: + return @"python3.12"; + case AWSLambdaRuntimeJava21: + return @"java21"; default: return nil; } @@ -3774,6 +3864,111 @@ + (NSValueTransformer *)versionsJSONTransformer { @end +@implementation AWSLambdaLoggingConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"applicationLogLevel" : @"ApplicationLogLevel", + @"logFormat" : @"LogFormat", + @"logGroup" : @"LogGroup", + @"systemLogLevel" : @"SystemLogLevel", + }; +} + ++ (NSValueTransformer *)applicationLogLevelJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"TRACE"] == NSOrderedSame) { + return @(AWSLambdaApplicationLogLevelTrace); + } + if ([value caseInsensitiveCompare:@"DEBUG"] == NSOrderedSame) { + return @(AWSLambdaApplicationLogLevelDebug); + } + if ([value caseInsensitiveCompare:@"INFO"] == NSOrderedSame) { + return @(AWSLambdaApplicationLogLevelInfo); + } + if ([value caseInsensitiveCompare:@"WARN"] == NSOrderedSame) { + return @(AWSLambdaApplicationLogLevelWarn); + } + if ([value caseInsensitiveCompare:@"ERROR"] == NSOrderedSame) { + return @(AWSLambdaApplicationLogLevelError); + } + if ([value caseInsensitiveCompare:@"FATAL"] == NSOrderedSame) { + return @(AWSLambdaApplicationLogLevelFatal); + } + return @(AWSLambdaApplicationLogLevelUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLambdaApplicationLogLevelTrace: + return @"TRACE"; + case AWSLambdaApplicationLogLevelDebug: + return @"DEBUG"; + case AWSLambdaApplicationLogLevelInfo: + return @"INFO"; + case AWSLambdaApplicationLogLevelWarn: + return @"WARN"; + case AWSLambdaApplicationLogLevelError: + return @"ERROR"; + case AWSLambdaApplicationLogLevelFatal: + return @"FATAL"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)logFormatJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"JSON"] == NSOrderedSame) { + return @(AWSLambdaLogFormatJson); + } + if ([value caseInsensitiveCompare:@"Text"] == NSOrderedSame) { + return @(AWSLambdaLogFormatText); + } + return @(AWSLambdaLogFormatUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLambdaLogFormatJson: + return @"JSON"; + case AWSLambdaLogFormatText: + return @"Text"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)systemLogLevelJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"DEBUG"] == NSOrderedSame) { + return @(AWSLambdaSystemLogLevelDebug); + } + if ([value caseInsensitiveCompare:@"INFO"] == NSOrderedSame) { + return @(AWSLambdaSystemLogLevelInfo); + } + if ([value caseInsensitiveCompare:@"WARN"] == NSOrderedSame) { + return @(AWSLambdaSystemLogLevelWarn); + } + return @(AWSLambdaSystemLogLevelUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSLambdaSystemLogLevelDebug: + return @"DEBUG"; + case AWSLambdaSystemLogLevelInfo: + return @"INFO"; + case AWSLambdaSystemLogLevelWarn: + return @"WARN"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSLambdaOnFailure + (BOOL)supportsSecureCoding { @@ -4651,6 +4846,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"imageConfig" : @"ImageConfig", @"KMSKeyArn" : @"KMSKeyArn", @"layers" : @"Layers", + @"loggingConfig" : @"LoggingConfig", @"memorySize" : @"MemorySize", @"revisionId" : @"RevisionId", @"role" : @"Role", @@ -4682,6 +4878,10 @@ + (NSValueTransformer *)imageConfigJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLambdaImageConfig class]]; } ++ (NSValueTransformer *)loggingConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLambdaLoggingConfig class]]; +} + + (NSValueTransformer *)runtimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"nodejs"] == NSOrderedSame) { @@ -4780,6 +4980,18 @@ + (NSValueTransformer *)runtimeJSONTransformer { if ([value caseInsensitiveCompare:@"python3.11"] == NSOrderedSame) { return @(AWSLambdaRuntimePython311); } + if ([value caseInsensitiveCompare:@"nodejs20.x"] == NSOrderedSame) { + return @(AWSLambdaRuntimeNodejs20X); + } + if ([value caseInsensitiveCompare:@"provided.al2023"] == NSOrderedSame) { + return @(AWSLambdaRuntimeProvidedAl2023); + } + if ([value caseInsensitiveCompare:@"python3.12"] == NSOrderedSame) { + return @(AWSLambdaRuntimePython312); + } + if ([value caseInsensitiveCompare:@"java21"] == NSOrderedSame) { + return @(AWSLambdaRuntimeJava21); + } return @(AWSLambdaRuntimeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -4847,6 +5059,14 @@ + (NSValueTransformer *)runtimeJSONTransformer { return @"ruby3.2"; case AWSLambdaRuntimePython311: return @"python3.11"; + case AWSLambdaRuntimeNodejs20X: + return @"nodejs20.x"; + case AWSLambdaRuntimeProvidedAl2023: + return @"provided.al2023"; + case AWSLambdaRuntimePython312: + return @"python3.12"; + case AWSLambdaRuntimeJava21: + return @"java21"; default: return nil; } @@ -5027,6 +5247,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"ipv6AllowedForDualStack" : @"Ipv6AllowedForDualStack", @"securityGroupIds" : @"SecurityGroupIds", @"subnetIds" : @"SubnetIds", }; @@ -5042,6 +5263,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"ipv6AllowedForDualStack" : @"Ipv6AllowedForDualStack", @"securityGroupIds" : @"SecurityGroupIds", @"subnetIds" : @"SubnetIds", @"vpcId" : @"VpcId", diff --git a/AWSLambda/AWSLambdaResources.m b/AWSLambda/AWSLambdaResources.m index 2634d39ada6..35cef818b00 100644 --- a/AWSLambda/AWSLambdaResources.m +++ b/AWSLambda/AWSLambdaResources.m @@ -677,7 +677,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceNotReadyException\"},\ {\"shape\":\"RecursiveInvocationException\"}\ ],\ - \"documentation\":\"

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Error handling and automatic retries in Lambda.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, quota errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.

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

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. By default, Lambda invokes your function synchronously (i.e. theInvocationType is RequestResponse). To invoke a function asynchronously, set InvocationType to Event. Lambda passes the ClientContext object to your function for synchronous invocations only.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Error handling and automatic retries in Lambda.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, quota errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.

\"\ },\ \"InvokeAsync\":{\ \"name\":\"InvokeAsync\",\ @@ -1536,6 +1536,17 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Specific configuration settings for an Amazon Managed Streaming for Apache Kafka (Amazon MSK) event source.

\"\ },\ + \"ApplicationLogLevel\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"TRACE\",\ + \"DEBUG\",\ + \"INFO\",\ + \"WARN\",\ + \"ERROR\",\ + \"FATAL\"\ + ]\ + },\ \"Architecture\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -1980,6 +1991,10 @@ - (NSString *)definitionString { \"SnapStart\":{\ \"shape\":\"SnapStart\",\ \"documentation\":\"

The function's SnapStart setting.

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

The function's Amazon CloudWatch Logs configuration settings.

\"\ }\ }\ },\ @@ -2844,6 +2859,10 @@ - (NSString *)definitionString { \"RuntimeVersionConfig\":{\ \"shape\":\"RuntimeVersionConfig\",\ \"documentation\":\"

The ARN of the runtime and any errors that occured.

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

The function's Amazon CloudWatch Logs configuration settings.

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

Details about a function's configuration.

\"\ @@ -4535,6 +4554,19 @@ - (NSString *)definitionString { \"max\":160,\ \"pattern\":\"^/mnt/[a-zA-Z0-9-_.]+$\"\ },\ + \"LogFormat\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"JSON\",\ + \"Text\"\ + ]\ + },\ + \"LogGroup\":{\ + \"type\":\"string\",\ + \"max\":512,\ + \"min\":1,\ + \"pattern\":\"[\\\\.\\\\-_/#A-Za-z0-9]+\"\ + },\ \"LogType\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -4542,6 +4574,28 @@ - (NSString *)definitionString { \"Tail\"\ ]\ },\ + \"LoggingConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"LogFormat\":{\ + \"shape\":\"LogFormat\",\ + \"documentation\":\"

The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.

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

Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level and lower.

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

Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level and lower.

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

The name of the Amazon CloudWatch log group the function sends logs to. By default, Lambda functions send logs to a default log group named /aws/lambda/<function name>. To use a different log group, enter an existing log group or enter a new log group name.

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

The function's Amazon CloudWatch Logs configuration settings.

\"\ + },\ \"Long\":{\"type\":\"long\"},\ \"MasterRegion\":{\ \"type\":\"string\",\ @@ -4637,6 +4691,7 @@ - (NSString *)definitionString { \"type\":\"integer\",\ \"min\":0\ },\ + \"NullableBoolean\":{\"type\":\"boolean\"},\ \"OnFailure\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -5288,7 +5343,11 @@ - (NSString *)definitionString { \"python3.10\",\ \"java17\",\ \"ruby3.2\",\ - \"python3.11\"\ + \"python3.11\",\ + \"nodejs20.x\",\ + \"provided.al2023\",\ + \"python3.12\",\ + \"java21\"\ ]\ },\ \"RuntimeVersionArn\":{\ @@ -5570,6 +5629,14 @@ - (NSString *)definitionString { \"member\":{\"shape\":\"SubnetId\"},\ \"max\":16\ },\ + \"SystemLogLevel\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"DEBUG\",\ + \"INFO\",\ + \"WARN\"\ + ]\ + },\ \"TagKey\":{\"type\":\"string\"},\ \"TagKeyList\":{\ \"type\":\"list\",\ @@ -5986,6 +6053,10 @@ - (NSString *)definitionString { \"SnapStart\":{\ \"shape\":\"SnapStart\",\ \"documentation\":\"

The function's SnapStart setting.

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

The function's Amazon CloudWatch Logs configuration settings.

\"\ }\ }\ },\ @@ -6113,6 +6184,10 @@ - (NSString *)definitionString { \"SecurityGroupIds\":{\ \"shape\":\"SecurityGroupIds\",\ \"documentation\":\"

A list of VPC security group IDs.

\"\ + },\ + \"Ipv6AllowedForDualStack\":{\ + \"shape\":\"NullableBoolean\",\ + \"documentation\":\"

Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.

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

The VPC security groups and subnets that are attached to a Lambda function. For more information, see Configuring a Lambda function to access resources in a VPC.

\"\ @@ -6131,6 +6206,10 @@ - (NSString *)definitionString { \"VpcId\":{\ \"shape\":\"VpcId\",\ \"documentation\":\"

The ID of the VPC.

\"\ + },\ + \"Ipv6AllowedForDualStack\":{\ + \"shape\":\"NullableBoolean\",\ + \"documentation\":\"

Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.

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

The VPC security groups and subnets that are attached to a Lambda function.

\"\ diff --git a/AWSLambda/AWSLambdaService.h b/AWSLambda/AWSLambdaService.h index a3939ebfe07..9af52dfd252 100644 --- a/AWSLambda/AWSLambdaService.h +++ b/AWSLambda/AWSLambdaService.h @@ -976,7 +976,7 @@ FOUNDATION_EXPORT NSString *const AWSLambdaSDKVersion; - (void)getRuntimeManagementConfig:(AWSLambdaGetRuntimeManagementConfigRequest *)request completionHandler:(void (^ _Nullable)(AWSLambdaGetRuntimeManagementConfigResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Error handling and automatic retries in Lambda.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, quota errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.

+

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. By default, Lambda invokes your function synchronously (i.e. theInvocationType is RequestResponse). To invoke a function asynchronously, set InvocationType to Event. Lambda passes the ClientContext object to your function for synchronous invocations only.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Error handling and automatic retries in Lambda.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, quota errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.

@param request A container for the necessary parameters to execute the Invoke service method. @@ -988,7 +988,7 @@ FOUNDATION_EXPORT NSString *const AWSLambdaSDKVersion; - (AWSTask *)invoke:(AWSLambdaInvocationRequest *)request; /** -

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Error handling and automatic retries in Lambda.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, quota errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.

+

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. By default, Lambda invokes your function synchronously (i.e. theInvocationType is RequestResponse). To invoke a function asynchronously, set InvocationType to Event. Lambda passes the ClientContext object to your function for synchronous invocations only.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Error handling and automatic retries in Lambda.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, quota errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.

@param request A container for the necessary parameters to execute the Invoke service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSLambda/AWSLambdaService.m b/AWSLambda/AWSLambdaService.m index 435121c1d12..064277d5986 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.33.4"; +NSString *const AWSLambdaSDKVersion = @"2.33.5"; @interface AWSLambdaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLambda/Info.plist b/AWSLambda/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSLambda/Info.plist +++ b/AWSLambda/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLambdaUnitTests/AWSLambdaNSSecureCodingTests.m b/AWSLambdaUnitTests/AWSLambdaNSSecureCodingTests.m index 00c33cf1e50..ace0d15c626 100644 --- a/AWSLambdaUnitTests/AWSLambdaNSSecureCodingTests.m +++ b/AWSLambdaUnitTests/AWSLambdaNSSecureCodingTests.m @@ -135,6 +135,7 @@ - (void) test_AWSLambdaListTagsRequest API_AVAILABLE(ios(11)); - (void) test_AWSLambdaListTagsResponse API_AVAILABLE(ios(11)); - (void) test_AWSLambdaListVersionsByFunctionRequest API_AVAILABLE(ios(11)); - (void) test_AWSLambdaListVersionsByFunctionResponse API_AVAILABLE(ios(11)); +- (void) test_AWSLambdaLoggingConfig API_AVAILABLE(ios(11)); - (void) test_AWSLambdaOnFailure API_AVAILABLE(ios(11)); - (void) test_AWSLambdaOnSuccess API_AVAILABLE(ios(11)); - (void) test_AWSLambdaProvisionedConcurrencyConfigListItem API_AVAILABLE(ios(11)); @@ -643,6 +644,10 @@ - (void) test_AWSLambdaListVersionsByFunctionResponse { [self validateSecureCodingForClass:[AWSLambdaListVersionsByFunctionResponse class]]; } +- (void) test_AWSLambdaLoggingConfig { + [self validateSecureCodingForClass:[AWSLambdaLoggingConfig class]]; +} + - (void) test_AWSLambdaOnFailure { [self validateSecureCodingForClass:[AWSLambdaOnFailure class]]; } diff --git a/AWSLex.podspec b/AWSLex.podspec index e49b14771ed..97991281689 100644 --- a/AWSLex.podspec +++ b/AWSLex.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLex' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + s.dependency 'AWSCore', '2.33.5' 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 75abe3c8a26..1299742810a 100644 --- a/AWSLex/AWSLexInteractionKit.m +++ b/AWSLex/AWSLexInteractionKit.m @@ -22,7 +22,7 @@ #import NSString *const AWSInfoInteractionKit = @"LexInteractionKit"; -NSString *const AWSInteractionKitSDKVersion = @"2.33.4"; +NSString *const AWSInteractionKitSDKVersion = @"2.33.5"; 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 b354df8550a..5a9d0dac0ea 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.33.4"; +NSString *const AWSLexSDKVersion = @"2.33.5"; @interface AWSLexResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLex/Info.plist b/AWSLex/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSLex/Info.plist +++ b/AWSLex/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocation.podspec b/AWSLocation.podspec index 8f2b672424c..0d5349a86e3 100644 --- a/AWSLocation.podspec +++ b/AWSLocation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLocation' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSLocation/*.{h,m}', 'AWSLocation/AWSLocationTracker/**/*.swift' end diff --git a/AWSLocation/AWSLocationModel.h b/AWSLocation/AWSLocationModel.h index 1f1bab10386..4754788bcd2 100644 --- a/AWSLocation/AWSLocationModel.h +++ b/AWSLocation/AWSLocationModel.h @@ -261,6 +261,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @class AWSLocationTagResourceRequest; @class AWSLocationTagResourceResponse; @class AWSLocationTimeZone; +@class AWSLocationTrackingFilterGeometry; @class AWSLocationTruckDimensions; @class AWSLocationTruckWeight; @class AWSLocationUntagResourceRequest; @@ -1346,6 +1347,11 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { */ @property (nonatomic, strong) NSNumber * _Nullable eventBridgeEnabled; +/** +

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.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable kmsKeyEnableGeospatialQueries; + /**

A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

*/ @@ -1579,6 +1585,11 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { */ @property (nonatomic, strong) NSString * _Nullable detail; +/** +

The number of geofences in the geofence collection.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable geofenceCount; + /**

A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource

*/ @@ -1899,6 +1910,11 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { */ @property (nonatomic, strong) NSNumber * _Nullable eventBridgeEnabled; +/** +

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.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable kmsKeyEnableGeospatialQueries; + /**

A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource.

*/ @@ -2233,7 +2249,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 fonts 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.

+

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; @@ -2519,6 +2535,11 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @interface AWSLocationListDevicePositionsRequest : AWSRequest +/** +

The geomerty used to filter device positions.

+ */ +@property (nonatomic, strong) AWSLocationTrackingFilterGeometry * _Nullable filterGeometry; + /**

An optional limit for the number of entries returned in a single call.

Default value: 100

*/ @@ -2543,7 +2564,7 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { /** -

Contains details about each device's last known position. These details includes the device ID, the time when the position was sampled on the device, the time that the service received the update, and the most recent coordinates.

+

Contains details about each device's last known position.

*/ @property (nonatomic, strong) NSArray * _Nullable entries; @@ -3917,6 +3938,19 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { @end +/** +

The geomerty used to filter device positions.

+ */ +@interface AWSLocationTrackingFilterGeometry : AWSModel + + +/** +

The set of arrays which define the polygon. A polygon can have between 4 and 1000 vertices.

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

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.

*/ @@ -4265,6 +4299,11 @@ typedef NS_ENUM(NSInteger, AWSLocationVehicleWeightUnit) { */ @property (nonatomic, strong) NSNumber * _Nullable eventBridgeEnabled; +/** +

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.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable kmsKeyEnableGeospatialQueries; + /**

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.

*/ diff --git a/AWSLocation/AWSLocationModel.m b/AWSLocation/AWSLocationModel.m index 47a67544728..9fcaef13b58 100644 --- a/AWSLocation/AWSLocationModel.m +++ b/AWSLocation/AWSLocationModel.m @@ -1270,6 +1270,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"eventBridgeEnabled" : @"EventBridgeEnabled", + @"kmsKeyEnableGeospatialQueries" : @"KmsKeyEnableGeospatialQueries", @"kmsKeyId" : @"KmsKeyId", @"positionFiltering" : @"PositionFiltering", @"pricingPlan" : @"PricingPlan", @@ -1550,6 +1551,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"collectionName" : @"CollectionName", @"createTime" : @"CreateTime", @"detail" : @"Description", + @"geofenceCount" : @"GeofenceCount", @"kmsKeyId" : @"KmsKeyId", @"pricingPlan" : @"PricingPlan", @"pricingPlanDataSource" : @"PricingPlanDataSource", @@ -1932,6 +1934,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"createTime" : @"CreateTime", @"detail" : @"Description", @"eventBridgeEnabled" : @"EventBridgeEnabled", + @"kmsKeyEnableGeospatialQueries" : @"KmsKeyEnableGeospatialQueries", @"kmsKeyId" : @"KmsKeyId", @"positionFiltering" : @"PositionFiltering", @"pricingPlan" : @"PricingPlan", @@ -2500,12 +2503,17 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"filterGeometry" : @"FilterGeometry", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"trackerName" : @"TrackerName", }; } ++ (NSValueTransformer *)filterGeometryJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSLocationTrackingFilterGeometry class]]; +} + @end @implementation AWSLocationListDevicePositionsResponse @@ -3779,6 +3787,20 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSLocationTrackingFilterGeometry + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"polygon" : @"Polygon", + }; +} + +@end + @implementation AWSLocationTruckDimensions + (BOOL)supportsSecureCoding { @@ -4216,6 +4238,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"eventBridgeEnabled" : @"EventBridgeEnabled", + @"kmsKeyEnableGeospatialQueries" : @"KmsKeyEnableGeospatialQueries", @"positionFiltering" : @"PositionFiltering", @"pricingPlan" : @"PricingPlan", @"pricingPlanDataSource" : @"PricingPlanDataSource", diff --git a/AWSLocation/AWSLocationResources.m b/AWSLocation/AWSLocationResources.m index ccb14880078..76330d1ddfb 100644 --- a/AWSLocation/AWSLocationResources.m +++ b/AWSLocation/AWSLocationResources.m @@ -89,7 +89,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Creates an association between a geofence collection and a tracker resource. This allows the tracker resource to communicate location data to the linked geofence collection.

You can associate up to five geofence collections to each tracker resource.

Currently not supported — Cross-account configurations, such as creating associations between a tracker resource in one account and a geofence collection in another account.

\",\ - \"endpoint\":{\"hostPrefix\":\"tracking.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"}\ },\ \"BatchDeleteDevicePositionHistory\":{\ \"name\":\"BatchDeleteDevicePositionHistory\",\ @@ -261,7 +261,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Creates a geofence collection, which manages and stores geofences.

\",\ - \"endpoint\":{\"hostPrefix\":\"geofencing.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.geofencing.\"},\ \"idempotent\":true\ },\ \"CreateKey\":{\ @@ -282,7 +282,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Creates an API key resource in your Amazon Web Services account, which lets you grant actions for Amazon Location resources to the API key bearer.

For more information, see Using API keys.

\",\ - \"endpoint\":{\"hostPrefix\":\"metadata.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.metadata.\"},\ \"idempotent\":true\ },\ \"CreateMap\":{\ @@ -303,7 +303,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Creates a map resource in your Amazon Web Services account, which provides map tiles of different styles sourced from global location data providers.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the Amazon Web Services service terms for more details.

\",\ - \"endpoint\":{\"hostPrefix\":\"maps.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.maps.\"},\ \"idempotent\":true\ },\ \"CreatePlaceIndex\":{\ @@ -324,7 +324,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Creates a place index resource in your Amazon Web Services account. Use a place index resource to geocode addresses and other text queries by using the SearchPlaceIndexForText operation, and reverse geocode coordinates by using the SearchPlaceIndexForPosition operation, and enable autosuggestions by using the SearchPlaceIndexForSuggestions operation.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the Amazon Web Services service terms for more details.

\",\ - \"endpoint\":{\"hostPrefix\":\"places.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.places.\"},\ \"idempotent\":true\ },\ \"CreateRouteCalculator\":{\ @@ -345,7 +345,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Creates a route calculator resource in your Amazon Web Services account.

You can send requests to a route calculator resource to estimate travel time, distance, and get directions. A route calculator sources traffic and road network data from your chosen data provider.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the Amazon Web Services service terms for more details.

\",\ - \"endpoint\":{\"hostPrefix\":\"routes.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.routes.\"},\ \"idempotent\":true\ },\ \"CreateTracker\":{\ @@ -366,7 +366,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Creates a tracker resource in your Amazon Web Services account, which lets you retrieve current and historical location of devices.

\",\ - \"endpoint\":{\"hostPrefix\":\"tracking.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"},\ \"idempotent\":true\ },\ \"DeleteGeofenceCollection\":{\ @@ -386,7 +386,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Deletes a geofence collection from your Amazon Web Services account.

This operation deletes the resource permanently. If the geofence collection is the target of a tracker resource, the devices will no longer be monitored.

\",\ - \"endpoint\":{\"hostPrefix\":\"geofencing.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.geofencing.\"},\ \"idempotent\":true\ },\ \"DeleteKey\":{\ @@ -406,7 +406,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Deletes the specified API key. The API key must have been deactivated more than 90 days previously.

\",\ - \"endpoint\":{\"hostPrefix\":\"metadata.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.metadata.\"},\ \"idempotent\":true\ },\ \"DeleteMap\":{\ @@ -426,7 +426,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Deletes a map resource from your Amazon Web Services account.

This operation deletes the resource permanently. If the map is being used in an application, the map may not render.

\",\ - \"endpoint\":{\"hostPrefix\":\"maps.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.maps.\"},\ \"idempotent\":true\ },\ \"DeletePlaceIndex\":{\ @@ -446,7 +446,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Deletes a place index resource from your Amazon Web Services account.

This operation deletes the resource permanently.

\",\ - \"endpoint\":{\"hostPrefix\":\"places.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.places.\"},\ \"idempotent\":true\ },\ \"DeleteRouteCalculator\":{\ @@ -466,7 +466,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Deletes a route calculator resource from your Amazon Web Services account.

This operation deletes the resource permanently.

\",\ - \"endpoint\":{\"hostPrefix\":\"routes.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.routes.\"},\ \"idempotent\":true\ },\ \"DeleteTracker\":{\ @@ -486,7 +486,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Deletes a tracker resource from your Amazon Web Services account.

This operation deletes the resource permanently. If the tracker resource is in use, you may encounter an error. Make sure that the target resource isn't a dependency for your applications.

\",\ - \"endpoint\":{\"hostPrefix\":\"tracking.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"},\ \"idempotent\":true\ },\ \"DescribeGeofenceCollection\":{\ @@ -506,7 +506,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Retrieves the geofence collection details.

\",\ - \"endpoint\":{\"hostPrefix\":\"geofencing.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.geofencing.\"}\ },\ \"DescribeKey\":{\ \"name\":\"DescribeKey\",\ @@ -525,7 +525,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Retrieves the API key resource details.

\",\ - \"endpoint\":{\"hostPrefix\":\"metadata.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.metadata.\"}\ },\ \"DescribeMap\":{\ \"name\":\"DescribeMap\",\ @@ -544,7 +544,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Retrieves the map resource details.

\",\ - \"endpoint\":{\"hostPrefix\":\"maps.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.maps.\"}\ },\ \"DescribePlaceIndex\":{\ \"name\":\"DescribePlaceIndex\",\ @@ -563,7 +563,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Retrieves the place index resource details.

\",\ - \"endpoint\":{\"hostPrefix\":\"places.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.places.\"}\ },\ \"DescribeRouteCalculator\":{\ \"name\":\"DescribeRouteCalculator\",\ @@ -582,7 +582,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Retrieves the route calculator resource details.

\",\ - \"endpoint\":{\"hostPrefix\":\"routes.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.routes.\"}\ },\ \"DescribeTracker\":{\ \"name\":\"DescribeTracker\",\ @@ -601,7 +601,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Retrieves the tracker resource details.

\",\ - \"endpoint\":{\"hostPrefix\":\"tracking.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"}\ },\ \"DisassociateTrackerConsumer\":{\ \"name\":\"DisassociateTrackerConsumer\",\ @@ -620,7 +620,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"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\":\"tracking.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"}\ },\ \"GetDevicePosition\":{\ \"name\":\"GetDevicePosition\",\ @@ -808,7 +808,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Lists geofence collections in your Amazon Web Services account.

\",\ - \"endpoint\":{\"hostPrefix\":\"geofencing.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.geofencing.\"}\ },\ \"ListGeofences\":{\ \"name\":\"ListGeofences\",\ @@ -845,7 +845,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Lists API key resources in your Amazon Web Services account.

\",\ - \"endpoint\":{\"hostPrefix\":\"metadata.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.metadata.\"}\ },\ \"ListMaps\":{\ \"name\":\"ListMaps\",\ @@ -863,7 +863,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Lists map resources in your Amazon Web Services account.

\",\ - \"endpoint\":{\"hostPrefix\":\"maps.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.maps.\"}\ },\ \"ListPlaceIndexes\":{\ \"name\":\"ListPlaceIndexes\",\ @@ -881,7 +881,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Lists place index resources in your Amazon Web Services account.

\",\ - \"endpoint\":{\"hostPrefix\":\"places.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.places.\"}\ },\ \"ListRouteCalculators\":{\ \"name\":\"ListRouteCalculators\",\ @@ -899,7 +899,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Lists route calculator resources in your Amazon Web Services account.

\",\ - \"endpoint\":{\"hostPrefix\":\"routes.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.routes.\"}\ },\ \"ListTagsForResource\":{\ \"name\":\"ListTagsForResource\",\ @@ -918,7 +918,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Returns a list of tags that are applied to the specified Amazon Location resource.

\",\ - \"endpoint\":{\"hostPrefix\":\"metadata.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.metadata.\"}\ },\ \"ListTrackerConsumers\":{\ \"name\":\"ListTrackerConsumers\",\ @@ -937,7 +937,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Lists geofence collections currently associated to the given tracker resource.

\",\ - \"endpoint\":{\"hostPrefix\":\"tracking.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"}\ },\ \"ListTrackers\":{\ \"name\":\"ListTrackers\",\ @@ -955,7 +955,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Lists tracker resources in your Amazon Web Services account.

\",\ - \"endpoint\":{\"hostPrefix\":\"tracking.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"}\ },\ \"PutGeofence\":{\ \"name\":\"PutGeofence\",\ @@ -1051,7 +1051,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Assigns one or more tags (key-value pairs) to the specified Amazon Location Service resource.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

You can use the TagResource operation with an Amazon Location Service resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the tags already associated with the resource. If you specify a tag key that's already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

You can associate up to 50 tags with a resource.

\",\ - \"endpoint\":{\"hostPrefix\":\"metadata.\"}\ + \"endpoint\":{\"hostPrefix\":\"cp.metadata.\"}\ },\ \"UntagResource\":{\ \"name\":\"UntagResource\",\ @@ -1070,7 +1070,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Removes one or more tags from the specified Amazon Location resource.

\",\ - \"endpoint\":{\"hostPrefix\":\"metadata.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.metadata.\"},\ \"idempotent\":true\ },\ \"UpdateGeofenceCollection\":{\ @@ -1090,7 +1090,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Updates the specified properties of a given geofence collection.

\",\ - \"endpoint\":{\"hostPrefix\":\"geofencing.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.geofencing.\"},\ \"idempotent\":true\ },\ \"UpdateKey\":{\ @@ -1110,7 +1110,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Updates the specified properties of a given API key resource.

\",\ - \"endpoint\":{\"hostPrefix\":\"metadata.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.metadata.\"},\ \"idempotent\":true\ },\ \"UpdateMap\":{\ @@ -1130,7 +1130,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Updates the specified properties of a given map resource.

\",\ - \"endpoint\":{\"hostPrefix\":\"maps.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.maps.\"},\ \"idempotent\":true\ },\ \"UpdatePlaceIndex\":{\ @@ -1150,7 +1150,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Updates the specified properties of a given place index resource.

\",\ - \"endpoint\":{\"hostPrefix\":\"places.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.places.\"},\ \"idempotent\":true\ },\ \"UpdateRouteCalculator\":{\ @@ -1170,7 +1170,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Updates the specified properties for a given route calculator resource.

\",\ - \"endpoint\":{\"hostPrefix\":\"routes.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.routes.\"},\ \"idempotent\":true\ },\ \"UpdateTracker\":{\ @@ -1190,7 +1190,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"}\ ],\ \"documentation\":\"

Updates the specified properties of a given tracker resource.

\",\ - \"endpoint\":{\"hostPrefix\":\"tracking.\"},\ + \"endpoint\":{\"hostPrefix\":\"cp.tracking.\"},\ \"idempotent\":true\ }\ },\ @@ -2418,6 +2418,10 @@ - (NSString *)definitionString { \"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.

\"\ @@ -2620,6 +2624,10 @@ - (NSString *)definitionString { \"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

\"\ @@ -2646,6 +2654,11 @@ - (NSString *)definitionString { }\ }\ },\ + \"DescribeGeofenceCollectionResponseGeofenceCountInteger\":{\ + \"type\":\"integer\",\ + \"box\":true,\ + \"min\":0\ + },\ \"DescribeKeyRequest\":{\ \"type\":\"structure\",\ \"required\":[\"KeyName\"],\ @@ -2926,6 +2939,10 @@ - (NSString *)definitionString { \"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.

\"\ @@ -3283,7 +3300,7 @@ - (NSString *)definitionString { \"members\":{\ \"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 fonts 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.

\",\ + \"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\"\ },\ @@ -3666,6 +3683,10 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"required\":[\"TrackerName\"],\ \"members\":{\ + \"FilterGeometry\":{\ + \"shape\":\"TrackingFilterGeometry\",\ + \"documentation\":\"

The geomerty used to filter device positions.

\"\ + },\ \"MaxResults\":{\ \"shape\":\"ListDevicePositionsRequestMaxResultsInteger\",\ \"documentation\":\"

An optional limit for the number of entries returned in a single call.

Default value: 100

\"\ @@ -3694,7 +3715,7 @@ - (NSString *)definitionString { \"members\":{\ \"Entries\":{\ \"shape\":\"ListDevicePositionsResponseEntryList\",\ - \"documentation\":\"

Contains details about each device's last known position. These details includes the device ID, the time when the position was sampled on the device, the time that the service received the update, and the most recent coordinates.

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

Contains details about each device's last known position.

\"\ },\ \"NextToken\":{\ \"shape\":\"Token\",\ @@ -5258,6 +5279,16 @@ - (NSString *)definitionString { \"max\":2000,\ \"min\":1\ },\ + \"TrackingFilterGeometry\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Polygon\":{\ + \"shape\":\"LinearRings\",\ + \"documentation\":\"

The set of arrays which define the polygon. A polygon can have between 4 and 1000 vertices.

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

The geomerty used to filter device positions.

\"\ + },\ \"TravelMode\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -5606,6 +5637,10 @@ - (NSString *)definitionString { \"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.

\"\ diff --git a/AWSLocation/AWSLocationService.m b/AWSLocation/AWSLocationService.m index 65595b37e52..012d9e0d676 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.33.4"; +NSString *const AWSLocationSDKVersion = @"2.33.5"; @interface AWSLocationResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLocation/Info.plist b/AWSLocation/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSLocation/Info.plist +++ b/AWSLocation/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocationUnitTests/AWSLocationNSSecureCodingTests.m b/AWSLocationUnitTests/AWSLocationNSSecureCodingTests.m index fa97955e667..58c24fefa94 100644 --- a/AWSLocationUnitTests/AWSLocationNSSecureCodingTests.m +++ b/AWSLocationUnitTests/AWSLocationNSSecureCodingTests.m @@ -166,6 +166,7 @@ - (void) test_AWSLocationStep API_AVAILABLE(ios(11)); - (void) test_AWSLocationTagResourceRequest API_AVAILABLE(ios(11)); - (void) test_AWSLocationTagResourceResponse API_AVAILABLE(ios(11)); - (void) test_AWSLocationTimeZone API_AVAILABLE(ios(11)); +- (void) test_AWSLocationTrackingFilterGeometry API_AVAILABLE(ios(11)); - (void) test_AWSLocationTruckDimensions API_AVAILABLE(ios(11)); - (void) test_AWSLocationTruckWeight API_AVAILABLE(ios(11)); - (void) test_AWSLocationUntagResourceRequest API_AVAILABLE(ios(11)); @@ -776,6 +777,10 @@ - (void) test_AWSLocationTimeZone { [self validateSecureCodingForClass:[AWSLocationTimeZone class]]; } +- (void) test_AWSLocationTrackingFilterGeometry { + [self validateSecureCodingForClass:[AWSLocationTrackingFilterGeometry class]]; +} + - (void) test_AWSLocationTruckDimensions { [self validateSecureCodingForClass:[AWSLocationTruckDimensions class]]; } diff --git a/AWSLocationXCF/Info.plist b/AWSLocationXCF/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSLocationXCF/Info.plist +++ b/AWSLocationXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLogs.podspec b/AWSLogs.podspec index 8f40bbf665e..b04f99c503d 100644 --- a/AWSLogs.podspec +++ b/AWSLogs.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLogs' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSLogs/*.{h,m}' end diff --git a/AWSLogs/AWSLogsModel.h b/AWSLogs/AWSLogsModel.h index e0770388e64..8defd677f8d 100644 --- a/AWSLogs/AWSLogsModel.h +++ b/AWSLogs/AWSLogsModel.h @@ -2045,6 +2045,11 @@ typedef NS_ENUM(NSInteger, AWSLogsStandardUnit) { @interface AWSLogsPutQueryDefinitionRequest : AWSRequest +/** +

Used as an idempotency token, to avoid returning an exception if the service receives the same request twice because of a network error.

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

Use this parameter to include specific log groups as part of your query definition.

If you are updating a query definition and you omit this parameter, then the updated definition will contain no log groups.

*/ diff --git a/AWSLogs/AWSLogsModel.m b/AWSLogs/AWSLogsModel.m index a631cf25d42..ea130f2edb6 100644 --- a/AWSLogs/AWSLogsModel.m +++ b/AWSLogs/AWSLogsModel.m @@ -1837,6 +1837,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"clientToken" : @"clientToken", @"logGroupNames" : @"logGroupNames", @"name" : @"name", @"queryDefinitionId" : @"queryDefinitionId", diff --git a/AWSLogs/AWSLogsResources.m b/AWSLogs/AWSLogsResources.m index 1224b74eda9..25f3bbfeffd 100644 --- a/AWSLogs/AWSLogsResources.m +++ b/AWSLogs/AWSLogsResources.m @@ -132,7 +132,7 @@ - (NSString *)definitionString { {\"shape\":\"OperationAbortedException\"},\ {\"shape\":\"ServiceUnavailableException\"}\ ],\ - \"documentation\":\"

Creates a log group with the specified name. You can create up to 20,000 log groups per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

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

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

\"\ },\ \"CreateLogStream\":{\ \"name\":\"CreateLogStream\",\ @@ -677,7 +677,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededException\"},\ {\"shape\":\"ServiceUnavailableException\"}\ ],\ - \"documentation\":\"

Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

CloudWatch Logs disables a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.

You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

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

Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

CloudWatch Logs might disable a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within one hour.

You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

\"\ },\ \"PutQueryDefinition\":{\ \"name\":\"PutQueryDefinition\",\ @@ -723,7 +723,7 @@ - (NSString *)definitionString { {\"shape\":\"OperationAbortedException\"},\ {\"shape\":\"ServiceUnavailableException\"}\ ],\ - \"documentation\":\"

Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

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

Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

When log events reach their retention setting they are marked for deletion. After they are marked for deletion, they do not add to your archival storage costs anymore, even if they are not actually deleted until later. These log events marked for deletion are also not included when you use an API to retrieve the storedBytes value to see how many bytes a log group is storing.

\"\ },\ \"PutSubscriptionFilter\":{\ \"name\":\"PutSubscriptionFilter\",\ @@ -933,6 +933,12 @@ - (NSString *)definitionString { }\ }\ },\ + \"ClientToken\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":36,\ + \"pattern\":\"\\\\S{36,128}\"\ + },\ \"CreateExportTaskRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -2619,6 +2625,11 @@ - (NSString *)definitionString { \"queryString\":{\ \"shape\":\"QueryDefinitionString\",\ \"documentation\":\"

The query string to use for this definition. For more information, see CloudWatch Logs Insights Query Syntax.

\"\ + },\ + \"clientToken\":{\ + \"shape\":\"ClientToken\",\ + \"documentation\":\"

Used as an idempotency token, to avoid returning an exception if the service receives the same request twice because of a network error.

\",\ + \"idempotencyToken\":true\ }\ }\ },\ diff --git a/AWSLogs/AWSLogsService.h b/AWSLogs/AWSLogsService.h index 4edf60892ca..f977a0617e0 100644 --- a/AWSLogs/AWSLogsService.h +++ b/AWSLogs/AWSLogsService.h @@ -244,7 +244,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)createExportTask:(AWSLogsCreateExportTaskRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsCreateExportTaskResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a log group with the specified name. You can create up to 20,000 log groups per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

+

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

@param request A container for the necessary parameters to execute the CreateLogGroup service method. @@ -255,7 +255,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)createLogGroup:(AWSLogsCreateLogGroupRequest *)request; /** -

Creates a log group with the specified name. You can create up to 20,000 log groups per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

+

Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a Region for an Amazon Web Services account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

@param request A container for the necessary parameters to execute the CreateLogGroup service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1105,7 +1105,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)putLogEvents:(AWSLogsPutLogEventsRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsPutLogEventsResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

CloudWatch Logs disables a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.

You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

+

Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

CloudWatch Logs might disable a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within one hour.

You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

@param request A container for the necessary parameters to execute the PutMetricFilter service method. @@ -1116,7 +1116,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)putMetricFilter:(AWSLogsPutMetricFilterRequest *)request; /** -

Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

CloudWatch Logs disables a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.

You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

+

Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

CloudWatch Logs might disable a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within one hour.

You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

@param request A container for the necessary parameters to execute the PutMetricFilter service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1177,7 +1177,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (void)putResourcePolicy:(AWSLogsPutResourcePolicyRequest *)request completionHandler:(void (^ _Nullable)(AWSLogsPutResourcePolicyResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

+

Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

When log events reach their retention setting they are marked for deletion. After they are marked for deletion, they do not add to your archival storage costs anymore, even if they are not actually deleted until later. These log events marked for deletion are also not included when you use an API to retrieve the storedBytes value to see how many bytes a log group is storing.

@param request A container for the necessary parameters to execute the PutRetentionPolicy service method. @@ -1188,7 +1188,7 @@ FOUNDATION_EXPORT NSString *const AWSLogsSDKVersion; - (AWSTask *)putRetentionPolicy:(AWSLogsPutRetentionPolicyRequest *)request; /** -

Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

+

Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

When log events reach their retention setting they are marked for deletion. After they are marked for deletion, they do not add to your archival storage costs anymore, even if they are not actually deleted until later. These log events marked for deletion are also not included when you use an API to retrieve the storedBytes value to see how many bytes a log group is storing.

@param request A container for the necessary parameters to execute the PutRetentionPolicy service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSLogs/AWSLogsService.m b/AWSLogs/AWSLogsService.m index ee22d8a9d04..c4871a50051 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.33.4"; +NSString *const AWSLogsSDKVersion = @"2.33.5"; @interface AWSLogsResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLogs/Info.plist b/AWSLogs/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSLogs/Info.plist +++ b/AWSLogs/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMachineLearning.podspec b/AWSMachineLearning.podspec index fdfbbc6882c..dee961d7af4 100644 --- a/AWSMachineLearning.podspec +++ b/AWSMachineLearning.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMachineLearning' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSMachineLearning/*.{h,m}' end diff --git a/AWSMachineLearning/AWSMachineLearningService.m b/AWSMachineLearning/AWSMachineLearningService.m index 852f3c95486..60c297743a3 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.33.4"; +NSString *const AWSMachineLearningSDKVersion = @"2.33.5"; @interface AWSMachineLearningResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSMachineLearning/Info.plist b/AWSMachineLearning/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSMachineLearning/Info.plist +++ b/AWSMachineLearning/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMobileClient.podspec b/AWSMobileClient.podspec index c737b9ec07b..504a6c46471 100644 --- a/AWSMobileClient.podspec +++ b/AWSMobileClient.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMobileClient' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' - s.dependency 'AWSCognitoIdentityProvider', '2.33.4' + s.dependency 'AWSAuthCore', '2.33.5' + s.dependency 'AWSCognitoIdentityProvider', '2.33.5' # 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.33.4' - s.dependency 'AWSCognitoIdentityProviderASF', '2.33.4' + s.dependency 'AWSCore', '2.33.5' + s.dependency 'AWSCognitoIdentityProviderASF', '2.33.5' 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 960e5204554..9875471a11d 100644 --- a/AWSPinpoint.podspec +++ b/AWSPinpoint.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPinpoint' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSPinpoint/*.{h,m}', 'AWSPinpoint/**/*.{h,m}' s.private_header_files = 'AWSPinpoint/Internal/*.h' end diff --git a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingResources.m b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingResources.m index 937672d286a..916abb270c5 100644 --- a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingResources.m +++ b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingResources.m @@ -4223,7 +4223,7 @@ - (NSString *)definitionString { \"documentation\": \"

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

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

Removes one or more attributes, of the same attribute type, from all the endpoints that are associated with an application.

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

Removes one or more custom attributes, of the same attribute type, from the application. Existing endpoints still have the attributes but Amazon Pinpoint will stop capturing new or changed values for these attributes.

\"\ },\ \"SendMessages\": {\ \"name\": \"SendMessages\",\ diff --git a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.h b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.h index 23f09eeec7c..5e60dd9f097 100644 --- a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.h +++ b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.h @@ -2450,7 +2450,7 @@ FOUNDATION_EXPORT NSString *const AWSPinpointTargetingSDKVersion; - (void)putEvents:(AWSPinpointTargetingPutEventsRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingPutEventsResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Removes one or more attributes, of the same attribute type, from all the endpoints that are associated with an application.

+

Removes one or more custom attributes, of the same attribute type, from the application. Existing endpoints still have the attributes but Amazon Pinpoint will stop capturing new or changed values for these attributes.

@param request A container for the necessary parameters to execute the RemoveAttributes service method. @@ -2462,7 +2462,7 @@ FOUNDATION_EXPORT NSString *const AWSPinpointTargetingSDKVersion; - (AWSTask *)removeAttributes:(AWSPinpointTargetingRemoveAttributesRequest *)request; /** -

Removes one or more attributes, of the same attribute type, from all the endpoints that are associated with an application.

+

Removes one or more custom attributes, of the same attribute type, from the application. Existing endpoints still have the attributes but Amazon Pinpoint will stop capturing new or changed values for these attributes.

@param request A container for the necessary parameters to execute the RemoveAttributes service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m index 69aa7d27239..cadaf457a4b 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.33.4"; +NSString *const AWSPinpointTargetingSDKVersion = @"2.33.5"; @interface AWSPinpointTargetingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPinpoint/Info.plist b/AWSPinpoint/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSPinpoint/Info.plist +++ b/AWSPinpoint/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSPolly.podspec b/AWSPolly.podspec index 0e50fec6010..fc6b362674b 100644 --- a/AWSPolly.podspec +++ b/AWSPolly.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPolly' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSPolly/*.{h,m}' end diff --git a/AWSPolly/AWSPollyModel.h b/AWSPolly/AWSPollyModel.h index f899e328411..f8ef7ef5b07 100644 --- a/AWSPolly/AWSPollyModel.h +++ b/AWSPolly/AWSPollyModel.h @@ -50,6 +50,7 @@ typedef NS_ENUM(NSInteger, AWSPollyEngine) { AWSPollyEngineUnknown, AWSPollyEngineStandard, AWSPollyEngineNeural, + AWSPollyEngineLongForm, }; typedef NS_ENUM(NSInteger, AWSPollyGender) { @@ -225,6 +226,9 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { AWSPollyVoiceIdSofie, AWSPollyVoiceIdLisa, AWSPollyVoiceIdIsabelle, + AWSPollyVoiceIdZayd, + AWSPollyVoiceIdDanielle, + AWSPollyVoiceIdGregory, }; @class AWSPollyDeleteLexiconInput; @@ -252,7 +256,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @class AWSPollyVoice; /** - + */ @interface AWSPollyDeleteLexiconInput : AWSRequest @@ -265,7 +269,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyDeleteLexiconOutput : AWSModel @@ -273,13 +277,13 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyDescribeVoicesInput : AWSRequest /** -

Specifies the engine (standard or neural) used by Amazon Polly when processing input text for speech synthesis.

+

Specifies the engine (standard, neural or long-form) used by Amazon Polly when processing input text for speech synthesis.

*/ @property (nonatomic, assign) AWSPollyEngine engine; @@ -301,7 +305,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyDescribeVoicesOutput : AWSModel @@ -319,7 +323,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyGetLexiconInput : AWSRequest @@ -332,7 +336,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyGetLexiconOutput : AWSModel @@ -350,7 +354,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyGetSpeechSynthesisTaskInput : AWSRequest @@ -363,7 +367,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyGetSpeechSynthesisTaskOutput : AWSModel @@ -450,7 +454,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyListLexiconsInput : AWSRequest @@ -463,7 +467,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyListLexiconsOutput : AWSModel @@ -481,7 +485,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyListSpeechSynthesisTasksInput : AWSRequest @@ -504,7 +508,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyListSpeechSynthesisTasksOutput : AWSModel @@ -522,7 +526,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyPutLexiconInput : AWSRequest @@ -540,7 +544,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyPutLexiconOutput : AWSModel @@ -548,13 +552,13 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyStartSpeechSynthesisTaskInput : AWSRequest /** -

Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

+

Specifies the engine (standard, neural or long-form) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

*/ @property (nonatomic, assign) AWSPollyEngine engine; @@ -584,7 +588,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @property (nonatomic, strong) NSString * _Nullable outputS3KeyPrefix; /** -

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for standard voices is "22050". The default value for neural voices is "24000".

Valid values for pcm are "8000" and "16000" The default value is "16000".

+

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for standard voices is "22050". The default value for neural voices is "24000". The default value for long-form voices is "24000".

Valid values for pcm are "8000" and "16000" The default value is "16000".

*/ @property (nonatomic, strong) NSString * _Nullable sampleRate; @@ -616,7 +620,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollyStartSpeechSynthesisTaskOutput : AWSModel @@ -640,7 +644,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @property (nonatomic, strong) NSDate * _Nullable creationTime; /** -

Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

+

Specifies the engine (standard, neural or long-form) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

*/ @property (nonatomic, assign) AWSPollyEngine engine; @@ -670,7 +674,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @property (nonatomic, strong) NSNumber * _Nullable requestCharacters; /** -

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for standard voices is "22050". The default value for neural voices is "24000".

Valid values for pcm are "8000" and "16000" The default value is "16000".

+

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for standard voices is "22050". The default value for neural voices is "24000". The default value for long-form voices is "24000".

Valid values for pcm are "8000" and "16000" The default value is "16000".

*/ @property (nonatomic, strong) NSString * _Nullable sampleRate; @@ -712,13 +716,13 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollySynthesizeSpeechInput : AWSRequest /** -

Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. For information on Amazon Polly voices and which voices are available in standard-only, NTTS-only, and both standard and NTTS formats, see Available Voices.

NTTS-only voices

When using NTTS-only voices such as Kevin (en-US), this parameter is required and must be set to neural. If the engine is not specified, or is set to standard, this will result in an error.

Type: String

Valid Values: standard | neural

Required: Yes

Standard voices

For standard voices, this is not required; the engine parameter defaults to standard. If the engine is not specified, or is set to standard and an NTTS-only voice is selected, this will result in an error.

+

Specifies the engine (standard, neural or long-form) for Amazon Polly to use when processing input text for speech synthesis. For information on Amazon Polly voices and which voices are available for each engine, see Available Voices.

NTTS-only voices

When using NTTS-only voices such as Kevin (en-US), this parameter is required and must be set to neural. If the engine is not specified, or is set to standard, this will result in an error.

long-form-only voices

When using long-form-only voices such as Danielle (en-US), this parameter is required and must be set to long-form. If the engine is not specified, or is set to standard or neural, this will result in an error.

Type: String

Valid Values: standard | neural | long-form

Required: Yes

Standard voices

For standard voices, this is not required; the engine parameter defaults to standard. If the engine is not specified, or is set to standard and an NTTS-only voice is selected, this will result in an error.

*/ @property (nonatomic, assign) AWSPollyEngine engine; @@ -738,7 +742,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @property (nonatomic, assign) AWSPollyOutputFormat outputFormat; /** -

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for standard voices is "22050". The default value for neural voices is "24000".

Valid values for pcm are "8000" and "16000" The default value is "16000".

+

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are "8000", "16000", "22050", and "24000". The default value for standard voices is "22050". The default value for neural voices is "24000". The default value for long-form voices is "24000".

Valid values for pcm are "8000" and "16000" The default value is "16000".

*/ @property (nonatomic, strong) NSString * _Nullable sampleRate; @@ -765,7 +769,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @end /** - + */ @interface AWSPollySynthesizeSpeechOutput : AWSModel @@ -824,7 +828,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @property (nonatomic, strong) NSString * _Nullable name; /** -

Specifies which engines (standard or neural) that are supported by a given voice.

+

Specifies which engines (standard, neural or long-form) are supported by a given voice.

*/ @property (nonatomic, strong) NSArray * _Nullable supportedEngines; diff --git a/AWSPolly/AWSPollyModel.m b/AWSPolly/AWSPollyModel.m index 4297f1e2ee6..a10cdcf95e0 100644 --- a/AWSPolly/AWSPollyModel.m +++ b/AWSPolly/AWSPollyModel.m @@ -63,6 +63,9 @@ + (NSValueTransformer *)engineJSONTransformer { if ([value caseInsensitiveCompare:@"neural"] == NSOrderedSame) { return @(AWSPollyEngineNeural); } + if ([value caseInsensitiveCompare:@"long-form"] == NSOrderedSame) { + return @(AWSPollyEngineLongForm); + } return @(AWSPollyEngineUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -70,6 +73,8 @@ + (NSValueTransformer *)engineJSONTransformer { return @"standard"; case AWSPollyEngineNeural: return @"neural"; + case AWSPollyEngineLongForm: + return @"long-form"; default: return nil; } @@ -792,6 +797,9 @@ + (NSValueTransformer *)engineJSONTransformer { if ([value caseInsensitiveCompare:@"neural"] == NSOrderedSame) { return @(AWSPollyEngineNeural); } + if ([value caseInsensitiveCompare:@"long-form"] == NSOrderedSame) { + return @(AWSPollyEngineLongForm); + } return @(AWSPollyEngineUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -799,6 +807,8 @@ + (NSValueTransformer *)engineJSONTransformer { return @"standard"; case AWSPollyEngineNeural: return @"neural"; + case AWSPollyEngineLongForm: + return @"long-form"; default: return nil; } @@ -1341,6 +1351,15 @@ + (NSValueTransformer *)voiceIdJSONTransformer { if ([value caseInsensitiveCompare:@"Isabelle"] == NSOrderedSame) { return @(AWSPollyVoiceIdIsabelle); } + if ([value caseInsensitiveCompare:@"Zayd"] == NSOrderedSame) { + return @(AWSPollyVoiceIdZayd); + } + if ([value caseInsensitiveCompare:@"Danielle"] == NSOrderedSame) { + return @(AWSPollyVoiceIdDanielle); + } + if ([value caseInsensitiveCompare:@"Gregory"] == NSOrderedSame) { + return @(AWSPollyVoiceIdGregory); + } return @(AWSPollyVoiceIdUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -1528,6 +1547,12 @@ + (NSValueTransformer *)voiceIdJSONTransformer { return @"Lisa"; case AWSPollyVoiceIdIsabelle: return @"Isabelle"; + case AWSPollyVoiceIdZayd: + return @"Zayd"; + case AWSPollyVoiceIdDanielle: + return @"Danielle"; + case AWSPollyVoiceIdGregory: + return @"Gregory"; default: return nil; } @@ -1596,6 +1621,9 @@ + (NSValueTransformer *)engineJSONTransformer { if ([value caseInsensitiveCompare:@"neural"] == NSOrderedSame) { return @(AWSPollyEngineNeural); } + if ([value caseInsensitiveCompare:@"long-form"] == NSOrderedSame) { + return @(AWSPollyEngineLongForm); + } return @(AWSPollyEngineUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -1603,6 +1631,8 @@ + (NSValueTransformer *)engineJSONTransformer { return @"standard"; case AWSPollyEngineNeural: return @"neural"; + case AWSPollyEngineLongForm: + return @"long-form"; default: return nil; } @@ -2176,6 +2206,15 @@ + (NSValueTransformer *)voiceIdJSONTransformer { if ([value caseInsensitiveCompare:@"Isabelle"] == NSOrderedSame) { return @(AWSPollyVoiceIdIsabelle); } + if ([value caseInsensitiveCompare:@"Zayd"] == NSOrderedSame) { + return @(AWSPollyVoiceIdZayd); + } + if ([value caseInsensitiveCompare:@"Danielle"] == NSOrderedSame) { + return @(AWSPollyVoiceIdDanielle); + } + if ([value caseInsensitiveCompare:@"Gregory"] == NSOrderedSame) { + return @(AWSPollyVoiceIdGregory); + } return @(AWSPollyVoiceIdUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2363,6 +2402,12 @@ + (NSValueTransformer *)voiceIdJSONTransformer { return @"Lisa"; case AWSPollyVoiceIdIsabelle: return @"Isabelle"; + case AWSPollyVoiceIdZayd: + return @"Zayd"; + case AWSPollyVoiceIdDanielle: + return @"Danielle"; + case AWSPollyVoiceIdGregory: + return @"Gregory"; default: return nil; } @@ -2399,6 +2444,9 @@ + (NSValueTransformer *)engineJSONTransformer { if ([value caseInsensitiveCompare:@"neural"] == NSOrderedSame) { return @(AWSPollyEngineNeural); } + if ([value caseInsensitiveCompare:@"long-form"] == NSOrderedSame) { + return @(AWSPollyEngineLongForm); + } return @(AWSPollyEngineUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2406,6 +2454,8 @@ + (NSValueTransformer *)engineJSONTransformer { return @"standard"; case AWSPollyEngineNeural: return @"neural"; + case AWSPollyEngineLongForm: + return @"long-form"; default: return nil; } @@ -2948,6 +2998,15 @@ + (NSValueTransformer *)voiceIdJSONTransformer { if ([value caseInsensitiveCompare:@"Isabelle"] == NSOrderedSame) { return @(AWSPollyVoiceIdIsabelle); } + if ([value caseInsensitiveCompare:@"Zayd"] == NSOrderedSame) { + return @(AWSPollyVoiceIdZayd); + } + if ([value caseInsensitiveCompare:@"Danielle"] == NSOrderedSame) { + return @(AWSPollyVoiceIdDanielle); + } + if ([value caseInsensitiveCompare:@"Gregory"] == NSOrderedSame) { + return @(AWSPollyVoiceIdGregory); + } return @(AWSPollyVoiceIdUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -3135,6 +3194,12 @@ + (NSValueTransformer *)voiceIdJSONTransformer { return @"Lisa"; case AWSPollyVoiceIdIsabelle: return @"Isabelle"; + case AWSPollyVoiceIdZayd: + return @"Zayd"; + case AWSPollyVoiceIdDanielle: + return @"Danielle"; + case AWSPollyVoiceIdGregory: + return @"Gregory"; default: return nil; } @@ -3476,6 +3541,15 @@ + (NSValueTransformer *)identifierJSONTransformer { if ([value caseInsensitiveCompare:@"Isabelle"] == NSOrderedSame) { return @(AWSPollyVoiceIdIsabelle); } + if ([value caseInsensitiveCompare:@"Zayd"] == NSOrderedSame) { + return @(AWSPollyVoiceIdZayd); + } + if ([value caseInsensitiveCompare:@"Danielle"] == NSOrderedSame) { + return @(AWSPollyVoiceIdDanielle); + } + if ([value caseInsensitiveCompare:@"Gregory"] == NSOrderedSame) { + return @(AWSPollyVoiceIdGregory); + } return @(AWSPollyVoiceIdUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -3663,6 +3737,12 @@ + (NSValueTransformer *)identifierJSONTransformer { return @"Lisa"; case AWSPollyVoiceIdIsabelle: return @"Isabelle"; + case AWSPollyVoiceIdZayd: + return @"Zayd"; + case AWSPollyVoiceIdDanielle: + return @"Danielle"; + case AWSPollyVoiceIdGregory: + return @"Gregory"; default: return nil; } diff --git a/AWSPolly/AWSPollyResources.m b/AWSPolly/AWSPollyResources.m index 81138f0ea6c..f69e216430c 100644 --- a/AWSPolly/AWSPollyResources.m +++ b/AWSPolly/AWSPollyResources.m @@ -257,7 +257,7 @@ - (NSString *)definitionString { \"members\":{\ \"Engine\":{\ \"shape\":\"Engine\",\ - \"documentation\":\"

Specifies the engine (standard or neural) used by Amazon Polly when processing input text for speech synthesis.

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

Specifies the engine (standard, neural or long-form) used by Amazon Polly when processing input text for speech synthesis.

\",\ \"location\":\"querystring\",\ \"locationName\":\"Engine\"\ },\ @@ -298,7 +298,8 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\ \"standard\",\ - \"neural\"\ + \"neural\",\ + \"long-form\"\ ]\ },\ \"EngineList\":{\ @@ -785,7 +786,7 @@ - (NSString *)definitionString { \"members\":{\ \"Engine\":{\ \"shape\":\"Engine\",\ - \"documentation\":\"

Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

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

Specifies the engine (standard, neural or long-form) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

\"\ },\ \"LanguageCode\":{\ \"shape\":\"LanguageCode\",\ @@ -809,7 +810,7 @@ - (NSString *)definitionString { },\ \"SampleRate\":{\ \"shape\":\"SampleRate\",\ - \"documentation\":\"

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are \\\"8000\\\", \\\"16000\\\", \\\"22050\\\", and \\\"24000\\\". The default value for standard voices is \\\"22050\\\". The default value for neural voices is \\\"24000\\\".

Valid values for pcm are \\\"8000\\\" and \\\"16000\\\" The default value is \\\"16000\\\".

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

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are \\\"8000\\\", \\\"16000\\\", \\\"22050\\\", and \\\"24000\\\". The default value for standard voices is \\\"22050\\\". The default value for neural voices is \\\"24000\\\". The default value for long-form voices is \\\"24000\\\".

Valid values for pcm are \\\"8000\\\" and \\\"16000\\\" The default value is \\\"16000\\\".

\"\ },\ \"SnsTopicArn\":{\ \"shape\":\"SnsTopicArn\",\ @@ -847,7 +848,7 @@ - (NSString *)definitionString { \"members\":{\ \"Engine\":{\ \"shape\":\"Engine\",\ - \"documentation\":\"

Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

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

Specifies the engine (standard, neural or long-form) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

\"\ },\ \"TaskId\":{\ \"shape\":\"TaskId\",\ @@ -887,7 +888,7 @@ - (NSString *)definitionString { },\ \"SampleRate\":{\ \"shape\":\"SampleRate\",\ - \"documentation\":\"

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are \\\"8000\\\", \\\"16000\\\", \\\"22050\\\", and \\\"24000\\\". The default value for standard voices is \\\"22050\\\". The default value for neural voices is \\\"24000\\\".

Valid values for pcm are \\\"8000\\\" and \\\"16000\\\" The default value is \\\"16000\\\".

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

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are \\\"8000\\\", \\\"16000\\\", \\\"22050\\\", and \\\"24000\\\". The default value for standard voices is \\\"22050\\\". The default value for neural voices is \\\"24000\\\". The default value for long-form voices is \\\"24000\\\".

Valid values for pcm are \\\"8000\\\" and \\\"16000\\\" The default value is \\\"16000\\\".

\"\ },\ \"SpeechMarkTypes\":{\ \"shape\":\"SpeechMarkTypeList\",\ @@ -931,7 +932,7 @@ - (NSString *)definitionString { \"members\":{\ \"Engine\":{\ \"shape\":\"Engine\",\ - \"documentation\":\"

Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. For information on Amazon Polly voices and which voices are available in standard-only, NTTS-only, and both standard and NTTS formats, see Available Voices.

NTTS-only voices

When using NTTS-only voices such as Kevin (en-US), this parameter is required and must be set to neural. If the engine is not specified, or is set to standard, this will result in an error.

Type: String

Valid Values: standard | neural

Required: Yes

Standard voices

For standard voices, this is not required; the engine parameter defaults to standard. If the engine is not specified, or is set to standard and an NTTS-only voice is selected, this will result in an error.

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

Specifies the engine (standard, neural or long-form) for Amazon Polly to use when processing input text for speech synthesis. For information on Amazon Polly voices and which voices are available for each engine, see Available Voices.

NTTS-only voices

When using NTTS-only voices such as Kevin (en-US), this parameter is required and must be set to neural. If the engine is not specified, or is set to standard, this will result in an error.

long-form-only voices

When using long-form-only voices such as Danielle (en-US), this parameter is required and must be set to long-form. If the engine is not specified, or is set to standard or neural, this will result in an error.

Type: String

Valid Values: standard | neural | long-form

Required: Yes

Standard voices

For standard voices, this is not required; the engine parameter defaults to standard. If the engine is not specified, or is set to standard and an NTTS-only voice is selected, this will result in an error.

\"\ },\ \"LanguageCode\":{\ \"shape\":\"LanguageCode\",\ @@ -947,7 +948,7 @@ - (NSString *)definitionString { },\ \"SampleRate\":{\ \"shape\":\"SampleRate\",\ - \"documentation\":\"

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are \\\"8000\\\", \\\"16000\\\", \\\"22050\\\", and \\\"24000\\\". The default value for standard voices is \\\"22050\\\". The default value for neural voices is \\\"24000\\\".

Valid values for pcm are \\\"8000\\\" and \\\"16000\\\" The default value is \\\"16000\\\".

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

The audio frequency specified in Hz.

The valid values for mp3 and ogg_vorbis are \\\"8000\\\", \\\"16000\\\", \\\"22050\\\", and \\\"24000\\\". The default value for standard voices is \\\"22050\\\". The default value for neural voices is \\\"24000\\\". The default value for long-form voices is \\\"24000\\\".

Valid values for pcm are \\\"8000\\\" and \\\"16000\\\" The default value is \\\"16000\\\".

\"\ },\ \"SpeechMarkTypes\":{\ \"shape\":\"SpeechMarkTypeList\",\ @@ -1067,7 +1068,7 @@ - (NSString *)definitionString { },\ \"SupportedEngines\":{\ \"shape\":\"EngineList\",\ - \"documentation\":\"

Specifies which engines (standard or neural) that are supported by a given voice.

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

Specifies which engines (standard, neural or long-form) are supported by a given voice.

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

Description of the voice.

\"\ @@ -1166,7 +1167,10 @@ - (NSString *)definitionString { \"Niamh\",\ \"Sofie\",\ \"Lisa\",\ - \"Isabelle\"\ + \"Isabelle\",\ + \"Zayd\",\ + \"Danielle\",\ + \"Gregory\"\ ]\ },\ \"VoiceList\":{\ diff --git a/AWSPolly/AWSPollyService.m b/AWSPolly/AWSPollyService.m index 932ad1e0f4d..68aee1301ac 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.33.4"; +NSString *const AWSPollySDKVersion = @"2.33.5"; @interface AWSPollyResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m b/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m index 7bf7b16b4d2..3294f877134 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.33.4"; +static NSString *const AWSPollySDKVersion = @"2.33.5"; NSString *const AWSPollySynthesizeSpeechURLBuilderErrorDomain = @"com.amazonaws.AWSPollySynthesizeSpeechURLBuilderErrorDomain"; NSString *const AWSPollyPresignedUrlPath = @"v1/speech"; diff --git a/AWSPolly/Info.plist b/AWSPolly/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSPolly/Info.plist +++ b/AWSPolly/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSRekognition.podspec b/AWSRekognition.podspec index 9b2e68a6884..ce7cec97e9b 100644 --- a/AWSRekognition.podspec +++ b/AWSRekognition.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSRekognition' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSRekognition/*.{h,m}' end diff --git a/AWSRekognition/AWSRekognitionModel.h b/AWSRekognition/AWSRekognitionModel.h index 33841392d60..b8e6d508bdc 100644 --- a/AWSRekognition/AWSRekognitionModel.h +++ b/AWSRekognition/AWSRekognitionModel.h @@ -97,6 +97,12 @@ typedef NS_ENUM(NSInteger, AWSRekognitionContentModerationSortBy) { AWSRekognitionContentModerationSortByTimestamp, }; +typedef NS_ENUM(NSInteger, AWSRekognitionCustomizationFeature) { + AWSRekognitionCustomizationFeatureUnknown, + AWSRekognitionCustomizationFeatureContentModeration, + AWSRekognitionCustomizationFeatureCustomLabels, +}; + typedef NS_ENUM(NSInteger, AWSRekognitionDatasetStatus) { AWSRekognitionDatasetStatusUnknown, AWSRekognitionDatasetStatusCreateInProgress, @@ -239,6 +245,12 @@ typedef NS_ENUM(NSInteger, AWSRekognitionPersonTrackingSortBy) { AWSRekognitionPersonTrackingSortByTimestamp, }; +typedef NS_ENUM(NSInteger, AWSRekognitionProjectAutoUpdate) { + AWSRekognitionProjectAutoUpdateUnknown, + AWSRekognitionProjectAutoUpdateEnabled, + AWSRekognitionProjectAutoUpdateDisabled, +}; + typedef NS_ENUM(NSInteger, AWSRekognitionProjectStatus) { AWSRekognitionProjectStatusUnknown, AWSRekognitionProjectStatusCreating, @@ -260,6 +272,8 @@ typedef NS_ENUM(NSInteger, AWSRekognitionProjectVersionStatus) { AWSRekognitionProjectVersionStatusCopyingInProgress, AWSRekognitionProjectVersionStatusCopyingCompleted, AWSRekognitionProjectVersionStatusCopyingFailed, + AWSRekognitionProjectVersionStatusDeprecated, + AWSRekognitionProjectVersionStatusExpired, }; typedef NS_ENUM(NSInteger, AWSRekognitionProtectiveEquipmentType) { @@ -420,6 +434,8 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @class AWSRekognitionCreateUserRequest; @class AWSRekognitionCreateUserResponse; @class AWSRekognitionCustomLabel; +@class AWSRekognitionCustomizationFeatureConfig; +@class AWSRekognitionCustomizationFeatureContentModerationConfig; @class AWSRekognitionDatasetChanges; @class AWSRekognitionDatasetDescription; @class AWSRekognitionDatasetLabelDescription; @@ -1395,6 +1411,16 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @interface AWSRekognitionCreateProjectRequest : AWSRequest +/** +

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.

+ */ +@property (nonatomic, assign) AWSRekognitionProjectAutoUpdate autoUpdate; + +/** +

Specifies feature that is being customized. If no value is provided CUSTOM_LABELS is used as a default.

+ */ +@property (nonatomic, assign) AWSRekognitionCustomizationFeature feature; + /**

The name of the project to create.

*/ @@ -1422,37 +1448,47 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { /** -

The identifier for your AWS Key Management Service key (AWS KMS key). You can supply the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, an alias for your KMS key, or an alias ARN. The key is used to encrypt training and test images copied into the service for model training. Your source images are unaffected. The key is also used to encrypt training results and manifest files written to the output Amazon S3 bucket (OutputConfig).

If you choose to use your own KMS key, you need the following permissions on the KMS key.

  • kms:CreateGrant

  • kms:DescribeKey

  • kms:GenerateDataKey

  • kms:Decrypt

If you don't specify a value for KmsKeyId, images copied into the service are encrypted using a key that AWS owns and manages.

+

Feature-specific configuration of the training job. If the job configuration does not match the feature type associated with the project, an InvalidParameterException is returned.

+ */ +@property (nonatomic, strong) AWSRekognitionCustomizationFeatureConfig * _Nullable featureConfig; + +/** +

The identifier for your AWS Key Management Service key (AWS KMS key). You can supply the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, an alias for your KMS key, or an alias ARN. The key is used to encrypt training images, test images, and manifest files copied into the service for the project version. Your source images are unaffected. The key is also used to encrypt training results and manifest files written to the output Amazon S3 bucket (OutputConfig).

If you choose to use your own KMS key, you need the following permissions on the KMS key.

  • kms:CreateGrant

  • kms:DescribeKey

  • kms:GenerateDataKey

  • kms:Decrypt

If you don't specify a value for KmsKeyId, images copied into the service are encrypted using a key that AWS owns and manages.

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

The Amazon S3 bucket location to store the results of training. The S3 bucket can be in any AWS account as long as the caller has s3:PutObject permissions on the S3 bucket.

+

The Amazon S3 bucket location to store the results of training. The bucket can be any S3 bucket in your AWS account. You need s3:PutObject permission on the bucket.

*/ @property (nonatomic, strong) AWSRekognitionOutputConfig * _Nullable outputConfig; /** -

The ARN of the Amazon Rekognition Custom Labels project that manages the model that you want to train.

+

The ARN of the Amazon Rekognition project that will manage the project version you want to train.

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

A set of tags (key-value pairs) that you want to attach to the model.

+

A set of tags (key-value pairs) that you want to attach to the project version.

*/ @property (nonatomic, strong) NSDictionary * _Nullable tags; /** -

Specifies an external manifest that the service uses to test the model. If you specify TestingData you must also specify TrainingData. The project must not have any associated datasets.

+

Specifies an external manifest that the service uses to test the project version. If you specify TestingData you must also specify TrainingData. The project must not have any associated datasets.

*/ @property (nonatomic, strong) AWSRekognitionTestingData * _Nullable testingData; /** -

Specifies an external manifest that the services uses to train the model. If you specify TrainingData you must also specify TestingData. The project must not have any associated datasets.

+

Specifies an external manifest that the services uses to train the project version. If you specify TrainingData you must also specify TestingData. The project must not have any associated datasets.

*/ @property (nonatomic, strong) AWSRekognitionTrainingData * _Nullable trainingData; /** -

A name for the version of the model. This value must be unique.

+

A description applied to the project version being created.

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

A name for the version of the project version. This value must be unique.

*/ @property (nonatomic, strong) NSString * _Nullable versionName; @@ -1465,7 +1501,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { /** -

The ARN of the model version that was created. Use DescribeProjectVersion to get the current status of the training operation.

+

The ARN of the model or the project version that was created. Use DescribeProjectVersion to get the current status of the training operation.

*/ @property (nonatomic, strong) NSString * _Nullable projectVersionArn; @@ -1596,6 +1632,32 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @end +/** +

Feature specific configuration for the training job. Configuration provided for the job must match the feature type parameter associated with project. If configuration and feature type do not match an InvalidParameterException is returned.

+ */ +@interface AWSRekognitionCustomizationFeatureConfig : AWSModel + + +/** +

Configuration options for Custom Moderation training.

+ */ +@property (nonatomic, strong) AWSRekognitionCustomizationFeatureContentModerationConfig * _Nullable contentModeration; + +@end + +/** +

Configuration options for Content Moderation training.

+ */ +@interface AWSRekognitionCustomizationFeatureContentModerationConfig : AWSModel + + +/** +

The confidence level you plan to use to identify if unsafe content is present during inference.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable confidenceThreshold; + +@end + /**

Describes updates or additions to a dataset. A Single update or addition is an entry (JSON Line) that provides information about a single image. To update an existing entry, you match the source-ref field of the update entry with the source-ref filed of the entry that you want to update. If the source-ref field doesn't match an existing entry, the entry is added to dataset as a new entry.

Required parameters: [GroundTruth] @@ -1915,7 +1977,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { /** -

The Amazon Resource Name (ARN) of the model version that you want to delete.

+

The Amazon Resource Name (ARN) of the project version that you want to delete.

*/ @property (nonatomic, strong) NSString * _Nullable projectVersionArn; @@ -2070,17 +2132,17 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @property (nonatomic, strong) NSNumber * _Nullable maxResults; /** -

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

+

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

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

The Amazon Resource Name (ARN) of the project that contains the models you want to describe.

+

The Amazon Resource Name (ARN) of the project that contains the model/adapter you want to describe.

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

A list of model version names that you want to describe. You can add up to 10 model version names to the list. If you don't specify a value, all model descriptions are returned. A version name is part of a model (ProjectVersion) ARN. For example, my-model.2020-01-21T09.10.15 is the version name in the following ARN. arn:aws:rekognition:us-east-1:123456789012:project/getting-started/version/my-model.2020-01-21T09.10.15/1234567890123.

+

A list of model or project version names that you want to describe. You can add up to 10 model or project version names to the list. If you don't specify a value, all project version descriptions are returned. A version name is part of a project version ARN. For example, my-model.2020-01-21T09.10.15 is the version name in the following ARN. arn:aws:rekognition:us-east-1:123456789012:project/getting-started/version/my-model.2020-01-21T09.10.15/1234567890123.

*/ @property (nonatomic, strong) NSArray * _Nullable versionNames; @@ -2093,12 +2155,12 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { /** -

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

+

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

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

A list of model descriptions. The list is sorted by the creation date and time of the model versions, latest to earliest.

+

A list of project version descriptions. The list is sorted by the creation date and time of the project versions, latest to earliest.

*/ @property (nonatomic, strong) NSArray * _Nullable projectVersionDescriptions; @@ -2110,18 +2172,23 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @interface AWSRekognitionDescribeProjectsRequest : AWSRequest +/** +

Specifies the type of customization to filter projects by. If no value is specified, CUSTOM_LABELS is used as a default.

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

The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100.

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

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

+

If the previous response was incomplete (because there is more results to retrieve), Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

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

A list of the projects that you want Amazon Rekognition Custom Labels to describe. If you don't specify a value, the response includes descriptions for all the projects in your AWS account.

+

A list of the projects that you want Rekognition to describe. If you don't specify a value, the response includes descriptions for all the projects in your AWS account.

*/ @property (nonatomic, strong) NSArray * _Nullable projectNames; @@ -2134,7 +2201,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { /** -

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

+

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

*/ @property (nonatomic, strong) NSString * _Nullable nextToken; @@ -2258,7 +2325,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @property (nonatomic, strong) NSNumber * _Nullable minConfidence; /** -

The ARN of the model version that you want to use.

+

The ARN of the model version that you want to use. Only models associated with Custom Labels projects accepted by the operation. If a provided ARN refers to a model version associated with a project for a different feature type, then an InvalidParameterException is returned.

*/ @property (nonatomic, strong) NSString * _Nullable projectVersionArn; @@ -2513,6 +2580,11 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { */ @property (nonatomic, strong) NSNumber * _Nullable minConfidence; +/** +

Identifier for the custom adapter. Expects the ProjectVersionArn as a value. Use the CreateProject or CreateProjectVersion APIs to create a custom adapter.

+ */ +@property (nonatomic, strong) NSString * _Nullable projectVersion; + @end /** @@ -2532,10 +2604,15 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @property (nonatomic, strong) NSArray * _Nullable moderationLabels; /** -

Version number of the moderation detection model that was used to detect unsafe content.

+

Version number of the base moderation detection model that was used to detect unsafe content.

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

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.

+ */ +@property (nonatomic, strong) NSString * _Nullable projectVersion; + @end /** @@ -4955,6 +5032,11 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @interface AWSRekognitionProjectDescription : AWSModel +/** +

Indicates whether automatic retraining will be attempted for the versions of the project. Applies only to adapters.

+ */ +@property (nonatomic, assign) AWSRekognitionProjectAutoUpdate autoUpdate; + /**

The Unix timestamp for the date and time that the project was created.

*/ @@ -4965,6 +5047,11 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { */ @property (nonatomic, strong) NSArray * _Nullable datasets; +/** +

Specifies the project that is being customized.

+ */ +@property (nonatomic, assign) AWSRekognitionCustomizationFeature feature; + /**

The Amazon Resource Name (ARN) of the project.

*/ @@ -5016,11 +5103,16 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @end /** -

A description of a version of an Amazon Rekognition Custom Labels model.

+

A description of a version of a Amazon Rekognition project version.

*/ @interface AWSRekognitionProjectVersionDescription : AWSModel +/** +

The base detection model version used to create the project version.

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

The duration, in seconds, that you were billed for a successful training of the model version. This value is only returned if the model version has been successfully trained.

*/ @@ -5036,6 +5128,16 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { */ @property (nonatomic, strong) AWSRekognitionEvaluationResult * _Nullable evaluationResult; +/** +

The feature that was customized.

+ */ +@property (nonatomic, assign) AWSRekognitionCustomizationFeature feature; + +/** +

Feature specific configuration that was applied during training.

+ */ +@property (nonatomic, strong) AWSRekognitionCustomizationFeatureConfig * _Nullable featureConfig; + /**

The identifer for the AWS Key Management Service key (AWS KMS key) that was used to encrypt the model during training.

*/ @@ -5047,12 +5149,12 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @property (nonatomic, strong) AWSRekognitionGroundTruthManifest * _Nullable manifestSummary; /** -

The maximum number of inference units Amazon Rekognition Custom Labels uses to auto-scale the model. For more information, see StartProjectVersion.

+

The maximum number of inference units Amazon Rekognition uses to auto-scale the model. Applies only to Custom Labels projects. For more information, see StartProjectVersion.

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

The minimum number of inference units used by the model. For more information, see StartProjectVersion.

+

The minimum number of inference units used by the model. Applies only to Custom Labels projects. For more information, see StartProjectVersion.

*/ @property (nonatomic, strong) NSNumber * _Nullable minInferenceUnits; @@ -5062,7 +5164,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @property (nonatomic, strong) AWSRekognitionOutputConfig * _Nullable outputConfig; /** -

The Amazon Resource Name (ARN) of the model version.

+

The Amazon Resource Name (ARN) of the project version.

*/ @property (nonatomic, strong) NSString * _Nullable projectVersionArn; @@ -5096,6 +5198,11 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { */ @property (nonatomic, strong) NSDate * _Nullable trainingEndTimestamp; +/** +

A user-provided description of the project version.

+ */ +@property (nonatomic, strong) NSString * _Nullable versionDescription; + @end /** @@ -6015,7 +6122,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @property (nonatomic, strong) NSNumber * _Nullable maxInferenceUnits; /** -

The minimum number of inference units to use. A single inference unit represents 1 hour of processing.

For information about the number of transactions per second (TPS) that an inference unit can support, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

+

The minimum number of inference units to use. A single inference unit represents 1 hour of processing.

Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

*/ @property (nonatomic, strong) NSNumber * _Nullable minInferenceUnits; @@ -6246,7 +6353,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { /** -

The Amazon Resource Name (ARN) of the model version that you want to delete.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

+

The Amazon Resource Name (ARN) of the model version that you want to stop.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

*/ @property (nonatomic, strong) NSString * _Nullable projectVersionArn; @@ -6496,7 +6603,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @end /** -

The dataset used for testing. Optionally, if AutoCreate is set, Amazon Rekognition Custom Labels uses the training dataset to create a test dataset with a temporary split of the training dataset.

+

The dataset used for testing. Optionally, if AutoCreate is set, Amazon Rekognition uses the training dataset to create a test dataset with a temporary split of the training dataset.

*/ @interface AWSRekognitionTestingData : AWSModel @@ -6507,7 +6614,7 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { @property (nonatomic, strong) NSArray * _Nullable assets; /** -

If specified, Amazon Rekognition Custom Labels temporarily splits the training dataset (80%) to create a test dataset (20%) for the training job. After training completes, the test dataset is not stored and the training dataset reverts to its previous size.

+

If specified, Rekognition splits training dataset to create a test dataset for the training job.

*/ @property (nonatomic, strong) NSNumber * _Nullable autoCreate; @@ -6599,30 +6706,30 @@ typedef NS_ENUM(NSInteger, AWSRekognitionVideoJobStatus) { /** -

A Sagemaker GroundTruth manifest file that contains the training images (assets).

+

A manifest file that contains references to the training images and ground-truth annotations.

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

Sagemaker Groundtruth format manifest files for the input, output and validation datasets that are used and created during testing.

+

The data validation manifest created for the training dataset during model training.

*/ @interface AWSRekognitionTrainingDataResult : AWSModel /** -

The training assets that you supplied for training.

+

The training data that you supplied.

*/ @property (nonatomic, strong) AWSRekognitionTrainingData * _Nullable input; /** -

The images (assets) that were actually trained by Amazon Rekognition Custom Labels.

+

Reference to images (assets) that were actually used during training with trained model predictions.

*/ @property (nonatomic, strong) AWSRekognitionTrainingData * _Nullable output; /** -

The location of the data validation manifest. The data validation manifest is created for the training dataset during model training.

+

A manifest that you supplied for training, with validation results for each line.

*/ @property (nonatomic, strong) AWSRekognitionValidationData * _Nullable validation; diff --git a/AWSRekognition/AWSRekognitionModel.m b/AWSRekognition/AWSRekognitionModel.m index 65a6dcc3e02..1087472be2d 100644 --- a/AWSRekognition/AWSRekognitionModel.m +++ b/AWSRekognition/AWSRekognitionModel.m @@ -791,10 +791,54 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"autoUpdate" : @"AutoUpdate", + @"feature" : @"Feature", @"projectName" : @"ProjectName", }; } ++ (NSValueTransformer *)autoUpdateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ENABLED"] == NSOrderedSame) { + return @(AWSRekognitionProjectAutoUpdateEnabled); + } + if ([value caseInsensitiveCompare:@"DISABLED"] == NSOrderedSame) { + return @(AWSRekognitionProjectAutoUpdateDisabled); + } + return @(AWSRekognitionProjectAutoUpdateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSRekognitionProjectAutoUpdateEnabled: + return @"ENABLED"; + case AWSRekognitionProjectAutoUpdateDisabled: + return @"DISABLED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)featureJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CONTENT_MODERATION"] == NSOrderedSame) { + return @(AWSRekognitionCustomizationFeatureContentModeration); + } + if ([value caseInsensitiveCompare:@"CUSTOM_LABELS"] == NSOrderedSame) { + return @(AWSRekognitionCustomizationFeatureCustomLabels); + } + return @(AWSRekognitionCustomizationFeatureUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSRekognitionCustomizationFeatureContentModeration: + return @"CONTENT_MODERATION"; + case AWSRekognitionCustomizationFeatureCustomLabels: + return @"CUSTOM_LABELS"; + default: + return nil; + } + }]; +} + @end @implementation AWSRekognitionCreateProjectResponse @@ -819,16 +863,22 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"featureConfig" : @"FeatureConfig", @"kmsKeyId" : @"KmsKeyId", @"outputConfig" : @"OutputConfig", @"projectArn" : @"ProjectArn", @"tags" : @"Tags", @"testingData" : @"TestingData", @"trainingData" : @"TrainingData", + @"versionDescription" : @"VersionDescription", @"versionName" : @"VersionName", }; } ++ (NSValueTransformer *)featureConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionCustomizationFeatureConfig class]]; +} + + (NSValueTransformer *)outputConfigJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionOutputConfig class]]; } @@ -962,6 +1012,38 @@ + (NSValueTransformer *)geometryJSONTransformer { @end +@implementation AWSRekognitionCustomizationFeatureConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"contentModeration" : @"ContentModeration", + }; +} + ++ (NSValueTransformer *)contentModerationJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionCustomizationFeatureContentModerationConfig class]]; +} + +@end + +@implementation AWSRekognitionCustomizationFeatureContentModerationConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"confidenceThreshold" : @"ConfidenceThreshold", + }; +} + +@end + @implementation AWSRekognitionDatasetChanges + (BOOL)supportsSecureCoding { @@ -1503,6 +1585,12 @@ + (NSValueTransformer *)statusJSONTransformer { if ([value caseInsensitiveCompare:@"COPYING_FAILED"] == NSOrderedSame) { return @(AWSRekognitionProjectVersionStatusCopyingFailed); } + if ([value caseInsensitiveCompare:@"DEPRECATED"] == NSOrderedSame) { + return @(AWSRekognitionProjectVersionStatusDeprecated); + } + if ([value caseInsensitiveCompare:@"EXPIRED"] == NSOrderedSame) { + return @(AWSRekognitionProjectVersionStatusExpired); + } return @(AWSRekognitionProjectVersionStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -1530,6 +1618,10 @@ + (NSValueTransformer *)statusJSONTransformer { return @"COPYING_COMPLETED"; case AWSRekognitionProjectVersionStatusCopyingFailed: return @"COPYING_FAILED"; + case AWSRekognitionProjectVersionStatusDeprecated: + return @"DEPRECATED"; + case AWSRekognitionProjectVersionStatusExpired: + return @"EXPIRED"; default: return nil; } @@ -1700,6 +1792,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"features" : @"Features", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"projectNames" : @"ProjectNames", @@ -2182,6 +2275,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"humanLoopConfig" : @"HumanLoopConfig", @"image" : @"Image", @"minConfidence" : @"MinConfidence", + @"projectVersion" : @"ProjectVersion", }; } @@ -2206,6 +2300,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"humanLoopActivationOutput" : @"HumanLoopActivationOutput", @"moderationLabels" : @"ModerationLabels", @"moderationModelVersion" : @"ModerationModelVersion", + @"projectVersion" : @"ProjectVersion", }; } @@ -5103,13 +5198,36 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"autoUpdate" : @"AutoUpdate", @"creationTimestamp" : @"CreationTimestamp", @"datasets" : @"Datasets", + @"feature" : @"Feature", @"projectArn" : @"ProjectArn", @"status" : @"Status", }; } ++ (NSValueTransformer *)autoUpdateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ENABLED"] == NSOrderedSame) { + return @(AWSRekognitionProjectAutoUpdateEnabled); + } + if ([value caseInsensitiveCompare:@"DISABLED"] == NSOrderedSame) { + return @(AWSRekognitionProjectAutoUpdateDisabled); + } + return @(AWSRekognitionProjectAutoUpdateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSRekognitionProjectAutoUpdateEnabled: + return @"ENABLED"; + case AWSRekognitionProjectAutoUpdateDisabled: + return @"DISABLED"; + default: + return nil; + } + }]; +} + + (NSValueTransformer *)creationTimestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; @@ -5122,6 +5240,27 @@ + (NSValueTransformer *)datasetsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSRekognitionDatasetMetadata class]]; } ++ (NSValueTransformer *)featureJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CONTENT_MODERATION"] == NSOrderedSame) { + return @(AWSRekognitionCustomizationFeatureContentModeration); + } + if ([value caseInsensitiveCompare:@"CUSTOM_LABELS"] == NSOrderedSame) { + return @(AWSRekognitionCustomizationFeatureCustomLabels); + } + return @(AWSRekognitionCustomizationFeatureUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSRekognitionCustomizationFeatureContentModeration: + return @"CONTENT_MODERATION"; + case AWSRekognitionCustomizationFeatureCustomLabels: + return @"CUSTOM_LABELS"; + default: + return nil; + } + }]; +} + + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"CREATING"] == NSOrderedSame) { @@ -5193,9 +5332,12 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"baseModelVersion" : @"BaseModelVersion", @"billableTrainingTimeInSeconds" : @"BillableTrainingTimeInSeconds", @"creationTimestamp" : @"CreationTimestamp", @"evaluationResult" : @"EvaluationResult", + @"feature" : @"Feature", + @"featureConfig" : @"FeatureConfig", @"kmsKeyId" : @"KmsKeyId", @"manifestSummary" : @"ManifestSummary", @"maxInferenceUnits" : @"MaxInferenceUnits", @@ -5208,6 +5350,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"testingDataResult" : @"TestingDataResult", @"trainingDataResult" : @"TrainingDataResult", @"trainingEndTimestamp" : @"TrainingEndTimestamp", + @"versionDescription" : @"VersionDescription", }; } @@ -5223,6 +5366,31 @@ + (NSValueTransformer *)evaluationResultJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionEvaluationResult class]]; } ++ (NSValueTransformer *)featureJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CONTENT_MODERATION"] == NSOrderedSame) { + return @(AWSRekognitionCustomizationFeatureContentModeration); + } + if ([value caseInsensitiveCompare:@"CUSTOM_LABELS"] == NSOrderedSame) { + return @(AWSRekognitionCustomizationFeatureCustomLabels); + } + return @(AWSRekognitionCustomizationFeatureUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSRekognitionCustomizationFeatureContentModeration: + return @"CONTENT_MODERATION"; + case AWSRekognitionCustomizationFeatureCustomLabels: + return @"CUSTOM_LABELS"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)featureConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionCustomizationFeatureConfig class]]; +} + + (NSValueTransformer *)manifestSummaryJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSRekognitionGroundTruthManifest class]]; } @@ -5269,6 +5437,12 @@ + (NSValueTransformer *)statusJSONTransformer { if ([value caseInsensitiveCompare:@"COPYING_FAILED"] == NSOrderedSame) { return @(AWSRekognitionProjectVersionStatusCopyingFailed); } + if ([value caseInsensitiveCompare:@"DEPRECATED"] == NSOrderedSame) { + return @(AWSRekognitionProjectVersionStatusDeprecated); + } + if ([value caseInsensitiveCompare:@"EXPIRED"] == NSOrderedSame) { + return @(AWSRekognitionProjectVersionStatusExpired); + } return @(AWSRekognitionProjectVersionStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -5296,6 +5470,10 @@ + (NSValueTransformer *)statusJSONTransformer { return @"COPYING_COMPLETED"; case AWSRekognitionProjectVersionStatusCopyingFailed: return @"COPYING_FAILED"; + case AWSRekognitionProjectVersionStatusDeprecated: + return @"DEPRECATED"; + case AWSRekognitionProjectVersionStatusExpired: + return @"EXPIRED"; default: return nil; } @@ -6337,6 +6515,12 @@ + (NSValueTransformer *)statusJSONTransformer { if ([value caseInsensitiveCompare:@"COPYING_FAILED"] == NSOrderedSame) { return @(AWSRekognitionProjectVersionStatusCopyingFailed); } + if ([value caseInsensitiveCompare:@"DEPRECATED"] == NSOrderedSame) { + return @(AWSRekognitionProjectVersionStatusDeprecated); + } + if ([value caseInsensitiveCompare:@"EXPIRED"] == NSOrderedSame) { + return @(AWSRekognitionProjectVersionStatusExpired); + } return @(AWSRekognitionProjectVersionStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -6364,6 +6548,10 @@ + (NSValueTransformer *)statusJSONTransformer { return @"COPYING_COMPLETED"; case AWSRekognitionProjectVersionStatusCopyingFailed: return @"COPYING_FAILED"; + case AWSRekognitionProjectVersionStatusDeprecated: + return @"DEPRECATED"; + case AWSRekognitionProjectVersionStatusExpired: + return @"EXPIRED"; default: return nil; } @@ -6642,6 +6830,12 @@ + (NSValueTransformer *)statusJSONTransformer { if ([value caseInsensitiveCompare:@"COPYING_FAILED"] == NSOrderedSame) { return @(AWSRekognitionProjectVersionStatusCopyingFailed); } + if ([value caseInsensitiveCompare:@"DEPRECATED"] == NSOrderedSame) { + return @(AWSRekognitionProjectVersionStatusDeprecated); + } + if ([value caseInsensitiveCompare:@"EXPIRED"] == NSOrderedSame) { + return @(AWSRekognitionProjectVersionStatusExpired); + } return @(AWSRekognitionProjectVersionStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -6669,6 +6863,10 @@ + (NSValueTransformer *)statusJSONTransformer { return @"COPYING_COMPLETED"; case AWSRekognitionProjectVersionStatusCopyingFailed: return @"COPYING_FAILED"; + case AWSRekognitionProjectVersionStatusDeprecated: + return @"DEPRECATED"; + case AWSRekognitionProjectVersionStatusExpired: + return @"EXPIRED"; default: return nil; } diff --git a/AWSRekognition/AWSRekognitionResources.m b/AWSRekognition/AWSRekognitionResources.m index da3c54845b7..4a0b2101401 100644 --- a/AWSRekognition/AWSRekognitionResources.m +++ b/AWSRekognition/AWSRekognitionResources.m @@ -130,7 +130,7 @@ - (NSString *)definitionString { {\"shape\":\"ProvisionedThroughputExceededException\"},\ {\"shape\":\"ResourceInUseException\"}\ ],\ - \"documentation\":\"

Copies a version of an Amazon Rekognition Custom Labels model from a source project to a destination project. The source and destination projects can be in different AWS accounts but must be in the same AWS Region. You can't copy a model to another AWS service.

To copy a model version to a different AWS account, you need to create a resource-based policy known as a project policy. You attach the project policy to the source project by calling PutProjectPolicy. The project policy gives permission to copy the model version from a trusting AWS account to a trusted account.

For more information creating and attaching a project policy, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

If you are copying a model version to a project in the same AWS account, you don't need to create a project policy.

To copy a model, the destination project, source project, and source model version must already exist.

Copying a model version takes a while to complete. To get the current status, call DescribeProjectVersions and check the value of Status in the ProjectVersionDescription object. The copy operation has finished when the value of Status is COPYING_COMPLETED.

This operation requires permissions to perform the rekognition:CopyProjectVersion action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Copies a version of an Amazon Rekognition Custom Labels model from a source project to a destination project. The source and destination projects can be in different AWS accounts but must be in the same AWS Region. You can't copy a model to another AWS service.

To copy a model version to a different AWS account, you need to create a resource-based policy known as a project policy. You attach the project policy to the source project by calling PutProjectPolicy. The project policy gives permission to copy the model version from a trusting AWS account to a trusted account.

For more information creating and attaching a project policy, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

If you are copying a model version to a project in the same AWS account, you don't need to create a project policy.

Copying project versions is supported only for Custom Labels models.

To copy a model, the destination project, source project, and source model version must already exist.

Copying a model version takes a while to complete. To get the current status, call DescribeProjectVersions and check the value of Status in the ProjectVersionDescription object. The copy operation has finished when the value of Status is COPYING_COMPLETED.

This operation requires permissions to perform the rekognition:CopyProjectVersion action.

\"\ },\ \"CreateCollection\":{\ \"name\":\"CreateCollection\",\ @@ -170,7 +170,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceAlreadyExistsException\"},\ {\"shape\":\"ResourceNotFoundException\"}\ ],\ - \"documentation\":\"

Creates a new Amazon Rekognition Custom Labels dataset. You can create a dataset by using an Amazon Sagemaker format manifest file or by copying an existing Amazon Rekognition Custom Labels dataset.

To create a training dataset for a project, specify TRAIN for the value of DatasetType. To create the test dataset for a project, specify TEST for the value of DatasetType.

The response from CreateDataset is the Amazon Resource Name (ARN) for the dataset. Creating a dataset takes a while to complete. Use DescribeDataset to check the current status. The dataset created successfully if the value of Status is CREATE_COMPLETE.

To check if any non-terminal errors occurred, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset creation fails if a terminal error occurs (Status = CREATE_FAILED). Currently, you can't access the terminal error information.

For more information, see Creating dataset in the Amazon Rekognition Custom Labels Developer Guide.

This operation requires permissions to perform the rekognition:CreateDataset action. If you want to copy an existing dataset, you also require permission to perform the rekognition:ListDatasetEntries action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Creates a new Amazon Rekognition Custom Labels dataset. You can create a dataset by using an Amazon Sagemaker format manifest file or by copying an existing Amazon Rekognition Custom Labels dataset.

To create a training dataset for a project, specify TRAIN for the value of DatasetType. To create the test dataset for a project, specify TEST for the value of DatasetType.

The response from CreateDataset is the Amazon Resource Name (ARN) for the dataset. Creating a dataset takes a while to complete. Use DescribeDataset to check the current status. The dataset created successfully if the value of Status is CREATE_COMPLETE.

To check if any non-terminal errors occurred, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset creation fails if a terminal error occurs (Status = CREATE_FAILED). Currently, you can't access the terminal error information.

For more information, see Creating dataset in the Amazon Rekognition Custom Labels Developer Guide.

This operation requires permissions to perform the rekognition:CreateDataset action. If you want to copy an existing dataset, you also require permission to perform the rekognition:ListDatasetEntries action.

\"\ },\ \"CreateFaceLivenessSession\":{\ \"name\":\"CreateFaceLivenessSession\",\ @@ -207,7 +207,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ProvisionedThroughputExceededException\"}\ ],\ - \"documentation\":\"

Creates a new Amazon Rekognition Custom Labels project. A project is a group of resources (datasets, model versions) that you use to create and manage Amazon Rekognition Custom Labels models.

This operation requires permissions to perform the rekognition:CreateProject action.

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

Creates a new Amazon Rekognition project. A project is a group of resources (datasets, model versions) that you use to create and manage a Amazon Rekognition Custom Labels Model or custom adapter. You can specify a feature to create the project with, if no feature is specified then Custom Labels is used by default. For adapters, you can also choose whether or not to have the project auto update by using the AutoUpdate argument. This operation requires permissions to perform the rekognition:CreateProject action.

\"\ },\ \"CreateProjectVersion\":{\ \"name\":\"CreateProjectVersion\",\ @@ -228,7 +228,7 @@ - (NSString *)definitionString { {\"shape\":\"ProvisionedThroughputExceededException\"},\ {\"shape\":\"ServiceQuotaExceededException\"}\ ],\ - \"documentation\":\"

Creates a new version of a model and begins training. Models are managed as part of an Amazon Rekognition Custom Labels project. The response from CreateProjectVersion is an Amazon Resource Name (ARN) for the version of the model.

Training uses the training and test datasets associated with the project. For more information, see Creating training and test dataset in the Amazon Rekognition Custom Labels Developer Guide.

You can train a model in a project that doesn't have associated datasets by specifying manifest files in the TrainingData and TestingData fields.

If you open the console after training a model with manifest files, Amazon Rekognition Custom Labels creates the datasets for you using the most recent manifest files. You can no longer train a model version for the project by specifying manifest files.

Instead of training with a project without associated datasets, we recommend that you use the manifest files to create training and test datasets for the project.

Training takes a while to complete. You can get the current status by calling DescribeProjectVersions. Training completed successfully if the value of the Status field is TRAINING_COMPLETED.

If training fails, see Debugging a failed model training in the Amazon Rekognition Custom Labels developer guide.

Once training has successfully completed, call DescribeProjectVersions to get the training results and evaluate the model. For more information, see Improving a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels developers guide.

After evaluating the model, you start the model by calling StartProjectVersion.

This operation requires permissions to perform the rekognition:CreateProjectVersion action.

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

Creates a new version of Amazon Rekognition project (like a Custom Labels model or a custom adapter) and begins training. Models and adapters are managed as part of a Rekognition project. The response from CreateProjectVersion is an Amazon Resource Name (ARN) for the project version.

The FeatureConfig operation argument allows you to configure specific model or adapter settings. You can provide a description to the project version by using the VersionDescription argment. Training can take a while to complete. You can get the current status by calling DescribeProjectVersions. Training completed successfully if the value of the Status field is TRAINING_COMPLETED. Once training has successfully completed, call DescribeProjectVersions to get the training results and evaluate the model.

This operation requires permissions to perform the rekognition:CreateProjectVersion action.

The following applies only to projects with Amazon Rekognition Custom Labels as the chosen feature:

You can train a model in a project that doesn't have associated datasets by specifying manifest files in the TrainingData and TestingData fields.

If you open the console after training a model with manifest files, Amazon Rekognition Custom Labels creates the datasets for you using the most recent manifest files. You can no longer train a model version for the project by specifying manifest files.

Instead of training with a project without associated datasets, we recommend that you use the manifest files to create training and test datasets for the project.

\"\ },\ \"CreateStreamProcessor\":{\ \"name\":\"CreateStreamProcessor\",\ @@ -307,7 +307,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceInUseException\"},\ {\"shape\":\"ResourceNotFoundException\"}\ ],\ - \"documentation\":\"

Deletes an existing Amazon Rekognition Custom Labels dataset. Deleting a dataset might take while. Use DescribeDataset to check the current status. The dataset is still deleting if the value of Status is DELETE_IN_PROGRESS. If you try to access the dataset after it is deleted, you get a ResourceNotFoundException exception.

You can't delete a dataset while it is creating (Status = CREATE_IN_PROGRESS) or if the dataset is updating (Status = UPDATE_IN_PROGRESS).

This operation requires permissions to perform the rekognition:DeleteDataset action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Deletes an existing Amazon Rekognition Custom Labels dataset. Deleting a dataset might take while. Use DescribeDataset to check the current status. The dataset is still deleting if the value of Status is DELETE_IN_PROGRESS. If you try to access the dataset after it is deleted, you get a ResourceNotFoundException exception.

You can't delete a dataset while it is creating (Status = CREATE_IN_PROGRESS) or if the dataset is updating (Status = UPDATE_IN_PROGRESS).

This operation requires permissions to perform the rekognition:DeleteDataset action.

\"\ },\ \"DeleteFaces\":{\ \"name\":\"DeleteFaces\",\ @@ -344,7 +344,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ProvisionedThroughputExceededException\"}\ ],\ - \"documentation\":\"

Deletes an Amazon Rekognition Custom Labels project. To delete a project you must first delete all models associated with the project. To delete a model, see DeleteProjectVersion.

DeleteProject is an asynchronous operation. To check if the project is deleted, call DescribeProjects. The project is deleted when the project no longer appears in the response. Be aware that deleting a given project will also delete any ProjectPolicies associated with that project.

This operation requires permissions to perform the rekognition:DeleteProject action.

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

Deletes a Amazon Rekognition project. To delete a project you must first delete all models or adapters associated with the project. To delete a model or adapter, see DeleteProjectVersion.

DeleteProject is an asynchronous operation. To check if the project is deleted, call DescribeProjects. The project is deleted when the project no longer appears in the response. Be aware that deleting a given project will also delete any ProjectPolicies associated with that project.

This operation requires permissions to perform the rekognition:DeleteProject action.

\"\ },\ \"DeleteProjectPolicy\":{\ \"name\":\"DeleteProjectPolicy\",\ @@ -363,7 +363,7 @@ - (NSString *)definitionString { {\"shape\":\"ProvisionedThroughputExceededException\"},\ {\"shape\":\"InvalidPolicyRevisionIdException\"}\ ],\ - \"documentation\":\"

Deletes an existing project policy.

To get a list of project policies attached to a project, call ListProjectPolicies. To attach a project policy to a project, call PutProjectPolicy.

This operation requires permissions to perform the rekognition:DeleteProjectPolicy action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Deletes an existing project policy.

To get a list of project policies attached to a project, call ListProjectPolicies. To attach a project policy to a project, call PutProjectPolicy.

This operation requires permissions to perform the rekognition:DeleteProjectPolicy action.

\"\ },\ \"DeleteProjectVersion\":{\ \"name\":\"DeleteProjectVersion\",\ @@ -382,7 +382,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ProvisionedThroughputExceededException\"}\ ],\ - \"documentation\":\"

Deletes an Amazon Rekognition Custom Labels model.

You can't delete a model if it is running or if it is training. To check the status of a model, use the Status field returned from DescribeProjectVersions. To stop a running model call StopProjectVersion. If the model is training, wait until it finishes.

This operation requires permissions to perform the rekognition:DeleteProjectVersion action.

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

Deletes a Rekognition project model or project version, like a Amazon Rekognition Custom Labels model or a custom adapter.

You can't delete a project version if it is running or if it is training. To check the status of a project version, use the Status field returned from DescribeProjectVersions. To stop a project version call StopProjectVersion. If the project version is training, wait until it finishes.

This operation requires permissions to perform the rekognition:DeleteProjectVersion action.

\"\ },\ \"DeleteStreamProcessor\":{\ \"name\":\"DeleteStreamProcessor\",\ @@ -457,7 +457,7 @@ - (NSString *)definitionString { {\"shape\":\"AccessDeniedException\"},\ {\"shape\":\"ResourceNotFoundException\"}\ ],\ - \"documentation\":\"

Describes an Amazon Rekognition Custom Labels dataset. You can get information such as the current status of a dataset and statistics about the images and labels in a dataset.

This operation requires permissions to perform the rekognition:DescribeDataset action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Describes an Amazon Rekognition Custom Labels dataset. You can get information such as the current status of a dataset and statistics about the images and labels in a dataset.

This operation requires permissions to perform the rekognition:DescribeDataset action.

\"\ },\ \"DescribeProjectVersions\":{\ \"name\":\"DescribeProjectVersions\",\ @@ -476,7 +476,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ProvisionedThroughputExceededException\"}\ ],\ - \"documentation\":\"

Lists and describes the versions of a model in an Amazon Rekognition Custom Labels project. You can specify up to 10 model versions in ProjectVersionArns. If you don't specify a value, descriptions for all model versions in the project are returned.

This operation requires permissions to perform the rekognition:DescribeProjectVersions action.

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

Lists and describes the versions of an Amazon Rekognition project. You can specify up to 10 model or adapter versions in ProjectVersionArns. If you don't specify a value, descriptions for all model/adapter versions in the project are returned.

This operation requires permissions to perform the rekognition:DescribeProjectVersions action.

\"\ },\ \"DescribeProjects\":{\ \"name\":\"DescribeProjects\",\ @@ -494,7 +494,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ProvisionedThroughputExceededException\"}\ ],\ - \"documentation\":\"

Gets information about your Amazon Rekognition Custom Labels projects.

This operation requires permissions to perform the rekognition:DescribeProjects action.

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

Gets information about your Rekognition projects.

This operation requires permissions to perform the rekognition:DescribeProjects action.

\"\ },\ \"DescribeStreamProcessor\":{\ \"name\":\"DescribeStreamProcessor\",\ @@ -535,7 +535,7 @@ - (NSString *)definitionString { {\"shape\":\"ProvisionedThroughputExceededException\"},\ {\"shape\":\"InvalidImageFormatException\"}\ ],\ - \"documentation\":\"

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).

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\",\ @@ -594,9 +594,11 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ProvisionedThroughputExceededException\"},\ {\"shape\":\"InvalidImageFormatException\"},\ - {\"shape\":\"HumanLoopQuotaExceededException\"}\ + {\"shape\":\"HumanLoopQuotaExceededException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ResourceNotReadyException\"}\ ],\ - \"documentation\":\"

Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate.

For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

You pass the input image either 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.

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

Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate.

For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

You pass the input image either 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.

You can specify an adapter to use when retrieving label predictions by providing a ProjectVersionArn to the ProjectVersion argument.

\"\ },\ \"DetectProtectiveEquipment\":{\ \"name\":\"DetectProtectiveEquipment\",\ @@ -675,7 +677,7 @@ - (NSString *)definitionString { {\"shape\":\"ProvisionedThroughputExceededException\"},\ {\"shape\":\"ResourceNotReadyException\"}\ ],\ - \"documentation\":\"

Distributes the entries (images) in a training dataset across the training dataset and the test dataset for a project. DistributeDatasetEntries moves 20% of the training dataset images to the test dataset. An entry is a JSON Line that describes an image.

You supply the Amazon Resource Names (ARN) of a project's training dataset and test dataset. The training dataset must contain the images that you want to split. The test dataset must be empty. The datasets must belong to the same project. To create training and test datasets for a project, call CreateDataset.

Distributing a dataset takes a while to complete. To check the status call DescribeDataset. The operation is complete when the Status field for the training dataset and the test dataset is UPDATE_COMPLETE. If the dataset split fails, the value of Status is UPDATE_FAILED.

This operation requires permissions to perform the rekognition:DistributeDatasetEntries action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Distributes the entries (images) in a training dataset across the training dataset and the test dataset for a project. DistributeDatasetEntries moves 20% of the training dataset images to the test dataset. An entry is a JSON Line that describes an image.

You supply the Amazon Resource Names (ARN) of a project's training dataset and test dataset. The training dataset must contain the images that you want to split. The test dataset must be empty. The datasets must belong to the same project. To create training and test datasets for a project, call CreateDataset.

Distributing a dataset takes a while to complete. To check the status call DescribeDataset. The operation is complete when the Status field for the training dataset and the test dataset is UPDATE_COMPLETE. If the dataset split fails, the value of Status is UPDATE_FAILED.

This operation requires permissions to perform the rekognition:DistributeDatasetEntries action.

\"\ },\ \"GetCelebrityInfo\":{\ \"name\":\"GetCelebrityInfo\",\ @@ -925,7 +927,7 @@ - (NSString *)definitionString { {\"shape\":\"InvalidPaginationTokenException\"},\ {\"shape\":\"ResourceNotReadyException\"}\ ],\ - \"documentation\":\"

Lists the entries (images) within a dataset. An entry is a JSON Line that contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Creating a manifest file.

JSON Lines in the response include information about non-terminal errors found in the dataset. Non terminal errors are reported in errors lists within each JSON Line. The same information is reported in the training and testing validation result manifests that Amazon Rekognition Custom Labels creates during model training.

You can filter the response in variety of ways, such as choosing which labels to return and returning JSON Lines created after a specific date.

This operation requires permissions to perform the rekognition:ListDatasetEntries action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Lists the entries (images) within a dataset. An entry is a JSON Line that contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Creating a manifest file.

JSON Lines in the response include information about non-terminal errors found in the dataset. Non terminal errors are reported in errors lists within each JSON Line. The same information is reported in the training and testing validation result manifests that Amazon Rekognition Custom Labels creates during model training.

You can filter the response in variety of ways, such as choosing which labels to return and returning JSON Lines created after a specific date.

This operation requires permissions to perform the rekognition:ListDatasetEntries action.

\"\ },\ \"ListDatasetLabels\":{\ \"name\":\"ListDatasetLabels\",\ @@ -946,7 +948,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceNotFoundException\"},\ {\"shape\":\"ResourceNotReadyException\"}\ ],\ - \"documentation\":\"

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images.

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images in the Amazon Rekognition Custom Labels Developer Guide.

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

This operation applies only to Amazon Rekognition Custom Labels.

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images.

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images in the Amazon Rekognition Custom Labels Developer Guide.

\"\ },\ \"ListFaces\":{\ \"name\":\"ListFaces\",\ @@ -984,7 +986,7 @@ - (NSString *)definitionString { {\"shape\":\"ProvisionedThroughputExceededException\"},\ {\"shape\":\"InvalidPaginationTokenException\"}\ ],\ - \"documentation\":\"

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.

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

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.

\"\ },\ \"ListStreamProcessors\":{\ \"name\":\"ListStreamProcessors\",\ @@ -1062,7 +1064,7 @@ - (NSString *)definitionString { {\"shape\":\"ProvisionedThroughputExceededException\"},\ {\"shape\":\"LimitExceededException\"}\ ],\ - \"documentation\":\"

Attaches a project policy to a Amazon Rekognition Custom Labels project in a trusting AWS account. A project policy specifies that a trusted AWS account can copy a model version from a trusting AWS account to a project in the trusted AWS account. To copy a model version you use the CopyProjectVersion operation.

For more information about the format of a project policy document, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

The response from PutProjectPolicy is a revision ID for the project policy. You can attach multiple project policies to a project. You can also update an existing project policy by specifying the policy revision ID of the existing policy.

To remove a project policy from a project, call DeleteProjectPolicy. To get a list of project policies attached to a project, call ListProjectPolicies.

You copy a model version by calling CopyProjectVersion.

This operation requires permissions to perform the rekognition:PutProjectPolicy action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Attaches a project policy to a Amazon Rekognition Custom Labels project in a trusting AWS account. A project policy specifies that a trusted AWS account can copy a model version from a trusting AWS account to a project in the trusted AWS account. To copy a model version you use the CopyProjectVersion operation. Only applies to Custom Labels projects.

For more information about the format of a project policy document, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

The response from PutProjectPolicy is a revision ID for the project policy. You can attach multiple project policies to a project. You can also update an existing project policy by specifying the policy revision ID of the existing policy.

To remove a project policy from a project, call DeleteProjectPolicy. To get a list of project policies attached to a project, call ListProjectPolicies.

You copy a model version by calling CopyProjectVersion.

This operation requires permissions to perform the rekognition:PutProjectPolicy action.

\"\ },\ \"RecognizeCelebrities\":{\ \"name\":\"RecognizeCelebrities\",\ @@ -1314,7 +1316,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ProvisionedThroughputExceededException\"}\ ],\ - \"documentation\":\"

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion.

For more information, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

\"\ },\ \"StartSegmentDetection\":{\ \"name\":\"StartSegmentDetection\",\ @@ -1396,7 +1398,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"ProvisionedThroughputExceededException\"}\ ],\ - \"documentation\":\"

Stops a running model. The operation might take a while to complete. To check the current status, call DescribeProjectVersions.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Stops a running model. The operation might take a while to complete. To check the current status, call DescribeProjectVersions. Only applies to Custom Labels projects.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

\"\ },\ \"StopStreamProcessor\":{\ \"name\":\"StopStreamProcessor\",\ @@ -1472,7 +1474,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceInUseException\"},\ {\"shape\":\"ResourceNotFoundException\"}\ ],\ - \"documentation\":\"

Adds or updates one or more entries (images) in a dataset. An entry is a JSON Line which contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Image-Level labels in manifest files and Object localization in manifest files in the Amazon Rekognition Custom Labels Developer Guide.

If the source-ref field in the JSON line references an existing image, the existing image in the dataset is updated. If source-ref field doesn't reference an existing image, the image is added as a new image to the dataset.

You specify the changes that you want to make in the Changes input parameter. There isn't a limit to the number JSON Lines that you can change, but the size of Changes must be less than 5MB.

UpdateDatasetEntries returns immediatly, but the dataset update might take a while to complete. Use DescribeDataset to check the current status. The dataset updated successfully if the value of Status is UPDATE_COMPLETE.

To check if any non-terminal errors occured, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset update fails if a terminal error occurs (Status = UPDATE_FAILED). Currently, you can't access the terminal error information from the Amazon Rekognition Custom Labels SDK.

This operation requires permissions to perform the rekognition:UpdateDatasetEntries action.

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

This operation applies only to Amazon Rekognition Custom Labels.

Adds or updates one or more entries (images) in a dataset. An entry is a JSON Line which contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Image-Level labels in manifest files and Object localization in manifest files in the Amazon Rekognition Custom Labels Developer Guide.

If the source-ref field in the JSON line references an existing image, the existing image in the dataset is updated. If source-ref field doesn't reference an existing image, the image is added as a new image to the dataset.

You specify the changes that you want to make in the Changes input parameter. There isn't a limit to the number JSON Lines that you can change, but the size of Changes must be less than 5MB.

UpdateDatasetEntries returns immediatly, but the dataset update might take a while to complete. Use DescribeDataset to check the current status. The dataset updated successfully if the value of Status is UPDATE_COMPLETE.

To check if any non-terminal errors occured, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset update fails if a terminal error occurs (Status = UPDATE_FAILED). Currently, you can't access the terminal error information from the Amazon Rekognition Custom Labels SDK.

This operation requires permissions to perform the rekognition:UpdateDatasetEntries action.

\"\ },\ \"UpdateStreamProcessor\":{\ \"name\":\"UpdateStreamProcessor\",\ @@ -2236,6 +2238,14 @@ - (NSString *)definitionString { \"ProjectName\":{\ \"shape\":\"ProjectName\",\ \"documentation\":\"

The name of the project to create.

\"\ + },\ + \"Feature\":{\ + \"shape\":\"CustomizationFeature\",\ + \"documentation\":\"

Specifies feature that is being customized. If no value is provided CUSTOM_LABELS is used as a default.

\"\ + },\ + \"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.

\"\ }\ }\ },\ @@ -2258,31 +2268,39 @@ - (NSString *)definitionString { \"members\":{\ \"ProjectArn\":{\ \"shape\":\"ProjectArn\",\ - \"documentation\":\"

The ARN of the Amazon Rekognition Custom Labels project that manages the model that you want to train.

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

The ARN of the Amazon Rekognition project that will manage the project version you want to train.

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

A name for the version of the model. This value must be unique.

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

A name for the version of the project version. This value must be unique.

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

The Amazon S3 bucket location to store the results of training. The S3 bucket can be in any AWS account as long as the caller has s3:PutObject permissions on the S3 bucket.

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

The Amazon S3 bucket location to store the results of training. The bucket can be any S3 bucket in your AWS account. You need s3:PutObject permission on the bucket.

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

Specifies an external manifest that the services uses to train the model. If you specify TrainingData you must also specify TestingData. The project must not have any associated datasets.

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

Specifies an external manifest that the services uses to train the project version. If you specify TrainingData you must also specify TestingData. The project must not have any associated datasets.

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

Specifies an external manifest that the service uses to test the model. If you specify TestingData you must also specify TrainingData. The project must not have any associated datasets.

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

Specifies an external manifest that the service uses to test the project version. If you specify TestingData you must also specify TrainingData. The project must not have any associated datasets.

\"\ },\ \"Tags\":{\ \"shape\":\"TagMap\",\ - \"documentation\":\"

A set of tags (key-value pairs) that you want to attach to the model.

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

A set of tags (key-value pairs) that you want to attach to the project version.

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

The identifier for your AWS Key Management Service key (AWS KMS key). You can supply the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, an alias for your KMS key, or an alias ARN. The key is used to encrypt training and test images copied into the service for model training. Your source images are unaffected. The key is also used to encrypt training results and manifest files written to the output Amazon S3 bucket (OutputConfig).

If you choose to use your own KMS key, you need the following permissions on the KMS key.

  • kms:CreateGrant

  • kms:DescribeKey

  • kms:GenerateDataKey

  • kms:Decrypt

If you don't specify a value for KmsKeyId, images copied into the service are encrypted using a key that AWS owns and manages.

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

The identifier for your AWS Key Management Service key (AWS KMS key). You can supply the Amazon Resource Name (ARN) of your KMS key, the ID of your KMS key, an alias for your KMS key, or an alias ARN. The key is used to encrypt training images, test images, and manifest files copied into the service for the project version. Your source images are unaffected. The key is also used to encrypt training results and manifest files written to the output Amazon S3 bucket (OutputConfig).

If you choose to use your own KMS key, you need the following permissions on the KMS key.

  • kms:CreateGrant

  • kms:DescribeKey

  • kms:GenerateDataKey

  • kms:Decrypt

If you don't specify a value for KmsKeyId, images copied into the service are encrypted using a key that AWS owns and manages.

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

A description applied to the project version being created.

\"\ + },\ + \"FeatureConfig\":{\ + \"shape\":\"CustomizationFeatureConfig\",\ + \"documentation\":\"

Feature-specific configuration of the training job. If the job configuration does not match the feature type associated with the project, an InvalidParameterException is returned.

\"\ }\ }\ },\ @@ -2291,7 +2309,7 @@ - (NSString *)definitionString { \"members\":{\ \"ProjectVersionArn\":{\ \"shape\":\"ProjectVersionArn\",\ - \"documentation\":\"

The ARN of the model version that was created. Use DescribeProjectVersion to get the current status of the training operation.

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

The ARN of the model or the project version that was created. Use DescribeProjectVersion to get the current status of the training operation.

\"\ }\ }\ },\ @@ -2402,6 +2420,39 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"CustomLabel\"}\ },\ + \"CustomizationFeature\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"CONTENT_MODERATION\",\ + \"CUSTOM_LABELS\"\ + ]\ + },\ + \"CustomizationFeatureConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ContentModeration\":{\ + \"shape\":\"CustomizationFeatureContentModerationConfig\",\ + \"documentation\":\"

Configuration options for Custom Moderation training.

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

Feature specific configuration for the training job. Configuration provided for the job must match the feature type parameter associated with project. If configuration and feature type do not match an InvalidParameterException is returned.

\"\ + },\ + \"CustomizationFeatureContentModerationConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ConfidenceThreshold\":{\ + \"shape\":\"Percent\",\ + \"documentation\":\"

The confidence level you plan to use to identify if unsafe content is present during inference.

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

Configuration options for Content Moderation training.

\"\ + },\ + \"CustomizationFeatures\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"CustomizationFeature\"},\ + \"max\":2,\ + \"min\":1\ + },\ \"DatasetArn\":{\ \"type\":\"string\",\ \"max\":2048,\ @@ -2718,7 +2769,7 @@ - (NSString *)definitionString { \"members\":{\ \"ProjectVersionArn\":{\ \"shape\":\"ProjectVersionArn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the model version that you want to delete.

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

The Amazon Resource Name (ARN) of the project version that you want to delete.

\"\ }\ }\ },\ @@ -2833,15 +2884,15 @@ - (NSString *)definitionString { \"members\":{\ \"ProjectArn\":{\ \"shape\":\"ProjectArn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the project that contains the models you want to describe.

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

The Amazon Resource Name (ARN) of the project that contains the model/adapter you want to describe.

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

A list of model version names that you want to describe. You can add up to 10 model version names to the list. If you don't specify a value, all model descriptions are returned. A version name is part of a model (ProjectVersion) ARN. For example, my-model.2020-01-21T09.10.15 is the version name in the following ARN. arn:aws:rekognition:us-east-1:123456789012:project/getting-started/version/my-model.2020-01-21T09.10.15/1234567890123.

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

A list of model or project version names that you want to describe. You can add up to 10 model or project version names to the list. If you don't specify a value, all project version descriptions are returned. A version name is part of a project version ARN. For example, my-model.2020-01-21T09.10.15 is the version name in the following ARN. arn:aws:rekognition:us-east-1:123456789012:project/getting-started/version/my-model.2020-01-21T09.10.15/1234567890123.

\"\ },\ \"NextToken\":{\ \"shape\":\"ExtendedPaginationToken\",\ - \"documentation\":\"

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

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

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

\"\ },\ \"MaxResults\":{\ \"shape\":\"ProjectVersionsPageSize\",\ @@ -2854,11 +2905,11 @@ - (NSString *)definitionString { \"members\":{\ \"ProjectVersionDescriptions\":{\ \"shape\":\"ProjectVersionDescriptions\",\ - \"documentation\":\"

A list of model descriptions. The list is sorted by the creation date and time of the model versions, latest to earliest.

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

A list of project version descriptions. The list is sorted by the creation date and time of the project versions, latest to earliest.

\"\ },\ \"NextToken\":{\ \"shape\":\"ExtendedPaginationToken\",\ - \"documentation\":\"

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

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

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

\"\ }\ }\ },\ @@ -2867,7 +2918,7 @@ - (NSString *)definitionString { \"members\":{\ \"NextToken\":{\ \"shape\":\"ExtendedPaginationToken\",\ - \"documentation\":\"

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

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

If the previous response was incomplete (because there is more results to retrieve), Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

\"\ },\ \"MaxResults\":{\ \"shape\":\"ProjectsPageSize\",\ @@ -2875,7 +2926,11 @@ - (NSString *)definitionString { },\ \"ProjectNames\":{\ \"shape\":\"ProjectNames\",\ - \"documentation\":\"

A list of the projects that you want Amazon Rekognition Custom Labels to describe. If you don't specify a value, the response includes descriptions for all the projects in your AWS account.

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

A list of the projects that you want Rekognition to describe. If you don't specify a value, the response includes descriptions for all the projects in your AWS account.

\"\ + },\ + \"Features\":{\ + \"shape\":\"CustomizationFeatures\",\ + \"documentation\":\"

Specifies the type of customization to filter projects by. If no value is specified, CUSTOM_LABELS is used as a default.

\"\ }\ }\ },\ @@ -2888,7 +2943,7 @@ - (NSString *)definitionString { },\ \"NextToken\":{\ \"shape\":\"ExtendedPaginationToken\",\ - \"documentation\":\"

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

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

If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

\"\ }\ }\ },\ @@ -2969,7 +3024,7 @@ - (NSString *)definitionString { \"members\":{\ \"ProjectVersionArn\":{\ \"shape\":\"ProjectVersionArn\",\ - \"documentation\":\"

The ARN of the model version that you want to use.

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

The ARN of the model version that you want to use. Only models associated with Custom Labels projects accepted by the operation. If a provided ARN refers to a model version associated with a project for a different feature type, then an InvalidParameterException is returned.

\"\ },\ \"Image\":{\"shape\":\"Image\"},\ \"MaxResults\":{\ @@ -3190,6 +3245,10 @@ - (NSString *)definitionString { \"HumanLoopConfig\":{\ \"shape\":\"HumanLoopConfig\",\ \"documentation\":\"

Sets up the configuration for human evaluation, including the FlowDefinition the image will be sent to.

\"\ + },\ + \"ProjectVersion\":{\ + \"shape\":\"ProjectVersionId\",\ + \"documentation\":\"

Identifier for the custom adapter. Expects the ProjectVersionArn as a value. Use the CreateProject or CreateProjectVersion APIs to create a custom adapter.

\"\ }\ }\ },\ @@ -3202,11 +3261,15 @@ - (NSString *)definitionString { },\ \"ModerationModelVersion\":{\ \"shape\":\"String\",\ - \"documentation\":\"

Version number of the moderation detection model that was used to detect unsafe content.

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

Version number of the base moderation detection model that was used to detect unsafe content.

\"\ },\ \"HumanLoopActivationOutput\":{\ \"shape\":\"HumanLoopActivationOutput\",\ \"documentation\":\"

Shows the results of the human in the loop evaluation.

\"\ + },\ + \"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.

\"\ }\ }\ },\ @@ -4970,7 +5033,7 @@ - (NSString *)definitionString { \"type\":\"structure\",\ \"members\":{\ },\ - \"documentation\":\"

An Amazon Rekognition service limit was exceeded. For example, if you start too many Amazon Rekognition Video jobs concurrently, calls to start operations (StartLabelDetection, for example) will raise a LimitExceededException exception (HTTP status code: 400) until the number of concurrently running jobs is below the Amazon Rekognition service limit.

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

An Amazon Rekognition service limit was exceeded. For example, if you start too many jobs concurrently, subsequent calls to start operations (ex: StartLabelDetection) will raise a LimitExceededException exception (HTTP status code: 400) until the number of concurrently running jobs is below the Amazon Rekognition service limit.

\",\ \"exception\":true\ },\ \"ListCollectionsRequest\":{\ @@ -5569,6 +5632,13 @@ - (NSString *)definitionString { \"min\":20,\ \"pattern\":\"(^arn:[a-z\\\\d-]+:rekognition:[a-z\\\\d-]+:\\\\d{12}:project\\\\/[a-zA-Z0-9_.\\\\-]{1,255}\\\\/[0-9]+$)\"\ },\ + \"ProjectAutoUpdate\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"ENABLED\",\ + \"DISABLED\"\ + ]\ + },\ \"ProjectDescription\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -5587,6 +5657,14 @@ - (NSString *)definitionString { \"Datasets\":{\ \"shape\":\"DatasetMetadataList\",\ \"documentation\":\"

Information about the training and test datasets in the project.

\"\ + },\ + \"Feature\":{\ + \"shape\":\"CustomizationFeature\",\ + \"documentation\":\"

Specifies the project that is being customized.

\"\ + },\ + \"AutoUpdate\":{\ + \"shape\":\"ProjectAutoUpdate\",\ + \"documentation\":\"

Indicates whether automatic retraining will be attempted for the versions of the project. Applies only to adapters.

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

A description of an Amazon Rekognition Custom Labels project. For more information, see DescribeProjects.

\"\ @@ -5677,7 +5755,7 @@ - (NSString *)definitionString { \"members\":{\ \"ProjectVersionArn\":{\ \"shape\":\"ProjectVersionArn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the model version.

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

The Amazon Resource Name (ARN) of the project version.

\"\ },\ \"CreationTimestamp\":{\ \"shape\":\"DateTime\",\ @@ -5685,7 +5763,7 @@ - (NSString *)definitionString { },\ \"MinInferenceUnits\":{\ \"shape\":\"InferenceUnits\",\ - \"documentation\":\"

The minimum number of inference units used by the model. For more information, see StartProjectVersion.

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

The minimum number of inference units used by the model. Applies only to Custom Labels projects. For more information, see StartProjectVersion.

\"\ },\ \"Status\":{\ \"shape\":\"ProjectVersionStatus\",\ @@ -5729,19 +5807,41 @@ - (NSString *)definitionString { },\ \"MaxInferenceUnits\":{\ \"shape\":\"InferenceUnits\",\ - \"documentation\":\"

The maximum number of inference units Amazon Rekognition Custom Labels uses to auto-scale the model. For more information, see StartProjectVersion.

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

The maximum number of inference units Amazon Rekognition uses to auto-scale the model. Applies only to Custom Labels projects. For more information, see StartProjectVersion.

\"\ },\ \"SourceProjectVersionArn\":{\ \"shape\":\"ProjectVersionArn\",\ \"documentation\":\"

If the model version was copied from a different project, SourceProjectVersionArn contains the ARN of the source model version.

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

A user-provided description of the project version.

\"\ + },\ + \"Feature\":{\ + \"shape\":\"CustomizationFeature\",\ + \"documentation\":\"

The feature that was customized.

\"\ + },\ + \"BaseModelVersion\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The base detection model version used to create the project version.

\"\ + },\ + \"FeatureConfig\":{\ + \"shape\":\"CustomizationFeatureConfig\",\ + \"documentation\":\"

Feature specific configuration that was applied during training.

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

A description of a version of an Amazon Rekognition Custom Labels model.

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

A description of a version of a Amazon Rekognition project version.

\"\ },\ \"ProjectVersionDescriptions\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"ProjectVersionDescription\"}\ },\ + \"ProjectVersionId\":{\ + \"type\":\"string\",\ + \"max\":2048,\ + \"min\":20,\ + \"pattern\":\"(^arn:[a-z\\\\d-]+:rekognition:[a-z\\\\d-]+:\\\\d{12}:project\\\\/[a-zA-Z0-9_.\\\\-]{1,255}\\\\/version\\\\/[a-zA-Z0-9_.\\\\-]{1,255}\\\\/[0-9]+$)\"\ + },\ \"ProjectVersionStatus\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -5756,7 +5856,9 @@ - (NSString *)definitionString { \"DELETING\",\ \"COPYING_IN_PROGRESS\",\ \"COPYING_COMPLETED\",\ - \"COPYING_FAILED\"\ + \"COPYING_FAILED\",\ + \"DEPRECATED\",\ + \"EXPIRED\"\ ]\ },\ \"ProjectVersionsPageSize\":{\ @@ -6661,7 +6763,7 @@ - (NSString *)definitionString { },\ \"MinInferenceUnits\":{\ \"shape\":\"InferenceUnits\",\ - \"documentation\":\"

The minimum number of inference units to use. A single inference unit represents 1 hour of processing.

For information about the number of transactions per second (TPS) that an inference unit can support, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

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

The minimum number of inference units to use. A single inference unit represents 1 hour of processing.

Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

\"\ },\ \"MaxInferenceUnits\":{\ \"shape\":\"InferenceUnits\",\ @@ -6833,7 +6935,7 @@ - (NSString *)definitionString { \"members\":{\ \"ProjectVersionArn\":{\ \"shape\":\"ProjectVersionArn\",\ - \"documentation\":\"

The Amazon Resource Name (ARN) of the model version that you want to delete.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

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

The Amazon Resource Name (ARN) of the model version that you want to stop.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

\"\ }\ }\ },\ @@ -7102,10 +7204,10 @@ - (NSString *)definitionString { },\ \"AutoCreate\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

If specified, Amazon Rekognition Custom Labels temporarily splits the training dataset (80%) to create a test dataset (20%) for the training job. After training completes, the test dataset is not stored and the training dataset reverts to its previous size.

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

If specified, Rekognition splits training dataset to create a test dataset for the training job.

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

The dataset used for testing. Optionally, if AutoCreate is set, Amazon Rekognition Custom Labels uses the training dataset to create a test dataset with a temporary split of the training dataset.

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

The dataset used for testing. Optionally, if AutoCreate is set, Amazon Rekognition uses the training dataset to create a test dataset with a temporary split of the training dataset.

\"\ },\ \"TestingDataResult\":{\ \"type\":\"structure\",\ @@ -7199,7 +7301,7 @@ - (NSString *)definitionString { \"members\":{\ \"Assets\":{\ \"shape\":\"Assets\",\ - \"documentation\":\"

A Sagemaker GroundTruth manifest file that contains the training images (assets).

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

A manifest file that contains references to the training images and ground-truth annotations.

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

The dataset used for training.

\"\ @@ -7209,18 +7311,18 @@ - (NSString *)definitionString { \"members\":{\ \"Input\":{\ \"shape\":\"TrainingData\",\ - \"documentation\":\"

The training assets that you supplied for training.

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

The training data that you supplied.

\"\ },\ \"Output\":{\ \"shape\":\"TrainingData\",\ - \"documentation\":\"

The images (assets) that were actually trained by Amazon Rekognition Custom Labels.

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

Reference to images (assets) that were actually used during training with trained model predictions.

\"\ },\ \"Validation\":{\ \"shape\":\"ValidationData\",\ - \"documentation\":\"

The location of the data validation manifest. The data validation manifest is created for the training dataset during model training.

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

A manifest that you supplied for training, with validation results for each line.

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

Sagemaker Groundtruth format manifest files for the input, output and validation datasets that are used and created during testing.

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

The data validation manifest created for the training dataset during model training.

\"\ },\ \"UInteger\":{\ \"type\":\"integer\",\ @@ -7541,6 +7643,12 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Contains the Amazon S3 bucket location of the validation data for a model training job.

The validation data includes error information for individual JSON Lines in the dataset. For more information, see Debugging a Failed Model Training in the Amazon Rekognition Custom Labels Developer Guide.

You get the ValidationData object for the training dataset (TrainingDataResult) and the test dataset (TestingDataResult) by calling DescribeProjectVersions.

The assets array contains a single Asset object. The GroundTruthManifest field of the Asset object contains the S3 bucket location of the validation data.

\"\ },\ + \"VersionDescription\":{\ + \"type\":\"string\",\ + \"max\":255,\ + \"min\":1,\ + \"pattern\":\"[a-zA-Z0-9-_. ()':,;?]+\"\ + },\ \"VersionName\":{\ \"type\":\"string\",\ \"max\":255,\ diff --git a/AWSRekognition/AWSRekognitionService.h b/AWSRekognition/AWSRekognitionService.h index b40af225637..7401d9d6f1c 100644 --- a/AWSRekognition/AWSRekognitionService.h +++ b/AWSRekognition/AWSRekognitionService.h @@ -225,7 +225,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)compareFaces:(AWSRekognitionCompareFacesRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionCompareFacesResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Copies a version of an Amazon Rekognition Custom Labels model from a source project to a destination project. The source and destination projects can be in different AWS accounts but must be in the same AWS Region. You can't copy a model to another AWS service.

To copy a model version to a different AWS account, you need to create a resource-based policy known as a project policy. You attach the project policy to the source project by calling PutProjectPolicy. The project policy gives permission to copy the model version from a trusting AWS account to a trusted account.

For more information creating and attaching a project policy, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

If you are copying a model version to a project in the same AWS account, you don't need to create a project policy.

To copy a model, the destination project, source project, and source model version must already exist.

Copying a model version takes a while to complete. To get the current status, call DescribeProjectVersions and check the value of Status in the ProjectVersionDescription object. The copy operation has finished when the value of Status is COPYING_COMPLETED.

This operation requires permissions to perform the rekognition:CopyProjectVersion action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Copies a version of an Amazon Rekognition Custom Labels model from a source project to a destination project. The source and destination projects can be in different AWS accounts but must be in the same AWS Region. You can't copy a model to another AWS service.

To copy a model version to a different AWS account, you need to create a resource-based policy known as a project policy. You attach the project policy to the source project by calling PutProjectPolicy. The project policy gives permission to copy the model version from a trusting AWS account to a trusted account.

For more information creating and attaching a project policy, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

If you are copying a model version to a project in the same AWS account, you don't need to create a project policy.

Copying project versions is supported only for Custom Labels models.

To copy a model, the destination project, source project, and source model version must already exist.

Copying a model version takes a while to complete. To get the current status, call DescribeProjectVersions and check the value of Status in the ProjectVersionDescription object. The copy operation has finished when the value of Status is COPYING_COMPLETED.

This operation requires permissions to perform the rekognition:CopyProjectVersion action.

@param request A container for the necessary parameters to execute the CopyProjectVersion service method. @@ -237,7 +237,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)replicateProjectVersion:(AWSRekognitionReplicateProjectVersionRequest *)request; /** -

Copies a version of an Amazon Rekognition Custom Labels model from a source project to a destination project. The source and destination projects can be in different AWS accounts but must be in the same AWS Region. You can't copy a model to another AWS service.

To copy a model version to a different AWS account, you need to create a resource-based policy known as a project policy. You attach the project policy to the source project by calling PutProjectPolicy. The project policy gives permission to copy the model version from a trusting AWS account to a trusted account.

For more information creating and attaching a project policy, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

If you are copying a model version to a project in the same AWS account, you don't need to create a project policy.

To copy a model, the destination project, source project, and source model version must already exist.

Copying a model version takes a while to complete. To get the current status, call DescribeProjectVersions and check the value of Status in the ProjectVersionDescription object. The copy operation has finished when the value of Status is COPYING_COMPLETED.

This operation requires permissions to perform the rekognition:CopyProjectVersion action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Copies a version of an Amazon Rekognition Custom Labels model from a source project to a destination project. The source and destination projects can be in different AWS accounts but must be in the same AWS Region. You can't copy a model to another AWS service.

To copy a model version to a different AWS account, you need to create a resource-based policy known as a project policy. You attach the project policy to the source project by calling PutProjectPolicy. The project policy gives permission to copy the model version from a trusting AWS account to a trusted account.

For more information creating and attaching a project policy, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

If you are copying a model version to a project in the same AWS account, you don't need to create a project policy.

Copying project versions is supported only for Custom Labels models.

To copy a model, the destination project, source project, and source model version must already exist.

Copying a model version takes a while to complete. To get the current status, call DescribeProjectVersions and check the value of Status in the ProjectVersionDescription object. The copy operation has finished when the value of Status is COPYING_COMPLETED.

This operation requires permissions to perform the rekognition:CopyProjectVersion action.

@param request A container for the necessary parameters to execute the CopyProjectVersion service method. @param completionHandler The completion handler to call when the load request is complete. @@ -275,7 +275,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)createCollection:(AWSRekognitionCreateCollectionRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionCreateCollectionResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a new Amazon Rekognition Custom Labels dataset. You can create a dataset by using an Amazon Sagemaker format manifest file or by copying an existing Amazon Rekognition Custom Labels dataset.

To create a training dataset for a project, specify TRAIN for the value of DatasetType. To create the test dataset for a project, specify TEST for the value of DatasetType.

The response from CreateDataset is the Amazon Resource Name (ARN) for the dataset. Creating a dataset takes a while to complete. Use DescribeDataset to check the current status. The dataset created successfully if the value of Status is CREATE_COMPLETE.

To check if any non-terminal errors occurred, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset creation fails if a terminal error occurs (Status = CREATE_FAILED). Currently, you can't access the terminal error information.

For more information, see Creating dataset in the Amazon Rekognition Custom Labels Developer Guide.

This operation requires permissions to perform the rekognition:CreateDataset action. If you want to copy an existing dataset, you also require permission to perform the rekognition:ListDatasetEntries action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Creates a new Amazon Rekognition Custom Labels dataset. You can create a dataset by using an Amazon Sagemaker format manifest file or by copying an existing Amazon Rekognition Custom Labels dataset.

To create a training dataset for a project, specify TRAIN for the value of DatasetType. To create the test dataset for a project, specify TEST for the value of DatasetType.

The response from CreateDataset is the Amazon Resource Name (ARN) for the dataset. Creating a dataset takes a while to complete. Use DescribeDataset to check the current status. The dataset created successfully if the value of Status is CREATE_COMPLETE.

To check if any non-terminal errors occurred, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset creation fails if a terminal error occurs (Status = CREATE_FAILED). Currently, you can't access the terminal error information.

For more information, see Creating dataset in the Amazon Rekognition Custom Labels Developer Guide.

This operation requires permissions to perform the rekognition:CreateDataset action. If you want to copy an existing dataset, you also require permission to perform the rekognition:ListDatasetEntries action.

@param request A container for the necessary parameters to execute the CreateDataset service method. @@ -287,7 +287,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)createDataset:(AWSRekognitionCreateDatasetRequest *)request; /** -

Creates a new Amazon Rekognition Custom Labels dataset. You can create a dataset by using an Amazon Sagemaker format manifest file or by copying an existing Amazon Rekognition Custom Labels dataset.

To create a training dataset for a project, specify TRAIN for the value of DatasetType. To create the test dataset for a project, specify TEST for the value of DatasetType.

The response from CreateDataset is the Amazon Resource Name (ARN) for the dataset. Creating a dataset takes a while to complete. Use DescribeDataset to check the current status. The dataset created successfully if the value of Status is CREATE_COMPLETE.

To check if any non-terminal errors occurred, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset creation fails if a terminal error occurs (Status = CREATE_FAILED). Currently, you can't access the terminal error information.

For more information, see Creating dataset in the Amazon Rekognition Custom Labels Developer Guide.

This operation requires permissions to perform the rekognition:CreateDataset action. If you want to copy an existing dataset, you also require permission to perform the rekognition:ListDatasetEntries action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Creates a new Amazon Rekognition Custom Labels dataset. You can create a dataset by using an Amazon Sagemaker format manifest file or by copying an existing Amazon Rekognition Custom Labels dataset.

To create a training dataset for a project, specify TRAIN for the value of DatasetType. To create the test dataset for a project, specify TEST for the value of DatasetType.

The response from CreateDataset is the Amazon Resource Name (ARN) for the dataset. Creating a dataset takes a while to complete. Use DescribeDataset to check the current status. The dataset created successfully if the value of Status is CREATE_COMPLETE.

To check if any non-terminal errors occurred, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset creation fails if a terminal error occurs (Status = CREATE_FAILED). Currently, you can't access the terminal error information.

For more information, see Creating dataset in the Amazon Rekognition Custom Labels Developer Guide.

This operation requires permissions to perform the rekognition:CreateDataset action. If you want to copy an existing dataset, you also require permission to perform the rekognition:ListDatasetEntries action.

@param request A container for the necessary parameters to execute the CreateDataset service method. @param completionHandler The completion handler to call when the load request is complete. @@ -325,7 +325,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)createFaceLivenessSession:(AWSRekognitionCreateFaceLivenessSessionRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionCreateFaceLivenessSessionResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a new Amazon Rekognition Custom Labels project. A project is a group of resources (datasets, model versions) that you use to create and manage Amazon Rekognition Custom Labels models.

This operation requires permissions to perform the rekognition:CreateProject action.

+

Creates a new Amazon Rekognition project. A project is a group of resources (datasets, model versions) that you use to create and manage a Amazon Rekognition Custom Labels Model or custom adapter. You can specify a feature to create the project with, if no feature is specified then Custom Labels is used by default. For adapters, you can also choose whether or not to have the project auto update by using the AutoUpdate argument. This operation requires permissions to perform the rekognition:CreateProject action.

@param request A container for the necessary parameters to execute the CreateProject service method. @@ -337,7 +337,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)createProject:(AWSRekognitionCreateProjectRequest *)request; /** -

Creates a new Amazon Rekognition Custom Labels project. A project is a group of resources (datasets, model versions) that you use to create and manage Amazon Rekognition Custom Labels models.

This operation requires permissions to perform the rekognition:CreateProject action.

+

Creates a new Amazon Rekognition project. A project is a group of resources (datasets, model versions) that you use to create and manage a Amazon Rekognition Custom Labels Model or custom adapter. You can specify a feature to create the project with, if no feature is specified then Custom Labels is used by default. For adapters, you can also choose whether or not to have the project auto update by using the AutoUpdate argument. This operation requires permissions to perform the rekognition:CreateProject action.

@param request A container for the necessary parameters to execute the CreateProject service method. @param completionHandler The completion handler to call when the load request is complete. @@ -350,7 +350,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)createProject:(AWSRekognitionCreateProjectRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionCreateProjectResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a new version of a model and begins training. Models are managed as part of an Amazon Rekognition Custom Labels project. The response from CreateProjectVersion is an Amazon Resource Name (ARN) for the version of the model.

Training uses the training and test datasets associated with the project. For more information, see Creating training and test dataset in the Amazon Rekognition Custom Labels Developer Guide.

You can train a model in a project that doesn't have associated datasets by specifying manifest files in the TrainingData and TestingData fields.

If you open the console after training a model with manifest files, Amazon Rekognition Custom Labels creates the datasets for you using the most recent manifest files. You can no longer train a model version for the project by specifying manifest files.

Instead of training with a project without associated datasets, we recommend that you use the manifest files to create training and test datasets for the project.

Training takes a while to complete. You can get the current status by calling DescribeProjectVersions. Training completed successfully if the value of the Status field is TRAINING_COMPLETED.

If training fails, see Debugging a failed model training in the Amazon Rekognition Custom Labels developer guide.

Once training has successfully completed, call DescribeProjectVersions to get the training results and evaluate the model. For more information, see Improving a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels developers guide.

After evaluating the model, you start the model by calling StartProjectVersion.

This operation requires permissions to perform the rekognition:CreateProjectVersion action.

+

Creates a new version of Amazon Rekognition project (like a Custom Labels model or a custom adapter) and begins training. Models and adapters are managed as part of a Rekognition project. The response from CreateProjectVersion is an Amazon Resource Name (ARN) for the project version.

The FeatureConfig operation argument allows you to configure specific model or adapter settings. You can provide a description to the project version by using the VersionDescription argment. Training can take a while to complete. You can get the current status by calling DescribeProjectVersions. Training completed successfully if the value of the Status field is TRAINING_COMPLETED. Once training has successfully completed, call DescribeProjectVersions to get the training results and evaluate the model.

This operation requires permissions to perform the rekognition:CreateProjectVersion action.

The following applies only to projects with Amazon Rekognition Custom Labels as the chosen feature:

You can train a model in a project that doesn't have associated datasets by specifying manifest files in the TrainingData and TestingData fields.

If you open the console after training a model with manifest files, Amazon Rekognition Custom Labels creates the datasets for you using the most recent manifest files. You can no longer train a model version for the project by specifying manifest files.

Instead of training with a project without associated datasets, we recommend that you use the manifest files to create training and test datasets for the project.

@param request A container for the necessary parameters to execute the CreateProjectVersion service method. @@ -362,7 +362,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)createProjectVersion:(AWSRekognitionCreateProjectVersionRequest *)request; /** -

Creates a new version of a model and begins training. Models are managed as part of an Amazon Rekognition Custom Labels project. The response from CreateProjectVersion is an Amazon Resource Name (ARN) for the version of the model.

Training uses the training and test datasets associated with the project. For more information, see Creating training and test dataset in the Amazon Rekognition Custom Labels Developer Guide.

You can train a model in a project that doesn't have associated datasets by specifying manifest files in the TrainingData and TestingData fields.

If you open the console after training a model with manifest files, Amazon Rekognition Custom Labels creates the datasets for you using the most recent manifest files. You can no longer train a model version for the project by specifying manifest files.

Instead of training with a project without associated datasets, we recommend that you use the manifest files to create training and test datasets for the project.

Training takes a while to complete. You can get the current status by calling DescribeProjectVersions. Training completed successfully if the value of the Status field is TRAINING_COMPLETED.

If training fails, see Debugging a failed model training in the Amazon Rekognition Custom Labels developer guide.

Once training has successfully completed, call DescribeProjectVersions to get the training results and evaluate the model. For more information, see Improving a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels developers guide.

After evaluating the model, you start the model by calling StartProjectVersion.

This operation requires permissions to perform the rekognition:CreateProjectVersion action.

+

Creates a new version of Amazon Rekognition project (like a Custom Labels model or a custom adapter) and begins training. Models and adapters are managed as part of a Rekognition project. The response from CreateProjectVersion is an Amazon Resource Name (ARN) for the project version.

The FeatureConfig operation argument allows you to configure specific model or adapter settings. You can provide a description to the project version by using the VersionDescription argment. Training can take a while to complete. You can get the current status by calling DescribeProjectVersions. Training completed successfully if the value of the Status field is TRAINING_COMPLETED. Once training has successfully completed, call DescribeProjectVersions to get the training results and evaluate the model.

This operation requires permissions to perform the rekognition:CreateProjectVersion action.

The following applies only to projects with Amazon Rekognition Custom Labels as the chosen feature:

You can train a model in a project that doesn't have associated datasets by specifying manifest files in the TrainingData and TestingData fields.

If you open the console after training a model with manifest files, Amazon Rekognition Custom Labels creates the datasets for you using the most recent manifest files. You can no longer train a model version for the project by specifying manifest files.

Instead of training with a project without associated datasets, we recommend that you use the manifest files to create training and test datasets for the project.

@param request A container for the necessary parameters to execute the CreateProjectVersion service method. @param completionHandler The completion handler to call when the load request is complete. @@ -450,7 +450,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)deleteCollection:(AWSRekognitionDeleteCollectionRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDeleteCollectionResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes an existing Amazon Rekognition Custom Labels dataset. Deleting a dataset might take while. Use DescribeDataset to check the current status. The dataset is still deleting if the value of Status is DELETE_IN_PROGRESS. If you try to access the dataset after it is deleted, you get a ResourceNotFoundException exception.

You can't delete a dataset while it is creating (Status = CREATE_IN_PROGRESS) or if the dataset is updating (Status = UPDATE_IN_PROGRESS).

This operation requires permissions to perform the rekognition:DeleteDataset action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Deletes an existing Amazon Rekognition Custom Labels dataset. Deleting a dataset might take while. Use DescribeDataset to check the current status. The dataset is still deleting if the value of Status is DELETE_IN_PROGRESS. If you try to access the dataset after it is deleted, you get a ResourceNotFoundException exception.

You can't delete a dataset while it is creating (Status = CREATE_IN_PROGRESS) or if the dataset is updating (Status = UPDATE_IN_PROGRESS).

This operation requires permissions to perform the rekognition:DeleteDataset action.

@param request A container for the necessary parameters to execute the DeleteDataset service method. @@ -462,7 +462,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)deleteDataset:(AWSRekognitionDeleteDatasetRequest *)request; /** -

Deletes an existing Amazon Rekognition Custom Labels dataset. Deleting a dataset might take while. Use DescribeDataset to check the current status. The dataset is still deleting if the value of Status is DELETE_IN_PROGRESS. If you try to access the dataset after it is deleted, you get a ResourceNotFoundException exception.

You can't delete a dataset while it is creating (Status = CREATE_IN_PROGRESS) or if the dataset is updating (Status = UPDATE_IN_PROGRESS).

This operation requires permissions to perform the rekognition:DeleteDataset action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Deletes an existing Amazon Rekognition Custom Labels dataset. Deleting a dataset might take while. Use DescribeDataset to check the current status. The dataset is still deleting if the value of Status is DELETE_IN_PROGRESS. If you try to access the dataset after it is deleted, you get a ResourceNotFoundException exception.

You can't delete a dataset while it is creating (Status = CREATE_IN_PROGRESS) or if the dataset is updating (Status = UPDATE_IN_PROGRESS).

This operation requires permissions to perform the rekognition:DeleteDataset action.

@param request A container for the necessary parameters to execute the DeleteDataset service method. @param completionHandler The completion handler to call when the load request is complete. @@ -500,7 +500,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)deleteFaces:(AWSRekognitionDeleteFacesRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDeleteFacesResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes an Amazon Rekognition Custom Labels project. To delete a project you must first delete all models associated with the project. To delete a model, see DeleteProjectVersion.

DeleteProject is an asynchronous operation. To check if the project is deleted, call DescribeProjects. The project is deleted when the project no longer appears in the response. Be aware that deleting a given project will also delete any ProjectPolicies associated with that project.

This operation requires permissions to perform the rekognition:DeleteProject action.

+

Deletes a Amazon Rekognition project. To delete a project you must first delete all models or adapters associated with the project. To delete a model or adapter, see DeleteProjectVersion.

DeleteProject is an asynchronous operation. To check if the project is deleted, call DescribeProjects. The project is deleted when the project no longer appears in the response. Be aware that deleting a given project will also delete any ProjectPolicies associated with that project.

This operation requires permissions to perform the rekognition:DeleteProject action.

@param request A container for the necessary parameters to execute the DeleteProject service method. @@ -512,7 +512,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)deleteProject:(AWSRekognitionDeleteProjectRequest *)request; /** -

Deletes an Amazon Rekognition Custom Labels project. To delete a project you must first delete all models associated with the project. To delete a model, see DeleteProjectVersion.

DeleteProject is an asynchronous operation. To check if the project is deleted, call DescribeProjects. The project is deleted when the project no longer appears in the response. Be aware that deleting a given project will also delete any ProjectPolicies associated with that project.

This operation requires permissions to perform the rekognition:DeleteProject action.

+

Deletes a Amazon Rekognition project. To delete a project you must first delete all models or adapters associated with the project. To delete a model or adapter, see DeleteProjectVersion.

DeleteProject is an asynchronous operation. To check if the project is deleted, call DescribeProjects. The project is deleted when the project no longer appears in the response. Be aware that deleting a given project will also delete any ProjectPolicies associated with that project.

This operation requires permissions to perform the rekognition:DeleteProject action.

@param request A container for the necessary parameters to execute the DeleteProject service method. @param completionHandler The completion handler to call when the load request is complete. @@ -525,7 +525,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)deleteProject:(AWSRekognitionDeleteProjectRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDeleteProjectResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes an existing project policy.

To get a list of project policies attached to a project, call ListProjectPolicies. To attach a project policy to a project, call PutProjectPolicy.

This operation requires permissions to perform the rekognition:DeleteProjectPolicy action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Deletes an existing project policy.

To get a list of project policies attached to a project, call ListProjectPolicies. To attach a project policy to a project, call PutProjectPolicy.

This operation requires permissions to perform the rekognition:DeleteProjectPolicy action.

@param request A container for the necessary parameters to execute the DeleteProjectPolicy service method. @@ -537,7 +537,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)deleteProjectPolicy:(AWSRekognitionDeleteProjectPolicyRequest *)request; /** -

Deletes an existing project policy.

To get a list of project policies attached to a project, call ListProjectPolicies. To attach a project policy to a project, call PutProjectPolicy.

This operation requires permissions to perform the rekognition:DeleteProjectPolicy action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Deletes an existing project policy.

To get a list of project policies attached to a project, call ListProjectPolicies. To attach a project policy to a project, call PutProjectPolicy.

This operation requires permissions to perform the rekognition:DeleteProjectPolicy action.

@param request A container for the necessary parameters to execute the DeleteProjectPolicy service method. @param completionHandler The completion handler to call when the load request is complete. @@ -550,7 +550,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)deleteProjectPolicy:(AWSRekognitionDeleteProjectPolicyRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDeleteProjectPolicyResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes an Amazon Rekognition Custom Labels model.

You can't delete a model if it is running or if it is training. To check the status of a model, use the Status field returned from DescribeProjectVersions. To stop a running model call StopProjectVersion. If the model is training, wait until it finishes.

This operation requires permissions to perform the rekognition:DeleteProjectVersion action.

+

Deletes a Rekognition project model or project version, like a Amazon Rekognition Custom Labels model or a custom adapter.

You can't delete a project version if it is running or if it is training. To check the status of a project version, use the Status field returned from DescribeProjectVersions. To stop a project version call StopProjectVersion. If the project version is training, wait until it finishes.

This operation requires permissions to perform the rekognition:DeleteProjectVersion action.

@param request A container for the necessary parameters to execute the DeleteProjectVersion service method. @@ -562,7 +562,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)deleteProjectVersion:(AWSRekognitionDeleteProjectVersionRequest *)request; /** -

Deletes an Amazon Rekognition Custom Labels model.

You can't delete a model if it is running or if it is training. To check the status of a model, use the Status field returned from DescribeProjectVersions. To stop a running model call StopProjectVersion. If the model is training, wait until it finishes.

This operation requires permissions to perform the rekognition:DeleteProjectVersion action.

+

Deletes a Rekognition project model or project version, like a Amazon Rekognition Custom Labels model or a custom adapter.

You can't delete a project version if it is running or if it is training. To check the status of a project version, use the Status field returned from DescribeProjectVersions. To stop a project version call StopProjectVersion. If the project version is training, wait until it finishes.

This operation requires permissions to perform the rekognition:DeleteProjectVersion action.

@param request A container for the necessary parameters to execute the DeleteProjectVersion service method. @param completionHandler The completion handler to call when the load request is complete. @@ -650,7 +650,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)describeCollection:(AWSRekognitionDescribeCollectionRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDescribeCollectionResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes an Amazon Rekognition Custom Labels dataset. You can get information such as the current status of a dataset and statistics about the images and labels in a dataset.

This operation requires permissions to perform the rekognition:DescribeDataset action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Describes an Amazon Rekognition Custom Labels dataset. You can get information such as the current status of a dataset and statistics about the images and labels in a dataset.

This operation requires permissions to perform the rekognition:DescribeDataset action.

@param request A container for the necessary parameters to execute the DescribeDataset service method. @@ -662,7 +662,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)describeDataset:(AWSRekognitionDescribeDatasetRequest *)request; /** -

Describes an Amazon Rekognition Custom Labels dataset. You can get information such as the current status of a dataset and statistics about the images and labels in a dataset.

This operation requires permissions to perform the rekognition:DescribeDataset action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Describes an Amazon Rekognition Custom Labels dataset. You can get information such as the current status of a dataset and statistics about the images and labels in a dataset.

This operation requires permissions to perform the rekognition:DescribeDataset action.

@param request A container for the necessary parameters to execute the DescribeDataset service method. @param completionHandler The completion handler to call when the load request is complete. @@ -675,7 +675,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)describeDataset:(AWSRekognitionDescribeDatasetRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDescribeDatasetResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Lists and describes the versions of a model in an Amazon Rekognition Custom Labels project. You can specify up to 10 model versions in ProjectVersionArns. If you don't specify a value, descriptions for all model versions in the project are returned.

This operation requires permissions to perform the rekognition:DescribeProjectVersions action.

+

Lists and describes the versions of an Amazon Rekognition project. You can specify up to 10 model or adapter versions in ProjectVersionArns. If you don't specify a value, descriptions for all model/adapter versions in the project are returned.

This operation requires permissions to perform the rekognition:DescribeProjectVersions action.

@param request A container for the necessary parameters to execute the DescribeProjectVersions service method. @@ -687,7 +687,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)describeProjectVersions:(AWSRekognitionDescribeProjectVersionsRequest *)request; /** -

Lists and describes the versions of a model in an Amazon Rekognition Custom Labels project. You can specify up to 10 model versions in ProjectVersionArns. If you don't specify a value, descriptions for all model versions in the project are returned.

This operation requires permissions to perform the rekognition:DescribeProjectVersions action.

+

Lists and describes the versions of an Amazon Rekognition project. You can specify up to 10 model or adapter versions in ProjectVersionArns. If you don't specify a value, descriptions for all model/adapter versions in the project are returned.

This operation requires permissions to perform the rekognition:DescribeProjectVersions action.

@param request A container for the necessary parameters to execute the DescribeProjectVersions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -700,7 +700,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)describeProjectVersions:(AWSRekognitionDescribeProjectVersionsRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDescribeProjectVersionsResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Gets information about your Amazon Rekognition Custom Labels projects.

This operation requires permissions to perform the rekognition:DescribeProjects action.

+

Gets information about your Rekognition projects.

This operation requires permissions to perform the rekognition:DescribeProjects action.

@param request A container for the necessary parameters to execute the DescribeProjects service method. @@ -712,7 +712,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)describeProjects:(AWSRekognitionDescribeProjectsRequest *)request; /** -

Gets information about your Amazon Rekognition Custom Labels projects.

This operation requires permissions to perform the rekognition:DescribeProjects action.

+

Gets information about your Rekognition projects.

This operation requires permissions to perform the rekognition:DescribeProjects action.

@param request A container for the necessary parameters to execute the DescribeProjects service method. @param completionHandler The completion handler to call when the load request is complete. @@ -750,7 +750,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)describeStreamProcessor:(AWSRekognitionDescribeStreamProcessorRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDescribeStreamProcessorResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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).

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; /** -

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).

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. @@ -825,11 +825,11 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)detectLabels:(AWSRekognitionDetectLabelsRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDetectLabelsResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate.

For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

You pass the input image either 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.

+

Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate.

For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

You pass the input image either 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.

You can specify an adapter to use when retrieving label predictions by providing a ProjectVersionArn to the ProjectVersion argument.

@param request A container for the necessary parameters to execute the DetectModerationLabels service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSRekognitionDetectModerationLabelsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSRekognitionErrorDomain` domain and the following error code: `AWSRekognitionErrorInvalidS3Object`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorImageTooLarge`, `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorThrottling`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorInvalidImageFormat`, `AWSRekognitionErrorHumanLoopQuotaExceeded`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSRekognitionDetectModerationLabelsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSRekognitionErrorDomain` domain and the following error code: `AWSRekognitionErrorInvalidS3Object`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorImageTooLarge`, `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorThrottling`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorInvalidImageFormat`, `AWSRekognitionErrorHumanLoopQuotaExceeded`, `AWSRekognitionErrorResourceNotFound`, `AWSRekognitionErrorResourceNotReady`. @see AWSRekognitionDetectModerationLabelsRequest @see AWSRekognitionDetectModerationLabelsResponse @@ -837,12 +837,12 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)detectModerationLabels:(AWSRekognitionDetectModerationLabelsRequest *)request; /** -

Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate.

For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

You pass the input image either 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.

+

Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate.

For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

You pass the input image either 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.

You can specify an adapter to use when retrieving label predictions by providing a ProjectVersionArn to the ProjectVersion argument.

@param request A container for the necessary parameters to execute the DetectModerationLabels 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: `AWSRekognitionErrorInvalidS3Object`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorImageTooLarge`, `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorThrottling`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorInvalidImageFormat`, `AWSRekognitionErrorHumanLoopQuotaExceeded`. + `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: `AWSRekognitionErrorInvalidS3Object`, `AWSRekognitionErrorInvalidParameter`, `AWSRekognitionErrorImageTooLarge`, `AWSRekognitionErrorAccessDenied`, `AWSRekognitionErrorInternalServer`, `AWSRekognitionErrorThrottling`, `AWSRekognitionErrorProvisionedThroughputExceeded`, `AWSRekognitionErrorInvalidImageFormat`, `AWSRekognitionErrorHumanLoopQuotaExceeded`, `AWSRekognitionErrorResourceNotFound`, `AWSRekognitionErrorResourceNotReady`. @see AWSRekognitionDetectModerationLabelsRequest @see AWSRekognitionDetectModerationLabelsResponse @@ -925,7 +925,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)disassociateFaces:(AWSRekognitionDisassociateFacesRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionDisassociateFacesResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Distributes the entries (images) in a training dataset across the training dataset and the test dataset for a project. DistributeDatasetEntries moves 20% of the training dataset images to the test dataset. An entry is a JSON Line that describes an image.

You supply the Amazon Resource Names (ARN) of a project's training dataset and test dataset. The training dataset must contain the images that you want to split. The test dataset must be empty. The datasets must belong to the same project. To create training and test datasets for a project, call CreateDataset.

Distributing a dataset takes a while to complete. To check the status call DescribeDataset. The operation is complete when the Status field for the training dataset and the test dataset is UPDATE_COMPLETE. If the dataset split fails, the value of Status is UPDATE_FAILED.

This operation requires permissions to perform the rekognition:DistributeDatasetEntries action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Distributes the entries (images) in a training dataset across the training dataset and the test dataset for a project. DistributeDatasetEntries moves 20% of the training dataset images to the test dataset. An entry is a JSON Line that describes an image.

You supply the Amazon Resource Names (ARN) of a project's training dataset and test dataset. The training dataset must contain the images that you want to split. The test dataset must be empty. The datasets must belong to the same project. To create training and test datasets for a project, call CreateDataset.

Distributing a dataset takes a while to complete. To check the status call DescribeDataset. The operation is complete when the Status field for the training dataset and the test dataset is UPDATE_COMPLETE. If the dataset split fails, the value of Status is UPDATE_FAILED.

This operation requires permissions to perform the rekognition:DistributeDatasetEntries action.

@param request A container for the necessary parameters to execute the DistributeDatasetEntries service method. @@ -937,7 +937,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)distributeDatasetEntries:(AWSRekognitionDistributeDatasetEntriesRequest *)request; /** -

Distributes the entries (images) in a training dataset across the training dataset and the test dataset for a project. DistributeDatasetEntries moves 20% of the training dataset images to the test dataset. An entry is a JSON Line that describes an image.

You supply the Amazon Resource Names (ARN) of a project's training dataset and test dataset. The training dataset must contain the images that you want to split. The test dataset must be empty. The datasets must belong to the same project. To create training and test datasets for a project, call CreateDataset.

Distributing a dataset takes a while to complete. To check the status call DescribeDataset. The operation is complete when the Status field for the training dataset and the test dataset is UPDATE_COMPLETE. If the dataset split fails, the value of Status is UPDATE_FAILED.

This operation requires permissions to perform the rekognition:DistributeDatasetEntries action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Distributes the entries (images) in a training dataset across the training dataset and the test dataset for a project. DistributeDatasetEntries moves 20% of the training dataset images to the test dataset. An entry is a JSON Line that describes an image.

You supply the Amazon Resource Names (ARN) of a project's training dataset and test dataset. The training dataset must contain the images that you want to split. The test dataset must be empty. The datasets must belong to the same project. To create training and test datasets for a project, call CreateDataset.

Distributing a dataset takes a while to complete. To check the status call DescribeDataset. The operation is complete when the Status field for the training dataset and the test dataset is UPDATE_COMPLETE. If the dataset split fails, the value of Status is UPDATE_FAILED.

This operation requires permissions to perform the rekognition:DistributeDatasetEntries action.

@param request A container for the necessary parameters to execute the DistributeDatasetEntries service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1250,7 +1250,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)listCollections:(AWSRekognitionListCollectionsRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionListCollectionsResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Lists the entries (images) within a dataset. An entry is a JSON Line that contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Creating a manifest file.

JSON Lines in the response include information about non-terminal errors found in the dataset. Non terminal errors are reported in errors lists within each JSON Line. The same information is reported in the training and testing validation result manifests that Amazon Rekognition Custom Labels creates during model training.

You can filter the response in variety of ways, such as choosing which labels to return and returning JSON Lines created after a specific date.

This operation requires permissions to perform the rekognition:ListDatasetEntries action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Lists the entries (images) within a dataset. An entry is a JSON Line that contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Creating a manifest file.

JSON Lines in the response include information about non-terminal errors found in the dataset. Non terminal errors are reported in errors lists within each JSON Line. The same information is reported in the training and testing validation result manifests that Amazon Rekognition Custom Labels creates during model training.

You can filter the response in variety of ways, such as choosing which labels to return and returning JSON Lines created after a specific date.

This operation requires permissions to perform the rekognition:ListDatasetEntries action.

@param request A container for the necessary parameters to execute the ListDatasetEntries service method. @@ -1262,7 +1262,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)listDatasetEntries:(AWSRekognitionListDatasetEntriesRequest *)request; /** -

Lists the entries (images) within a dataset. An entry is a JSON Line that contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Creating a manifest file.

JSON Lines in the response include information about non-terminal errors found in the dataset. Non terminal errors are reported in errors lists within each JSON Line. The same information is reported in the training and testing validation result manifests that Amazon Rekognition Custom Labels creates during model training.

You can filter the response in variety of ways, such as choosing which labels to return and returning JSON Lines created after a specific date.

This operation requires permissions to perform the rekognition:ListDatasetEntries action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Lists the entries (images) within a dataset. An entry is a JSON Line that contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Creating a manifest file.

JSON Lines in the response include information about non-terminal errors found in the dataset. Non terminal errors are reported in errors lists within each JSON Line. The same information is reported in the training and testing validation result manifests that Amazon Rekognition Custom Labels creates during model training.

You can filter the response in variety of ways, such as choosing which labels to return and returning JSON Lines created after a specific date.

This operation requires permissions to perform the rekognition:ListDatasetEntries action.

@param request A container for the necessary parameters to execute the ListDatasetEntries service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1275,7 +1275,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)listDatasetEntries:(AWSRekognitionListDatasetEntriesRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionListDatasetEntriesResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images.

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images in the Amazon Rekognition Custom Labels Developer Guide.

+

This operation applies only to Amazon Rekognition Custom Labels.

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images.

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images in the Amazon Rekognition Custom Labels Developer Guide.

@param request A container for the necessary parameters to execute the ListDatasetLabels service method. @@ -1287,7 +1287,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)listDatasetLabels:(AWSRekognitionListDatasetLabelsRequest *)request; /** -

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images.

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images in the Amazon Rekognition Custom Labels Developer Guide.

+

This operation applies only to Amazon Rekognition Custom Labels.

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images.

Lists the labels in a dataset. Amazon Rekognition Custom Labels uses labels to describe images. For more information, see Labeling images in the Amazon Rekognition Custom Labels Developer Guide.

@param request A container for the necessary parameters to execute the ListDatasetLabels service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1325,7 +1325,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)listFaces:(AWSRekognitionListFacesRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionListFacesResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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.

+

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.

@param request A container for the necessary parameters to execute the ListProjectPolicies service method. @@ -1337,7 +1337,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)listProjectPolicies:(AWSRekognitionListProjectPoliciesRequest *)request; /** -

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.

+

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.

@param request A container for the necessary parameters to execute the ListProjectPolicies service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1425,7 +1425,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)listUsers:(AWSRekognitionListUsersRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionListUsersResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Attaches a project policy to a Amazon Rekognition Custom Labels project in a trusting AWS account. A project policy specifies that a trusted AWS account can copy a model version from a trusting AWS account to a project in the trusted AWS account. To copy a model version you use the CopyProjectVersion operation.

For more information about the format of a project policy document, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

The response from PutProjectPolicy is a revision ID for the project policy. You can attach multiple project policies to a project. You can also update an existing project policy by specifying the policy revision ID of the existing policy.

To remove a project policy from a project, call DeleteProjectPolicy. To get a list of project policies attached to a project, call ListProjectPolicies.

You copy a model version by calling CopyProjectVersion.

This operation requires permissions to perform the rekognition:PutProjectPolicy action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Attaches a project policy to a Amazon Rekognition Custom Labels project in a trusting AWS account. A project policy specifies that a trusted AWS account can copy a model version from a trusting AWS account to a project in the trusted AWS account. To copy a model version you use the CopyProjectVersion operation. Only applies to Custom Labels projects.

For more information about the format of a project policy document, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

The response from PutProjectPolicy is a revision ID for the project policy. You can attach multiple project policies to a project. You can also update an existing project policy by specifying the policy revision ID of the existing policy.

To remove a project policy from a project, call DeleteProjectPolicy. To get a list of project policies attached to a project, call ListProjectPolicies.

You copy a model version by calling CopyProjectVersion.

This operation requires permissions to perform the rekognition:PutProjectPolicy action.

@param request A container for the necessary parameters to execute the PutProjectPolicy service method. @@ -1437,7 +1437,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)putProjectPolicy:(AWSRekognitionPutProjectPolicyRequest *)request; /** -

Attaches a project policy to a Amazon Rekognition Custom Labels project in a trusting AWS account. A project policy specifies that a trusted AWS account can copy a model version from a trusting AWS account to a project in the trusted AWS account. To copy a model version you use the CopyProjectVersion operation.

For more information about the format of a project policy document, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

The response from PutProjectPolicy is a revision ID for the project policy. You can attach multiple project policies to a project. You can also update an existing project policy by specifying the policy revision ID of the existing policy.

To remove a project policy from a project, call DeleteProjectPolicy. To get a list of project policies attached to a project, call ListProjectPolicies.

You copy a model version by calling CopyProjectVersion.

This operation requires permissions to perform the rekognition:PutProjectPolicy action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Attaches a project policy to a Amazon Rekognition Custom Labels project in a trusting AWS account. A project policy specifies that a trusted AWS account can copy a model version from a trusting AWS account to a project in the trusted AWS account. To copy a model version you use the CopyProjectVersion operation. Only applies to Custom Labels projects.

For more information about the format of a project policy document, see Attaching a project policy (SDK) in the Amazon Rekognition Custom Labels Developer Guide.

The response from PutProjectPolicy is a revision ID for the project policy. You can attach multiple project policies to a project. You can also update an existing project policy by specifying the policy revision ID of the existing policy.

To remove a project policy from a project, call DeleteProjectPolicy. To get a list of project policies attached to a project, call ListProjectPolicies.

You copy a model version by calling CopyProjectVersion.

This operation requires permissions to perform the rekognition:PutProjectPolicy action.

@param request A container for the necessary parameters to execute the PutProjectPolicy service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1725,7 +1725,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)startPersonTracking:(AWSRekognitionStartPersonTrackingRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionStartPersonTrackingResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion.

For more information, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

@param request A container for the necessary parameters to execute the StartProjectVersion service method. @@ -1737,7 +1737,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)startProjectVersion:(AWSRekognitionStartProjectVersionRequest *)request; /** -

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion.

For more information, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

@param request A container for the necessary parameters to execute the StartProjectVersion service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1825,7 +1825,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)startTextDetection:(AWSRekognitionStartTextDetectionRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionStartTextDetectionResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Stops a running model. The operation might take a while to complete. To check the current status, call DescribeProjectVersions.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Stops a running model. The operation might take a while to complete. To check the current status, call DescribeProjectVersions. Only applies to Custom Labels projects.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

@param request A container for the necessary parameters to execute the StopProjectVersion service method. @@ -1837,7 +1837,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)stopProjectVersion:(AWSRekognitionStopProjectVersionRequest *)request; /** -

Stops a running model. The operation might take a while to complete. To check the current status, call DescribeProjectVersions.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Stops a running model. The operation might take a while to complete. To check the current status, call DescribeProjectVersions. Only applies to Custom Labels projects.

This operation requires permissions to perform the rekognition:StopProjectVersion action.

@param request A container for the necessary parameters to execute the StopProjectVersion service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1925,7 +1925,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (void)untagResource:(AWSRekognitionUntagResourceRequest *)request completionHandler:(void (^ _Nullable)(AWSRekognitionUntagResourceResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Adds or updates one or more entries (images) in a dataset. An entry is a JSON Line which contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Image-Level labels in manifest files and Object localization in manifest files in the Amazon Rekognition Custom Labels Developer Guide.

If the source-ref field in the JSON line references an existing image, the existing image in the dataset is updated. If source-ref field doesn't reference an existing image, the image is added as a new image to the dataset.

You specify the changes that you want to make in the Changes input parameter. There isn't a limit to the number JSON Lines that you can change, but the size of Changes must be less than 5MB.

UpdateDatasetEntries returns immediatly, but the dataset update might take a while to complete. Use DescribeDataset to check the current status. The dataset updated successfully if the value of Status is UPDATE_COMPLETE.

To check if any non-terminal errors occured, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset update fails if a terminal error occurs (Status = UPDATE_FAILED). Currently, you can't access the terminal error information from the Amazon Rekognition Custom Labels SDK.

This operation requires permissions to perform the rekognition:UpdateDatasetEntries action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Adds or updates one or more entries (images) in a dataset. An entry is a JSON Line which contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Image-Level labels in manifest files and Object localization in manifest files in the Amazon Rekognition Custom Labels Developer Guide.

If the source-ref field in the JSON line references an existing image, the existing image in the dataset is updated. If source-ref field doesn't reference an existing image, the image is added as a new image to the dataset.

You specify the changes that you want to make in the Changes input parameter. There isn't a limit to the number JSON Lines that you can change, but the size of Changes must be less than 5MB.

UpdateDatasetEntries returns immediatly, but the dataset update might take a while to complete. Use DescribeDataset to check the current status. The dataset updated successfully if the value of Status is UPDATE_COMPLETE.

To check if any non-terminal errors occured, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset update fails if a terminal error occurs (Status = UPDATE_FAILED). Currently, you can't access the terminal error information from the Amazon Rekognition Custom Labels SDK.

This operation requires permissions to perform the rekognition:UpdateDatasetEntries action.

@param request A container for the necessary parameters to execute the UpdateDatasetEntries service method. @@ -1937,7 +1937,7 @@ FOUNDATION_EXPORT NSString *const AWSRekognitionSDKVersion; - (AWSTask *)updateDatasetEntries:(AWSRekognitionUpdateDatasetEntriesRequest *)request; /** -

Adds or updates one or more entries (images) in a dataset. An entry is a JSON Line which contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Image-Level labels in manifest files and Object localization in manifest files in the Amazon Rekognition Custom Labels Developer Guide.

If the source-ref field in the JSON line references an existing image, the existing image in the dataset is updated. If source-ref field doesn't reference an existing image, the image is added as a new image to the dataset.

You specify the changes that you want to make in the Changes input parameter. There isn't a limit to the number JSON Lines that you can change, but the size of Changes must be less than 5MB.

UpdateDatasetEntries returns immediatly, but the dataset update might take a while to complete. Use DescribeDataset to check the current status. The dataset updated successfully if the value of Status is UPDATE_COMPLETE.

To check if any non-terminal errors occured, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset update fails if a terminal error occurs (Status = UPDATE_FAILED). Currently, you can't access the terminal error information from the Amazon Rekognition Custom Labels SDK.

This operation requires permissions to perform the rekognition:UpdateDatasetEntries action.

+

This operation applies only to Amazon Rekognition Custom Labels.

Adds or updates one or more entries (images) in a dataset. An entry is a JSON Line which contains the information for a single image, including the image location, assigned labels, and object location bounding boxes. For more information, see Image-Level labels in manifest files and Object localization in manifest files in the Amazon Rekognition Custom Labels Developer Guide.

If the source-ref field in the JSON line references an existing image, the existing image in the dataset is updated. If source-ref field doesn't reference an existing image, the image is added as a new image to the dataset.

You specify the changes that you want to make in the Changes input parameter. There isn't a limit to the number JSON Lines that you can change, but the size of Changes must be less than 5MB.

UpdateDatasetEntries returns immediatly, but the dataset update might take a while to complete. Use DescribeDataset to check the current status. The dataset updated successfully if the value of Status is UPDATE_COMPLETE.

To check if any non-terminal errors occured, call ListDatasetEntries and check for the presence of errors lists in the JSON Lines.

Dataset update fails if a terminal error occurs (Status = UPDATE_FAILED). Currently, you can't access the terminal error information from the Amazon Rekognition Custom Labels SDK.

This operation requires permissions to perform the rekognition:UpdateDatasetEntries action.

@param request A container for the necessary parameters to execute the UpdateDatasetEntries service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSRekognition/AWSRekognitionService.m b/AWSRekognition/AWSRekognitionService.m index bc67f8cee0c..5ae2be180c9 100644 --- a/AWSRekognition/AWSRekognitionService.m +++ b/AWSRekognition/AWSRekognitionService.m @@ -25,7 +25,7 @@ #import "AWSRekognitionResources.h" static NSString *const AWSInfoRekognition = @"Rekognition"; -NSString *const AWSRekognitionSDKVersion = @"2.33.4"; +NSString *const AWSRekognitionSDKVersion = @"2.33.5"; @interface AWSRekognitionResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSRekognition/Info.plist b/AWSRekognition/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSRekognition/Info.plist +++ b/AWSRekognition/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSRekognitionUnitTests/AWSRekognitionNSSecureCodingTests.m b/AWSRekognitionUnitTests/AWSRekognitionNSSecureCodingTests.m index 0bda386cb1f..456e8fe283c 100644 --- a/AWSRekognitionUnitTests/AWSRekognitionNSSecureCodingTests.m +++ b/AWSRekognitionUnitTests/AWSRekognitionNSSecureCodingTests.m @@ -59,6 +59,8 @@ - (void) test_AWSRekognitionCreateStreamProcessorResponse API_AVAILABLE(ios(11)) - (void) test_AWSRekognitionCreateUserRequest API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionCreateUserResponse API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionCustomLabel API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionCustomizationFeatureConfig API_AVAILABLE(ios(11)); +- (void) test_AWSRekognitionCustomizationFeatureContentModerationConfig API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionDatasetChanges API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionDatasetDescription API_AVAILABLE(ios(11)); - (void) test_AWSRekognitionDatasetLabelDescription API_AVAILABLE(ios(11)); @@ -463,6 +465,14 @@ - (void) test_AWSRekognitionCustomLabel { [self validateSecureCodingForClass:[AWSRekognitionCustomLabel class]]; } +- (void) test_AWSRekognitionCustomizationFeatureConfig { + [self validateSecureCodingForClass:[AWSRekognitionCustomizationFeatureConfig class]]; +} + +- (void) test_AWSRekognitionCustomizationFeatureContentModerationConfig { + [self validateSecureCodingForClass:[AWSRekognitionCustomizationFeatureContentModerationConfig class]]; +} + - (void) test_AWSRekognitionDatasetChanges { [self validateSecureCodingForClass:[AWSRekognitionDatasetChanges class]]; } diff --git a/AWSS3.podspec b/AWSS3.podspec index 0f2139d09c2..a4cc7a946f0 100644 --- a/AWSS3.podspec +++ b/AWSS3.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSS3' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSS3/*.{h,m}' end diff --git a/AWSS3/AWSS3PreSignedURL.m b/AWSS3/AWSS3PreSignedURL.m index a5eccd09cdd..dae0006e46a 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.33.4"; +static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.33.5"; @interface AWSS3PreSignedURLBuilder() diff --git a/AWSS3/AWSS3Service.m b/AWSS3/AWSS3Service.m index 3535ad67d4d..53a5d3f60b3 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.33.4"; +NSString *const AWSS3SDKVersion = @"2.33.5"; diff --git a/AWSS3/Info.plist b/AWSS3/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSS3/Info.plist +++ b/AWSS3/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSES.podspec b/AWSSES.podspec index 359776178b6..1f57414b4c5 100644 --- a/AWSSES.podspec +++ b/AWSSES.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSES' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSSES/*.{h,m}' end diff --git a/AWSSES/AWSSESService.m b/AWSSES/AWSSESService.m index 45affd9658f..427cfc73de2 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.33.4"; +NSString *const AWSSESSDKVersion = @"2.33.5"; @interface AWSSESResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSES/Info.plist b/AWSSES/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSSES/Info.plist +++ b/AWSSES/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSNS.podspec b/AWSSNS.podspec index 4becb83393d..425d816302b 100644 --- a/AWSSNS.podspec +++ b/AWSSNS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSNS' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSSNS/*.{h,m}' end diff --git a/AWSSNS/AWSSNSService.m b/AWSSNS/AWSSNSService.m index 18da59b816c..ec3daade1ce 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.33.4"; +NSString *const AWSSNSSDKVersion = @"2.33.5"; @interface AWSSNSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSNS/Info.plist b/AWSSNS/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSSNS/Info.plist +++ b/AWSSNS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSQS.podspec b/AWSSQS.podspec index 75a860094c9..eaf7516b02a 100644 --- a/AWSSQS.podspec +++ b/AWSSQS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSQS' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSSQS/*.{h,m}' end diff --git a/AWSSQS/AWSSQSService.m b/AWSSQS/AWSSQSService.m index 68e10494170..c3cb5253689 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.33.4"; +NSString *const AWSSQSSDKVersion = @"2.33.5"; @interface AWSSQSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSQS/Info.plist b/AWSSQS/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSSQS/Info.plist +++ b/AWSSQS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSageMakerRuntime.podspec b/AWSSageMakerRuntime.podspec index 3cb3aa54379..6e8bfcdf4a6 100644 --- a/AWSSageMakerRuntime.podspec +++ b/AWSSageMakerRuntime.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSageMakerRuntime' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSSageMakerRuntime/*.{h,m}' end diff --git a/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m b/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m index c5815f01e81..d01c1e413ad 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.33.4"; +NSString *const AWSSageMakerRuntimeSDKVersion = @"2.33.5"; @interface AWSSageMakerRuntimeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSSageMakerRuntime/Info.plist b/AWSSageMakerRuntime/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSSageMakerRuntime/Info.plist +++ b/AWSSageMakerRuntime/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSimpleDB.podspec b/AWSSimpleDB.podspec index ef026c88031..08d1f2b35e5 100644 --- a/AWSSimpleDB.podspec +++ b/AWSSimpleDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSimpleDB' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSSimpleDB/*.{h,m}' end diff --git a/AWSSimpleDB/AWSSimpleDBService.m b/AWSSimpleDB/AWSSimpleDBService.m index 7f74d7ef987..9220a533ae0 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.33.4"; +NSString *const AWSSimpleDBSDKVersion = @"2.33.5"; @interface AWSSimpleDBResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSimpleDB/Info.plist b/AWSSimpleDB/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSSimpleDB/Info.plist +++ b/AWSSimpleDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTextract.podspec b/AWSTextract.podspec index b314c555481..3c6fdb1fdc4 100644 --- a/AWSTextract.podspec +++ b/AWSTextract.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTextract' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSTextract/*.{h,m}' end diff --git a/AWSTextract/AWSTextractModel.h b/AWSTextract/AWSTextractModel.h index 9b24aa41452..7ce0630db81 100644 --- a/AWSTextract/AWSTextractModel.h +++ b/AWSTextract/AWSTextractModel.h @@ -25,6 +25,7 @@ typedef NS_ENUM(NSInteger, AWSTextractErrorType) { AWSTextractErrorUnknown, AWSTextractErrorAccessDenied, AWSTextractErrorBadDocument, + AWSTextractErrorConflict, AWSTextractErrorDocumentTooLarge, AWSTextractErrorHumanLoopQuotaExceeded, AWSTextractErrorIdempotentParameterMismatch, @@ -35,8 +36,26 @@ typedef NS_ENUM(NSInteger, AWSTextractErrorType) { AWSTextractErrorInvalidS3Object, AWSTextractErrorLimitExceeded, AWSTextractErrorProvisionedThroughputExceeded, + AWSTextractErrorResourceNotFound, + AWSTextractErrorServiceQuotaExceeded, AWSTextractErrorThrottling, AWSTextractErrorUnsupportedDocument, + AWSTextractErrorValidation, +}; + +typedef NS_ENUM(NSInteger, AWSTextractAdapterVersionStatus) { + AWSTextractAdapterVersionStatusUnknown, + AWSTextractAdapterVersionStatusActive, + AWSTextractAdapterVersionStatusAtRisk, + AWSTextractAdapterVersionStatusDeprecated, + AWSTextractAdapterVersionStatusCreationError, + AWSTextractAdapterVersionStatusCreationInProgress, +}; + +typedef NS_ENUM(NSInteger, AWSTextractAutoUpdate) { + AWSTextractAutoUpdateUnknown, + AWSTextractAutoUpdateEnabled, + AWSTextractAutoUpdateDisabled, }; typedef NS_ENUM(NSInteger, AWSTextractBlockType) { @@ -55,6 +74,16 @@ typedef NS_ENUM(NSInteger, AWSTextractBlockType) { AWSTextractBlockTypeSignature, AWSTextractBlockTypeTableTitle, AWSTextractBlockTypeTableFooter, + AWSTextractBlockTypeLayoutText, + AWSTextractBlockTypeLayoutTitle, + AWSTextractBlockTypeLayoutHeader, + AWSTextractBlockTypeLayoutFooter, + AWSTextractBlockTypeLayoutSectionHeader, + AWSTextractBlockTypeLayoutPageNumber, + AWSTextractBlockTypeLayoutList, + AWSTextractBlockTypeLayoutFigure, + AWSTextractBlockTypeLayoutTable, + AWSTextractBlockTypeLayoutKeyValue, }; typedef NS_ENUM(NSInteger, AWSTextractContentClassifier) { @@ -82,6 +111,7 @@ typedef NS_ENUM(NSInteger, AWSTextractFeatureType) { AWSTextractFeatureTypeForms, AWSTextractFeatureTypeQueries, AWSTextractFeatureTypeSignatures, + AWSTextractFeatureTypeLayout, }; typedef NS_ENUM(NSInteger, AWSTextractJobStatus) { @@ -122,6 +152,12 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { AWSTextractValueTypeDate, }; +@class AWSTextractAdapter; +@class AWSTextractAdapterOverview; +@class AWSTextractAdapterVersionDatasetConfig; +@class AWSTextractAdapterVersionEvaluationMetric; +@class AWSTextractAdapterVersionOverview; +@class AWSTextractAdaptersConfig; @class AWSTextractAnalyzeDocumentRequest; @class AWSTextractAnalyzeDocumentResponse; @class AWSTextractAnalyzeExpenseRequest; @@ -131,6 +167,14 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @class AWSTextractAnalyzeIDResponse; @class AWSTextractBlock; @class AWSTextractBoundingBox; +@class AWSTextractCreateAdapterRequest; +@class AWSTextractCreateAdapterResponse; +@class AWSTextractCreateAdapterVersionRequest; +@class AWSTextractCreateAdapterVersionResponse; +@class AWSTextractDeleteAdapterRequest; +@class AWSTextractDeleteAdapterResponse; +@class AWSTextractDeleteAdapterVersionRequest; +@class AWSTextractDeleteAdapterVersionResponse; @class AWSTextractDetectDocumentTextRequest; @class AWSTextractDetectDocumentTextResponse; @class AWSTextractDetectedSignature; @@ -138,6 +182,7 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @class AWSTextractDocumentGroup; @class AWSTextractDocumentLocation; @class AWSTextractDocumentMetadata; +@class AWSTextractEvaluationMetric; @class AWSTextractExpenseCurrency; @class AWSTextractExpenseDetection; @class AWSTextractExpenseDocument; @@ -146,6 +191,10 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @class AWSTextractExpenseType; @class AWSTextractExtraction; @class AWSTextractGeometry; +@class AWSTextractGetAdapterRequest; +@class AWSTextractGetAdapterResponse; +@class AWSTextractGetAdapterVersionRequest; +@class AWSTextractGetAdapterVersionResponse; @class AWSTextractGetDocumentAnalysisRequest; @class AWSTextractGetDocumentAnalysisResponse; @class AWSTextractGetDocumentTextDetectionRequest; @@ -168,6 +217,12 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @class AWSTextractLendingSummary; @class AWSTextractLineItemFields; @class AWSTextractLineItemGroup; +@class AWSTextractListAdapterVersionsRequest; +@class AWSTextractListAdapterVersionsResponse; +@class AWSTextractListAdaptersRequest; +@class AWSTextractListAdaptersResponse; +@class AWSTextractListTagsForResourceRequest; +@class AWSTextractListTagsForResourceResponse; @class AWSTextractNormalizedValue; @class AWSTextractNotificationChannel; @class AWSTextractOutputConfig; @@ -188,22 +243,173 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @class AWSTextractStartExpenseAnalysisResponse; @class AWSTextractStartLendingAnalysisRequest; @class AWSTextractStartLendingAnalysisResponse; +@class AWSTextractTagResourceRequest; +@class AWSTextractTagResourceResponse; @class AWSTextractUndetectedSignature; +@class AWSTextractUntagResourceRequest; +@class AWSTextractUntagResourceResponse; +@class AWSTextractUpdateAdapterRequest; +@class AWSTextractUpdateAdapterResponse; @class AWSTextractWarning; +/** +

An adapter selected for use when analyzing documents. Contains an adapter ID and a version number. Contains information on pages selected for analysis when analyzing documents asychronously.

+ Required parameters: [AdapterId, Version] + */ +@interface AWSTextractAdapter : AWSModel + + +/** +

A unique identifier for the adapter resource.

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

Pages is a parameter that the user inputs to specify which pages to apply an adapter to. The following is a list of rules for using this parameter.

  • If a page is not specified, it is set to ["1"] by default.

  • The following characters are allowed in the parameter's string: 0 1 2 3 4 5 6 7 8 9 - *. No whitespace is allowed.

  • When using * to indicate all pages, it must be the only element in the list.

  • You can use page intervals, such as ["1-3", "1-1", "4-*"]. Where * indicates last page of document.

  • Specified pages must be greater than 0 and less than or equal to the number of pages in the document.

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

A string that identifies the version of the adapter.

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

Contains information on the adapter, including the adapter ID, Name, Creation time, and feature types.

+ */ +@interface AWSTextractAdapterOverview : AWSModel + + +/** +

A unique identifier for the adapter resource.

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

A string naming the adapter resource.

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

The date and time that the adapter was created.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationTime; + +/** +

The feature types that the adapter is operating on.

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

The dataset configuration options for a given version of an adapter. Can include an Amazon S3 bucket if specified.

+ */ +@interface AWSTextractAdapterVersionDatasetConfig : AWSModel + + +/** +

The S3 bucket name and file name that identifies the document.

The AWS Region for the S3 bucket that contains the document must match the Region that you use for Amazon Textract operations.

For Amazon Textract to process a file in an S3 bucket, the user must have permission to access the S3 bucket and file.

+ */ +@property (nonatomic, strong) AWSTextractS3Object * _Nullable manifestS3Object; + +@end + +/** +

Contains information on the metrics used to evalute the peformance of a given adapter version. Includes data for baseline model performance and individual adapter version perfromance.

+ */ +@interface AWSTextractAdapterVersionEvaluationMetric : AWSModel + + +/** +

The F1 score, precision, and recall metrics for the baseline model.

+ */ +@property (nonatomic, strong) AWSTextractEvaluationMetric * _Nullable adapterVersion; + +/** +

The F1 score, precision, and recall metrics for the baseline model.

+ */ +@property (nonatomic, strong) AWSTextractEvaluationMetric * _Nullable baseline; + +/** +

Indicates the feature type being analyzed by a given adapter version.

+ */ +@property (nonatomic, assign) AWSTextractFeatureType featureType; + +@end + +/** +

Summary info for an adapter version. Contains information on the AdapterId, AdapterVersion, CreationTime, FeatureTypes, and Status.

+ */ +@interface AWSTextractAdapterVersionOverview : AWSModel + + +/** +

A unique identifier for the adapter associated with a given adapter version.

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

An identified for a given adapter version.

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

The date and time that a given adapter version was created.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationTime; + +/** +

The feature types that the adapter version is operating on.

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

Contains information on the status of a given adapter version.

+ */ +@property (nonatomic, assign) AWSTextractAdapterVersionStatus status; + +/** +

A message explaining the status of a given adapter vesion.

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

Contains information about adapters used when analyzing a document, with each adapter specified using an AdapterId and version

+ Required parameters: [Adapters] + */ +@interface AWSTextractAdaptersConfig : AWSModel + + +/** +

A list of adapters to be used when analyzing the specified document.

+ */ +@property (nonatomic, strong) NSArray * _Nullable adapters; + +@end + /** */ @interface AWSTextractAnalyzeDocumentRequest : AWSRequest +/** +

Specifies the adapter to be used when analyzing a document.

+ */ +@property (nonatomic, strong) AWSTextractAdaptersConfig * _Nullable adaptersConfig; + /**

The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Textract operations, you can't pass image bytes. The document must be an image in JPEG, PNG, PDF, or TIFF format.

If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes that are passed using the Bytes field.

*/ @property (nonatomic, strong) AWSTextractDocument * _Nullable document; /** -

A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. Add SIGNATURES to return the locations of detected signatures. To perform both forms and table analysis, add TABLES and FORMS to FeatureTypes. To detect signatures within form data and table data, add SIGNATURES to either TABLES or FORMS. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

+

A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. Add SIGNATURES to return the locations of detected signatures. Add LAYOUT to the list to return information about the layout of the document. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

*/ @property (nonatomic, strong) NSArray * _Nullable featureTypes; @@ -345,7 +551,7 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { /** -

The type of text item that's recognized. In operations for text detection, the following types are returned:

  • PAGE - Contains a list of the LINE Block objects that are detected on a document page.

  • WORD - A word detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

  • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

In text analysis operations, the following types are returned:

  • PAGE - Contains a list of child Block objects that are detected on a document page.

  • KEY_VALUE_SET - Stores the KEY and VALUE Block objects for linked text that's detected on a document page. Use the EntityType field to determine if a KEY_VALUE_SET object is a KEY Block object or a VALUE Block object.

  • WORD - A word that's detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

  • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

  • TABLE - A table that's detected on a document page. A table is grid-based information with two or more rows or columns, with a cell span of one row and one column each.

  • TABLE_TITLE - The title of a table. A title is typically a line of text above or below a table, or embedded as the first row of a table.

  • TABLE_FOOTER - The footer associated with a table. A footer is typically a line or lines of text below a table or embedded as the last row of a table.

  • CELL - A cell within a detected table. The cell is the parent of the block that contains the text in the cell.

  • MERGED_CELL - A cell in a table whose content spans more than one row or column. The Relationships array for this cell contain data from individual cells.

  • SELECTION_ELEMENT - A selection element such as an option button (radio button) or a check box that's detected on a document page. Use the value of SelectionStatus to determine the status of the selection element.

  • SIGNATURE - The location and confidene score of a signature detected on a document page. Can be returned as part of a Key-Value pair or a detected cell.

  • QUERY - A question asked during the call of AnalyzeDocument. Contains an alias and an ID that attaches it to its answer.

  • QUERY_RESULT - A response to a question asked during the call of analyze document. Comes with an alias and ID for ease of locating in a response. Also contains location and confidence score.

+

The type of text item that's recognized. In operations for text detection, the following types are returned:

  • PAGE - Contains a list of the LINE Block objects that are detected on a document page.

  • WORD - A word detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

  • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

In text analysis operations, the following types are returned:

  • PAGE - Contains a list of child Block objects that are detected on a document page.

  • KEY_VALUE_SET - Stores the KEY and VALUE Block objects for linked text that's detected on a document page. Use the EntityType field to determine if a KEY_VALUE_SET object is a KEY Block object or a VALUE Block object.

  • WORD - A word that's detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

  • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

  • TABLE - A table that's detected on a document page. A table is grid-based information with two or more rows or columns, with a cell span of one row and one column each.

  • TABLE_TITLE - The title of a table. A title is typically a line of text above or below a table, or embedded as the first row of a table.

  • TABLE_FOOTER - The footer associated with a table. A footer is typically a line or lines of text below a table or embedded as the last row of a table.

  • CELL - A cell within a detected table. The cell is the parent of the block that contains the text in the cell.

  • MERGED_CELL - A cell in a table whose content spans more than one row or column. The Relationships array for this cell contain data from individual cells.

  • SELECTION_ELEMENT - A selection element such as an option button (radio button) or a check box that's detected on a document page. Use the value of SelectionStatus to determine the status of the selection element.

  • SIGNATURE - The location and confidence score of a signature detected on a document page. Can be returned as part of a Key-Value pair or a detected cell.

  • QUERY - A question asked during the call of AnalyzeDocument. Contains an alias and an ID that attaches it to its answer.

  • QUERY_RESULT - A response to a question asked during the call of analyze document. Comes with an alias and ID for ease of locating in a response. Also contains location and confidence score.

The following BlockTypes are only returned for Amazon Textract Layout.

  • LAYOUT_TITLE - The main title of the document.

  • LAYOUT_HEADER - Text located in the top margin of the document.

  • LAYOUT_FOOTER - Text located in the bottom margin of the document.

  • LAYOUT_SECTION_HEADER - The titles of sections within a document.

  • LAYOUT_PAGE_NUMBER - The page number of the documents.

  • LAYOUT_LIST - Any information grouped together in list form.

  • LAYOUT_FIGURE - Indicates the location of an image in a document.

  • LAYOUT_TABLE - Indicates the location of a table in the document.

  • LAYOUT_KEY_VALUE - Indicates the location of form key-values in a document.

  • LAYOUT_TEXT - Text that is present typically as a part of paragraphs in documents.

*/ @property (nonatomic, assign) AWSTextractBlockType blockType; @@ -380,7 +586,7 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @property (nonatomic, strong) NSString * _Nullable identifier; /** -

The page on which a block was detected. Page is returned by synchronous and asynchronous operations. Page values greater than 1 are only returned for multipage documents that are in PDF or TIFF format. A scanned image (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple document pages, is considered a single-page document. This means that for scanned images the value of Page is always 1. Synchronous operations will also return a Page value of 1 because every input document is considered to be a single-page document.

+

The page on which a block was detected. Page is returned by synchronous and asynchronous operations. Page values greater than 1 are only returned for multipage documents that are in PDF or TIFF format. A scanned image (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple document pages, is considered a single-page document. This means that for scanned images the value of Page is always 1.

*/ @property (nonatomic, strong) NSNumber * _Nullable page; @@ -447,6 +653,160 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { */ @property (nonatomic, strong) NSNumber * _Nullable width; +@end + +/** + + */ +@interface AWSTextractCreateAdapterRequest : AWSRequest + + +/** +

The name to be assigned to the adapter being created.

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

Controls whether or not the adapter should automatically update.

+ */ +@property (nonatomic, assign) AWSTextractAutoUpdate autoUpdate; + +/** +

Idempotent token is used to recognize the request. If the same token is used with multiple CreateAdapter requests, the same session is returned. This token is employed to avoid unintentionally creating the same session multiple times.

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

The description to be assigned to the adapter being created.

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

The type of feature that the adapter is being trained on. Currrenly, supported feature types are: QUERIES

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

A list of tags to be added to the adapter.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + +@end + +/** + + */ +@interface AWSTextractCreateAdapterResponse : AWSModel + + +/** +

A string containing the unique ID for the adapter that has been created.

+ */ +@property (nonatomic, strong) NSString * _Nullable adapterId; + +@end + +/** + + */ +@interface AWSTextractCreateAdapterVersionRequest : AWSRequest + + +/** +

A string containing a unique ID for the adapter that will receive a new version.

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

Idempotent token is used to recognize the request. If the same token is used with multiple CreateAdapterVersion requests, the same session is returned. This token is employed to avoid unintentionally creating the same session multiple times.

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

Specifies a dataset used to train a new adapter version. Takes a ManifestS3Object as the value.

+ */ +@property (nonatomic, strong) AWSTextractAdapterVersionDatasetConfig * _Nullable datasetConfig; + +/** +

The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.

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

Sets whether or not your output will go to a user created bucket. Used to set the name of the bucket, and the prefix on the output file.

OutputConfig is an optional parameter which lets you adjust where your output will be placed. By default, Amazon Textract will store the results internally and can only be accessed by the Get API operations. With OutputConfig enabled, you can set the name of the bucket the output will be sent to the file prefix of the results where you can download your results. Additionally, you can set the KMSKeyID parameter to a customer master key (CMK) to encrypt your output. Without this parameter set Amazon Textract will encrypt server-side using the AWS managed CMK for Amazon S3.

Decryption of Customer Content is necessary for processing of the documents by Amazon Textract. If your account is opted out under an AI services opt out policy then all unencrypted Customer Content is immediately and permanently deleted after the Customer Content has been processed by the service. No copy of of the output is retained by Amazon Textract. For information about how to opt out, see Managing AI services opt-out policy.

For more information on data privacy, see the Data Privacy FAQ.

+ */ +@property (nonatomic, strong) AWSTextractOutputConfig * _Nullable outputConfig; + +/** +

A set of tags (key-value pairs) that you want to attach to the adapter version.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + +@end + +/** + + */ +@interface AWSTextractCreateAdapterVersionResponse : AWSModel + + +/** +

A string containing the unique ID for the adapter that has received a new version.

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

A string describing the new version of the adapter.

+ */ +@property (nonatomic, strong) NSString * _Nullable adapterVersion; + +@end + +/** + + */ +@interface AWSTextractDeleteAdapterRequest : AWSRequest + + +/** +

A string containing a unique ID for the adapter to be deleted.

+ */ +@property (nonatomic, strong) NSString * _Nullable adapterId; + +@end + +/** + + */ +@interface AWSTextractDeleteAdapterResponse : AWSModel + + +@end + +/** + + */ +@interface AWSTextractDeleteAdapterVersionRequest : AWSRequest + + +/** +

A string containing a unique ID for the adapter version that will be deleted.

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

Specifies the adapter version to be deleted.

+ */ +@property (nonatomic, strong) NSString * _Nullable adapterVersion; + +@end + +/** + + */ +@interface AWSTextractDeleteAdapterVersionResponse : AWSModel + + @end /** @@ -570,6 +930,29 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @end +/** +

The evaluation metrics (F1 score, Precision, and Recall) for an adapter version.

+ */ +@interface AWSTextractEvaluationMetric : AWSModel + + +/** +

The F1 score for an adapter version.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable f1Score; + +/** +

The Precision score for an adapter version.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable precision; + +/** +

The Recall score for an adapter version.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable recall; + +@end + /**

Returns the kind of currency detected.

*/ @@ -754,6 +1137,143 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @end +/** + + */ +@interface AWSTextractGetAdapterRequest : AWSRequest + + +/** +

A string containing a unique ID for the adapter.

+ */ +@property (nonatomic, strong) NSString * _Nullable adapterId; + +@end + +/** + + */ +@interface AWSTextractGetAdapterResponse : AWSModel + + +/** +

A string identifying the adapter that information has been retrieved for.

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

The name of the requested adapter.

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

Binary value indicating if the adapter is being automatically updated or not.

+ */ +@property (nonatomic, assign) AWSTextractAutoUpdate autoUpdate; + +/** +

The date and time the requested adapter was created at.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationTime; + +/** +

The description for the requested adapter.

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

List of the targeted feature types for the requested adapter.

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

A set of tags (key-value pairs) associated with the adapter that has been retrieved.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + +@end + +/** + + */ +@interface AWSTextractGetAdapterVersionRequest : AWSRequest + + +/** +

A string specifying a unique ID for the adapter version you want to retrieve information for.

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

A string specifying the adapter version you want to retrieve information for.

+ */ +@property (nonatomic, strong) NSString * _Nullable adapterVersion; + +@end + +/** + + */ +@interface AWSTextractGetAdapterVersionResponse : AWSModel + + +/** +

A string containing a unique ID for the adapter version being retrieved.

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

A string containing the adapter version that has been retrieved.

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

The time that the adapter version was created.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationTime; + +/** +

Specifies a dataset used to train a new adapter version. Takes a ManifestS3Objec as the value.

+ */ +@property (nonatomic, strong) AWSTextractAdapterVersionDatasetConfig * _Nullable datasetConfig; + +/** +

The evaluation metrics (F1 score, Precision, and Recall) for the requested version, grouped by baseline metrics and adapter version.

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

List of the targeted feature types for the requested adapter version.

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

The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.

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

Sets whether or not your output will go to a user created bucket. Used to set the name of the bucket, and the prefix on the output file.

OutputConfig is an optional parameter which lets you adjust where your output will be placed. By default, Amazon Textract will store the results internally and can only be accessed by the Get API operations. With OutputConfig enabled, you can set the name of the bucket the output will be sent to the file prefix of the results where you can download your results. Additionally, you can set the KMSKeyID parameter to a customer master key (CMK) to encrypt your output. Without this parameter set Amazon Textract will encrypt server-side using the AWS managed CMK for Amazon S3.

Decryption of Customer Content is necessary for processing of the documents by Amazon Textract. If your account is opted out under an AI services opt out policy then all unencrypted Customer Content is immediately and permanently deleted after the Customer Content has been processed by the service. No copy of of the output is retained by Amazon Textract. For information about how to opt out, see Managing AI services opt-out policy.

For more information on data privacy, see the Data Privacy FAQ.

+ */ +@property (nonatomic, strong) AWSTextractOutputConfig * _Nullable outputConfig; + +/** +

The status of the adapter version that has been requested.

+ */ +@property (nonatomic, assign) AWSTextractAdapterVersionStatus status; + +/** +

A message that describes the status of the requested adapter version.

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

A set of tags (key-value pairs) that are associated with the adapter version.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + +@end + /** */ @@ -1311,6 +1831,129 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @end +/** + + */ +@interface AWSTextractListAdapterVersionsRequest : AWSRequest + + +/** +

A string containing a unique ID for the adapter to match for when listing adapter versions.

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

Specifies the lower bound for the ListAdapterVersions operation. Ensures ListAdapterVersions returns only adapter versions created after the specified creation time.

+ */ +@property (nonatomic, strong) NSDate * _Nullable afterCreationTime; + +/** +

Specifies the upper bound for the ListAdapterVersions operation. Ensures ListAdapterVersions returns only adapter versions created after the specified creation time.

+ */ +@property (nonatomic, strong) NSDate * _Nullable beforeCreationTime; + +/** +

The maximum number of results to return when listing adapter versions.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

Identifies the next page of results to return when listing adapter versions.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSTextractListAdapterVersionsResponse : AWSModel + + +/** +

Adapter versions that match the filtering criteria specified when calling ListAdapters.

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

Identifies the next page of results to return when listing adapter versions.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSTextractListAdaptersRequest : AWSRequest + + +/** +

Specifies the lower bound for the ListAdapters operation. Ensures ListAdapters returns only adapters created after the specified creation time.

+ */ +@property (nonatomic, strong) NSDate * _Nullable afterCreationTime; + +/** +

Specifies the upper bound for the ListAdapters operation. Ensures ListAdapters returns only adapters created before the specified creation time.

+ */ +@property (nonatomic, strong) NSDate * _Nullable beforeCreationTime; + +/** +

The maximum number of results to return when listing adapters.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

Identifies the next page of results to return when listing adapters.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSTextractListAdaptersResponse : AWSModel + + +/** +

A list of adapters that matches the filtering criteria specified when calling ListAdapters.

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

Identifies the next page of results to return when listing adapters.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSTextractListTagsForResourceRequest : AWSRequest + + +/** +

The Amazon Resource Name (ARN) that specifies the resource to list tags for.

+ */ +@property (nonatomic, strong) NSString * _Nullable resourceARN; + +@end + +/** + + */ +@interface AWSTextractListTagsForResourceResponse : AWSModel + + +/** +

A set of tags (key-value pairs) that are part of the requested resource.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + +@end + /**

Contains information relating to dates in a document, including the type of value, and the value.

*/ @@ -1543,6 +2186,11 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @interface AWSTextractStartDocumentAnalysisRequest : AWSRequest +/** +

Specifies the adapter to be used when analyzing a document.

+ */ +@property (nonatomic, strong) AWSTextractAdaptersConfig * _Nullable adaptersConfig; + /**

The idempotent token that you use to identify the start request. If you use the same token with multiple StartDocumentAnalysis requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see Calling Amazon Textract Asynchronous Operations.

*/ @@ -1749,6 +2397,32 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { */ @property (nonatomic, strong) NSString * _Nullable jobId; +@end + +/** + + */ +@interface AWSTextractTagResourceRequest : AWSRequest + + +/** +

The Amazon Resource Name (ARN) that specifies the resource to be tagged.

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

A set of tags (key-value pairs) that you want to assign to the resource.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + +@end + +/** + + */ +@interface AWSTextractTagResourceResponse : AWSModel + + @end /** @@ -1764,6 +2438,98 @@ typedef NS_ENUM(NSInteger, AWSTextractValueType) { @end +/** + + */ +@interface AWSTextractUntagResourceRequest : AWSRequest + + +/** +

The Amazon Resource Name (ARN) that specifies the resource to be untagged.

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

Specifies the tags to be removed from the resource specified by the ResourceARN.

+ */ +@property (nonatomic, strong) NSArray * _Nullable tagKeys; + +@end + +/** + + */ +@interface AWSTextractUntagResourceResponse : AWSModel + + +@end + +/** + + */ +@interface AWSTextractUpdateAdapterRequest : AWSRequest + + +/** +

A string containing a unique ID for the adapter that will be updated.

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

The new name to be applied to the adapter.

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

The new auto-update status to be applied to the adapter.

+ */ +@property (nonatomic, assign) AWSTextractAutoUpdate autoUpdate; + +/** +

The new description to be applied to the adapter.

+ */ +@property (nonatomic, strong) NSString * _Nullable detail; + +@end + +/** + + */ +@interface AWSTextractUpdateAdapterResponse : AWSModel + + +/** +

A string containing a unique ID for the adapter that has been updated.

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

A string containing the name of the adapter that has been updated.

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

The auto-update status of the adapter that has been updated.

+ */ +@property (nonatomic, assign) AWSTextractAutoUpdate autoUpdate; + +/** +

An object specifying the creation time of the the adapter that has been updated.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationTime; + +/** +

A string containing the description of the adapter that has been updated.

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

List of the targeted feature types for the updated adapter.

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

A warning about an issue that occurred during asynchronous text analysis (StartDocumentAnalysis) or asynchronous document text detection (StartDocumentTextDetection).

*/ diff --git a/AWSTextract/AWSTextractModel.m b/AWSTextract/AWSTextractModel.m index 2f6eefacbdf..4700a8cdb8d 100644 --- a/AWSTextract/AWSTextractModel.m +++ b/AWSTextract/AWSTextractModel.m @@ -18,6 +18,206 @@ NSString *const AWSTextractErrorDomain = @"com.amazonaws.AWSTextractErrorDomain"; +@implementation AWSTextractAdapter + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + @"pages" : @"Pages", + @"version" : @"Version", + }; +} + +@end + +@implementation AWSTextractAdapterOverview + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + @"adapterName" : @"AdapterName", + @"creationTime" : @"CreationTime", + @"featureTypes" : @"FeatureTypes", + }; +} + ++ (NSValueTransformer *)creationTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + +@end + +@implementation AWSTextractAdapterVersionDatasetConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"manifestS3Object" : @"ManifestS3Object", + }; +} + ++ (NSValueTransformer *)manifestS3ObjectJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractS3Object class]]; +} + +@end + +@implementation AWSTextractAdapterVersionEvaluationMetric + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterVersion" : @"AdapterVersion", + @"baseline" : @"Baseline", + @"featureType" : @"FeatureType", + }; +} + ++ (NSValueTransformer *)adapterVersionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractEvaluationMetric class]]; +} + ++ (NSValueTransformer *)baselineJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractEvaluationMetric class]]; +} + ++ (NSValueTransformer *)featureTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"TABLES"] == NSOrderedSame) { + return @(AWSTextractFeatureTypeTables); + } + if ([value caseInsensitiveCompare:@"FORMS"] == NSOrderedSame) { + return @(AWSTextractFeatureTypeForms); + } + if ([value caseInsensitiveCompare:@"QUERIES"] == NSOrderedSame) { + return @(AWSTextractFeatureTypeQueries); + } + if ([value caseInsensitiveCompare:@"SIGNATURES"] == NSOrderedSame) { + return @(AWSTextractFeatureTypeSignatures); + } + if ([value caseInsensitiveCompare:@"LAYOUT"] == NSOrderedSame) { + return @(AWSTextractFeatureTypeLayout); + } + return @(AWSTextractFeatureTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSTextractFeatureTypeTables: + return @"TABLES"; + case AWSTextractFeatureTypeForms: + return @"FORMS"; + case AWSTextractFeatureTypeQueries: + return @"QUERIES"; + case AWSTextractFeatureTypeSignatures: + return @"SIGNATURES"; + case AWSTextractFeatureTypeLayout: + return @"LAYOUT"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSTextractAdapterVersionOverview + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + @"adapterVersion" : @"AdapterVersion", + @"creationTime" : @"CreationTime", + @"featureTypes" : @"FeatureTypes", + @"status" : @"Status", + @"statusMessage" : @"StatusMessage", + }; +} + ++ (NSValueTransformer *)creationTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ACTIVE"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusActive); + } + if ([value caseInsensitiveCompare:@"AT_RISK"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusAtRisk); + } + if ([value caseInsensitiveCompare:@"DEPRECATED"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusDeprecated); + } + if ([value caseInsensitiveCompare:@"CREATION_ERROR"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusCreationError); + } + if ([value caseInsensitiveCompare:@"CREATION_IN_PROGRESS"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusCreationInProgress); + } + return @(AWSTextractAdapterVersionStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSTextractAdapterVersionStatusActive: + return @"ACTIVE"; + case AWSTextractAdapterVersionStatusAtRisk: + return @"AT_RISK"; + case AWSTextractAdapterVersionStatusDeprecated: + return @"DEPRECATED"; + case AWSTextractAdapterVersionStatusCreationError: + return @"CREATION_ERROR"; + case AWSTextractAdapterVersionStatusCreationInProgress: + return @"CREATION_IN_PROGRESS"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSTextractAdaptersConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapters" : @"Adapters", + }; +} + ++ (NSValueTransformer *)adaptersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSTextractAdapter class]]; +} + +@end + @implementation AWSTextractAnalyzeDocumentRequest + (BOOL)supportsSecureCoding { @@ -26,6 +226,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"adaptersConfig" : @"AdaptersConfig", @"document" : @"Document", @"featureTypes" : @"FeatureTypes", @"humanLoopConfig" : @"HumanLoopConfig", @@ -33,6 +234,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)adaptersConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractAdaptersConfig class]]; +} + + (NSValueTransformer *)documentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractDocument class]]; } @@ -249,6 +454,36 @@ + (NSValueTransformer *)blockTypeJSONTransformer { if ([value caseInsensitiveCompare:@"TABLE_FOOTER"] == NSOrderedSame) { return @(AWSTextractBlockTypeTableFooter); } + if ([value caseInsensitiveCompare:@"LAYOUT_TEXT"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutText); + } + if ([value caseInsensitiveCompare:@"LAYOUT_TITLE"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutTitle); + } + if ([value caseInsensitiveCompare:@"LAYOUT_HEADER"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutHeader); + } + if ([value caseInsensitiveCompare:@"LAYOUT_FOOTER"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutFooter); + } + if ([value caseInsensitiveCompare:@"LAYOUT_SECTION_HEADER"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutSectionHeader); + } + if ([value caseInsensitiveCompare:@"LAYOUT_PAGE_NUMBER"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutPageNumber); + } + if ([value caseInsensitiveCompare:@"LAYOUT_LIST"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutList); + } + if ([value caseInsensitiveCompare:@"LAYOUT_FIGURE"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutFigure); + } + if ([value caseInsensitiveCompare:@"LAYOUT_TABLE"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutTable); + } + if ([value caseInsensitiveCompare:@"LAYOUT_KEY_VALUE"] == NSOrderedSame) { + return @(AWSTextractBlockTypeLayoutKeyValue); + } return @(AWSTextractBlockTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -280,6 +515,26 @@ + (NSValueTransformer *)blockTypeJSONTransformer { return @"TABLE_TITLE"; case AWSTextractBlockTypeTableFooter: return @"TABLE_FOOTER"; + case AWSTextractBlockTypeLayoutText: + return @"LAYOUT_TEXT"; + case AWSTextractBlockTypeLayoutTitle: + return @"LAYOUT_TITLE"; + case AWSTextractBlockTypeLayoutHeader: + return @"LAYOUT_HEADER"; + case AWSTextractBlockTypeLayoutFooter: + return @"LAYOUT_FOOTER"; + case AWSTextractBlockTypeLayoutSectionHeader: + return @"LAYOUT_SECTION_HEADER"; + case AWSTextractBlockTypeLayoutPageNumber: + return @"LAYOUT_PAGE_NUMBER"; + case AWSTextractBlockTypeLayoutList: + return @"LAYOUT_LIST"; + case AWSTextractBlockTypeLayoutFigure: + return @"LAYOUT_FIGURE"; + case AWSTextractBlockTypeLayoutTable: + return @"LAYOUT_TABLE"; + case AWSTextractBlockTypeLayoutKeyValue: + return @"LAYOUT_KEY_VALUE"; default: return nil; } @@ -359,6 +614,147 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSTextractCreateAdapterRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterName" : @"AdapterName", + @"autoUpdate" : @"AutoUpdate", + @"clientRequestToken" : @"ClientRequestToken", + @"detail" : @"Description", + @"featureTypes" : @"FeatureTypes", + @"tags" : @"Tags", + }; +} + ++ (NSValueTransformer *)autoUpdateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ENABLED"] == NSOrderedSame) { + return @(AWSTextractAutoUpdateEnabled); + } + if ([value caseInsensitiveCompare:@"DISABLED"] == NSOrderedSame) { + return @(AWSTextractAutoUpdateDisabled); + } + return @(AWSTextractAutoUpdateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSTextractAutoUpdateEnabled: + return @"ENABLED"; + case AWSTextractAutoUpdateDisabled: + return @"DISABLED"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSTextractCreateAdapterResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + }; +} + +@end + +@implementation AWSTextractCreateAdapterVersionRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + @"clientRequestToken" : @"ClientRequestToken", + @"datasetConfig" : @"DatasetConfig", + @"KMSKeyId" : @"KMSKeyId", + @"outputConfig" : @"OutputConfig", + @"tags" : @"Tags", + }; +} + ++ (NSValueTransformer *)datasetConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractAdapterVersionDatasetConfig class]]; +} + ++ (NSValueTransformer *)outputConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractOutputConfig class]]; +} + +@end + +@implementation AWSTextractCreateAdapterVersionResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + @"adapterVersion" : @"AdapterVersion", + }; +} + +@end + +@implementation AWSTextractDeleteAdapterRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + }; +} + +@end + +@implementation AWSTextractDeleteAdapterResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + +@implementation AWSTextractDeleteAdapterVersionRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + @"adapterVersion" : @"AdapterVersion", + }; +} + +@end + +@implementation AWSTextractDeleteAdapterVersionResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + @implementation AWSTextractDetectDocumentTextRequest + (BOOL)supportsSecureCoding { @@ -495,6 +891,22 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSTextractEvaluationMetric + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"f1Score" : @"F1Score", + @"precision" : @"Precision", + @"recall" : @"Recall", + }; +} + +@end + @implementation AWSTextractExpenseCurrency + (BOOL)supportsSecureCoding { @@ -598,7 +1010,88 @@ + (NSValueTransformer *)valueDetectionJSONTransformer { @end -@implementation AWSTextractExpenseGroupProperty +@implementation AWSTextractExpenseGroupProperty + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"identifier" : @"Id", + @"types" : @"Types", + }; +} + +@end + +@implementation AWSTextractExpenseType + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"confidence" : @"Confidence", + @"text" : @"Text", + }; +} + +@end + +@implementation AWSTextractExtraction + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"expenseDocument" : @"ExpenseDocument", + @"identityDocument" : @"IdentityDocument", + @"lendingDocument" : @"LendingDocument", + }; +} + ++ (NSValueTransformer *)expenseDocumentJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractExpenseDocument class]]; +} + ++ (NSValueTransformer *)identityDocumentJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractIdentityDocument class]]; +} + ++ (NSValueTransformer *)lendingDocumentJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractLendingDocument class]]; +} + +@end + +@implementation AWSTextractGeometry + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"boundingBox" : @"BoundingBox", + @"polygon" : @"Polygon", + }; +} + ++ (NSValueTransformer *)boundingBoxJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractBoundingBox class]]; +} + ++ (NSValueTransformer *)polygonJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSTextractPoint class]]; +} + +@end + +@implementation AWSTextractGetAdapterRequest + (BOOL)supportsSecureCoding { return YES; @@ -606,14 +1099,13 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"identifier" : @"Id", - @"types" : @"Types", + @"adapterId" : @"AdapterId", }; } @end -@implementation AWSTextractExpenseType +@implementation AWSTextractGetAdapterResponse + (BOOL)supportsSecureCoding { return YES; @@ -621,14 +1113,48 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"confidence" : @"Confidence", - @"text" : @"Text", + @"adapterId" : @"AdapterId", + @"adapterName" : @"AdapterName", + @"autoUpdate" : @"AutoUpdate", + @"creationTime" : @"CreationTime", + @"detail" : @"Description", + @"featureTypes" : @"FeatureTypes", + @"tags" : @"Tags", }; } ++ (NSValueTransformer *)autoUpdateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ENABLED"] == NSOrderedSame) { + return @(AWSTextractAutoUpdateEnabled); + } + if ([value caseInsensitiveCompare:@"DISABLED"] == NSOrderedSame) { + return @(AWSTextractAutoUpdateDisabled); + } + return @(AWSTextractAutoUpdateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSTextractAutoUpdateEnabled: + return @"ENABLED"; + case AWSTextractAutoUpdateDisabled: + return @"DISABLED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)creationTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + @end -@implementation AWSTextractExtraction +@implementation AWSTextractGetAdapterVersionRequest + (BOOL)supportsSecureCoding { return YES; @@ -636,27 +1162,14 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"expenseDocument" : @"ExpenseDocument", - @"identityDocument" : @"IdentityDocument", - @"lendingDocument" : @"LendingDocument", + @"adapterId" : @"AdapterId", + @"adapterVersion" : @"AdapterVersion", }; } -+ (NSValueTransformer *)expenseDocumentJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractExpenseDocument class]]; -} - -+ (NSValueTransformer *)identityDocumentJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractIdentityDocument class]]; -} - -+ (NSValueTransformer *)lendingDocumentJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractLendingDocument class]]; -} - @end -@implementation AWSTextractGeometry +@implementation AWSTextractGetAdapterVersionResponse + (BOOL)supportsSecureCoding { return YES; @@ -664,17 +1177,74 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ - @"boundingBox" : @"BoundingBox", - @"polygon" : @"Polygon", + @"adapterId" : @"AdapterId", + @"adapterVersion" : @"AdapterVersion", + @"creationTime" : @"CreationTime", + @"datasetConfig" : @"DatasetConfig", + @"evaluationMetrics" : @"EvaluationMetrics", + @"featureTypes" : @"FeatureTypes", + @"KMSKeyId" : @"KMSKeyId", + @"outputConfig" : @"OutputConfig", + @"status" : @"Status", + @"statusMessage" : @"StatusMessage", + @"tags" : @"Tags", }; } -+ (NSValueTransformer *)boundingBoxJSONTransformer { - return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractBoundingBox class]]; ++ (NSValueTransformer *)creationTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; } -+ (NSValueTransformer *)polygonJSONTransformer { - return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSTextractPoint class]]; ++ (NSValueTransformer *)datasetConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractAdapterVersionDatasetConfig class]]; +} + ++ (NSValueTransformer *)evaluationMetricsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSTextractAdapterVersionEvaluationMetric class]]; +} + ++ (NSValueTransformer *)outputConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractOutputConfig class]]; +} + ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ACTIVE"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusActive); + } + if ([value caseInsensitiveCompare:@"AT_RISK"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusAtRisk); + } + if ([value caseInsensitiveCompare:@"DEPRECATED"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusDeprecated); + } + if ([value caseInsensitiveCompare:@"CREATION_ERROR"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusCreationError); + } + if ([value caseInsensitiveCompare:@"CREATION_IN_PROGRESS"] == NSOrderedSame) { + return @(AWSTextractAdapterVersionStatusCreationInProgress); + } + return @(AWSTextractAdapterVersionStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSTextractAdapterVersionStatusActive: + return @"ACTIVE"; + case AWSTextractAdapterVersionStatusAtRisk: + return @"AT_RISK"; + case AWSTextractAdapterVersionStatusDeprecated: + return @"DEPRECATED"; + case AWSTextractAdapterVersionStatusCreationError: + return @"CREATION_ERROR"; + case AWSTextractAdapterVersionStatusCreationInProgress: + return @"CREATION_IN_PROGRESS"; + default: + return nil; + } + }]; } @end @@ -1337,6 +1907,139 @@ + (NSValueTransformer *)lineItemsJSONTransformer { @end +@implementation AWSTextractListAdapterVersionsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + @"afterCreationTime" : @"AfterCreationTime", + @"beforeCreationTime" : @"BeforeCreationTime", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)afterCreationTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)beforeCreationTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + +@end + +@implementation AWSTextractListAdapterVersionsResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterVersions" : @"AdapterVersions", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)adapterVersionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSTextractAdapterVersionOverview class]]; +} + +@end + +@implementation AWSTextractListAdaptersRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"afterCreationTime" : @"AfterCreationTime", + @"beforeCreationTime" : @"BeforeCreationTime", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)afterCreationTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)beforeCreationTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + +@end + +@implementation AWSTextractListAdaptersResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapters" : @"Adapters", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)adaptersJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSTextractAdapterOverview class]]; +} + +@end + +@implementation AWSTextractListTagsForResourceRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"resourceARN" : @"ResourceARN", + }; +} + +@end + +@implementation AWSTextractListTagsForResourceResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"tags" : @"Tags", + }; +} + +@end + @implementation AWSTextractNormalizedValue + (BOOL)supportsSecureCoding { @@ -1614,6 +2317,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"adaptersConfig" : @"AdaptersConfig", @"clientRequestToken" : @"ClientRequestToken", @"documentLocation" : @"DocumentLocation", @"featureTypes" : @"FeatureTypes", @@ -1625,6 +2329,10 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { }; } ++ (NSValueTransformer *)adaptersConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractAdaptersConfig class]]; +} + + (NSValueTransformer *)documentLocationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSTextractDocumentLocation class]]; } @@ -1792,6 +2500,29 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSTextractTagResourceRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"resourceARN" : @"ResourceARN", + @"tags" : @"Tags", + }; +} + +@end + +@implementation AWSTextractTagResourceResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + @implementation AWSTextractUndetectedSignature + (BOOL)supportsSecureCoding { @@ -1806,6 +2537,115 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSTextractUntagResourceRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"resourceARN" : @"ResourceARN", + @"tagKeys" : @"TagKeys", + }; +} + +@end + +@implementation AWSTextractUntagResourceResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + +@implementation AWSTextractUpdateAdapterRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + @"adapterName" : @"AdapterName", + @"autoUpdate" : @"AutoUpdate", + @"detail" : @"Description", + }; +} + ++ (NSValueTransformer *)autoUpdateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ENABLED"] == NSOrderedSame) { + return @(AWSTextractAutoUpdateEnabled); + } + if ([value caseInsensitiveCompare:@"DISABLED"] == NSOrderedSame) { + return @(AWSTextractAutoUpdateDisabled); + } + return @(AWSTextractAutoUpdateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSTextractAutoUpdateEnabled: + return @"ENABLED"; + case AWSTextractAutoUpdateDisabled: + return @"DISABLED"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSTextractUpdateAdapterResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"adapterId" : @"AdapterId", + @"adapterName" : @"AdapterName", + @"autoUpdate" : @"AutoUpdate", + @"creationTime" : @"CreationTime", + @"detail" : @"Description", + @"featureTypes" : @"FeatureTypes", + }; +} + ++ (NSValueTransformer *)autoUpdateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ENABLED"] == NSOrderedSame) { + return @(AWSTextractAutoUpdateEnabled); + } + if ([value caseInsensitiveCompare:@"DISABLED"] == NSOrderedSame) { + return @(AWSTextractAutoUpdateDisabled); + } + return @(AWSTextractAutoUpdateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSTextractAutoUpdateEnabled: + return @"ENABLED"; + case AWSTextractAutoUpdateDisabled: + return @"DISABLED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)creationTimeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + +@end + @implementation AWSTextractWarning + (BOOL)supportsSecureCoding { diff --git a/AWSTextract/AWSTextractResources.m b/AWSTextract/AWSTextractResources.m index 3f8ff56aa2c..c2e170b95eb 100644 --- a/AWSTextract/AWSTextractResources.m +++ b/AWSTextract/AWSTextractResources.m @@ -134,6 +134,97 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Analyzes identity documents for relevant information. This information is extracted and returned as IdentityDocumentFields, which records both the normalized field and value of the extracted text. Unlike other Amazon Textract operations, AnalyzeID doesn't return any Geometry data.

\"\ },\ + \"CreateAdapter\":{\ + \"name\":\"CreateAdapter\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"CreateAdapterRequest\"},\ + \"output\":{\"shape\":\"CreateAdapterResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ConflictException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"IdempotentParameterMismatchException\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"LimitExceededException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ServiceQuotaExceededException\"}\ + ],\ + \"documentation\":\"

Creates an adapter, which can be fine-tuned for enhanced performance on user provided documents. Takes an AdapterName and FeatureType. Currently the only supported feature type is QUERIES. You can also provide a Description, Tags, and a ClientRequestToken. You can choose whether or not the adapter should be AutoUpdated with the AutoUpdate argument. By default, AutoUpdate is set to DISABLED.

\",\ + \"idempotent\":true\ + },\ + \"CreateAdapterVersion\":{\ + \"name\":\"CreateAdapterVersion\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"CreateAdapterVersionRequest\"},\ + \"output\":{\"shape\":\"CreateAdapterVersionResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"InvalidS3ObjectException\"},\ + {\"shape\":\"InvalidKMSKeyException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"IdempotentParameterMismatchException\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"LimitExceededException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ServiceQuotaExceededException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ConflictException\"}\ + ],\ + \"documentation\":\"

Creates a new version of an adapter. Operates on a provided AdapterId and a specified dataset provided via the DatasetConfig argument. Requires that you specify an Amazon S3 bucket with the OutputConfig argument. You can provide an optional KMSKeyId, an optional ClientRequestToken, and optional tags.

\",\ + \"idempotent\":true\ + },\ + \"DeleteAdapter\":{\ + \"name\":\"DeleteAdapter\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DeleteAdapterRequest\"},\ + \"output\":{\"shape\":\"DeleteAdapterResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ConflictException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ResourceNotFoundException\"}\ + ],\ + \"documentation\":\"

Deletes an Amazon Textract adapter. Takes an AdapterId and deletes the adapter specified by the ID.

\",\ + \"idempotent\":true\ + },\ + \"DeleteAdapterVersion\":{\ + \"name\":\"DeleteAdapterVersion\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DeleteAdapterVersionRequest\"},\ + \"output\":{\"shape\":\"DeleteAdapterVersionResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ConflictException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ResourceNotFoundException\"}\ + ],\ + \"documentation\":\"

Deletes an Amazon Textract adapter version. Requires that you specify both an AdapterId and a AdapterVersion. Deletes the adapter version specified by the AdapterId and the AdapterVersion.

\",\ + \"idempotent\":true\ + },\ \"DetectDocumentText\":{\ \"name\":\"DetectDocumentText\",\ \"http\":{\ @@ -155,6 +246,44 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Detects text in the input document. Amazon Textract can detect lines of text and the words that make up a line of text. The input document must be in one of the following image formats: JPEG, PNG, PDF, or TIFF. DetectDocumentText returns the detected text in an array of Block objects.

Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD.

DetectDocumentText is a synchronous operation. To analyze documents asynchronously, use StartDocumentTextDetection.

For more information, see Document Text Detection.

\"\ },\ + \"GetAdapter\":{\ + \"name\":\"GetAdapter\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetAdapterRequest\"},\ + \"output\":{\"shape\":\"GetAdapterResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ResourceNotFoundException\"}\ + ],\ + \"documentation\":\"

Gets configuration information for an adapter specified by an AdapterId, returning information on AdapterName, Description, CreationTime, AutoUpdate status, and FeatureTypes.

\"\ + },\ + \"GetAdapterVersion\":{\ + \"name\":\"GetAdapterVersion\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetAdapterVersionRequest\"},\ + \"output\":{\"shape\":\"GetAdapterVersionResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ResourceNotFoundException\"}\ + ],\ + \"documentation\":\"

Gets configuration information for the specified adapter version, including: AdapterId, AdapterVersion, FeatureTypes, Status, StatusMessage, DatasetConfig, KMSKeyId, OutputConfig, Tags and EvaluationMetrics.

\"\ + },\ \"GetDocumentAnalysis\":{\ \"name\":\"GetDocumentAnalysis\",\ \"http\":{\ @@ -255,6 +384,62 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Gets summarized results for the StartLendingAnalysis operation, which analyzes text in a lending document. The returned summary consists of information about documents grouped together by a common document type. Information like detected signatures, page numbers, and split documents is returned with respect to the type of grouped document.

You start asynchronous text analysis by calling StartLendingAnalysis, which returns a job identifier (JobId). When the text analysis operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartLendingAnalysis.

To get the results of the text analysis operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLendingAnalysisSummary, and pass the job identifier (JobId) from the initial call to StartLendingAnalysis.

\"\ },\ + \"ListAdapterVersions\":{\ + \"name\":\"ListAdapterVersions\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ListAdapterVersionsRequest\"},\ + \"output\":{\"shape\":\"ListAdapterVersionsResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ResourceNotFoundException\"}\ + ],\ + \"documentation\":\"

List all version of an adapter that meet the specified filtration criteria.

\"\ + },\ + \"ListAdapters\":{\ + \"name\":\"ListAdapters\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ListAdaptersRequest\"},\ + \"output\":{\"shape\":\"ListAdaptersResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"}\ + ],\ + \"documentation\":\"

Lists all adapters that match the specified filtration criteria.

\"\ + },\ + \"ListTagsForResource\":{\ + \"name\":\"ListTagsForResource\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ListTagsForResourceRequest\"},\ + \"output\":{\"shape\":\"ListTagsForResourceResponse\"},\ + \"errors\":[\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"}\ + ],\ + \"documentation\":\"

Lists all tags for an Amazon Textract resource.

\"\ + },\ \"StartDocumentAnalysis\":{\ \"name\":\"StartDocumentAnalysis\",\ \"http\":{\ @@ -350,6 +535,65 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededException\"}\ ],\ \"documentation\":\"

Starts the classification and analysis of an input document. StartLendingAnalysis initiates the classification and analysis of a packet of lending documents. StartLendingAnalysis operates on a document file located in an Amazon S3 bucket.

StartLendingAnalysis can analyze text in documents that are in one of the following formats: JPEG, PNG, TIFF, PDF. Use DocumentLocation to specify the bucket name and the file name of the document.

StartLendingAnalysis returns a job identifier (JobId) that you use to get the results of the operation. When the text analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text analysis operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If the status is SUCCEEDED you can call either GetLendingAnalysis or GetLendingAnalysisSummary and provide the JobId to obtain the results of the analysis.

If using OutputConfig to specify an Amazon S3 bucket, the output will be contained within the specified prefix in a directory labeled with the job-id. In the directory there are 3 sub-directories:

  • detailedResponse (contains the GetLendingAnalysis response)

  • summaryResponse (for the GetLendingAnalysisSummary response)

  • splitDocuments (documents split across logical boundaries)

\"\ + },\ + \"TagResource\":{\ + \"name\":\"TagResource\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"TagResourceRequest\"},\ + \"output\":{\"shape\":\"TagResourceResponse\"},\ + \"errors\":[\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ServiceQuotaExceededException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"}\ + ],\ + \"documentation\":\"

Adds one or more tags to the specified resource.

\"\ + },\ + \"UntagResource\":{\ + \"name\":\"UntagResource\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"UntagResourceRequest\"},\ + \"output\":{\"shape\":\"UntagResourceResponse\"},\ + \"errors\":[\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"}\ + ],\ + \"documentation\":\"

Removes any tags with the specified keys from the specified resource.

\"\ + },\ + \"UpdateAdapter\":{\ + \"name\":\"UpdateAdapter\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"UpdateAdapterRequest\"},\ + \"output\":{\"shape\":\"UpdateAdapterResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"ConflictException\"},\ + {\"shape\":\"ProvisionedThroughputExceededException\"},\ + {\"shape\":\"InternalServerError\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ValidationException\"},\ + {\"shape\":\"ResourceNotFoundException\"}\ + ],\ + \"documentation\":\"

Update the configuration for an adapter. FeatureTypes configurations cannot be updated. At least one new parameter must be specified as an argument.

\"\ }\ },\ \"shapes\":{\ @@ -360,6 +604,188 @@ - (NSString *)definitionString { \"documentation\":\"

You aren't authorized to perform the action. Use the Amazon Resource Name (ARN) of an authorized user or IAM role to perform the operation.

\",\ \"exception\":true\ },\ + \"Adapter\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"AdapterId\",\ + \"Version\"\ + ],\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A unique identifier for the adapter resource.

\"\ + },\ + \"Pages\":{\ + \"shape\":\"AdapterPages\",\ + \"documentation\":\"

Pages is a parameter that the user inputs to specify which pages to apply an adapter to. The following is a list of rules for using this parameter.

  • If a page is not specified, it is set to [\\\"1\\\"] by default.

  • The following characters are allowed in the parameter's string: 0 1 2 3 4 5 6 7 8 9 - *. No whitespace is allowed.

  • When using * to indicate all pages, it must be the only element in the list.

  • You can use page intervals, such as [\\\"1-3\\\", \\\"1-1\\\", \\\"4-*\\\"]. Where * indicates last page of document.

  • Specified pages must be greater than 0 and less than or equal to the number of pages in the document.

\"\ + },\ + \"Version\":{\ + \"shape\":\"AdapterVersion\",\ + \"documentation\":\"

A string that identifies the version of the adapter.

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

An adapter selected for use when analyzing documents. Contains an adapter ID and a version number. Contains information on pages selected for analysis when analyzing documents asychronously.

\"\ + },\ + \"AdapterDescription\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"min\":1,\ + \"pattern\":\"^[a-zA-Z0-9\\\\s!\\\"\\\\#\\\\$%'&\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\./:;=\\\\?@\\\\[\\\\\\\\\\\\]\\\\^_`\\\\{\\\\|\\\\}~><]+$\"\ + },\ + \"AdapterId\":{\ + \"type\":\"string\",\ + \"max\":1011,\ + \"min\":12\ + },\ + \"AdapterList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"AdapterOverview\"}\ + },\ + \"AdapterName\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1,\ + \"pattern\":\"[a-zA-Z0-9-_]+\"\ + },\ + \"AdapterOverview\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A unique identifier for the adapter resource.

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

A string naming the adapter resource.

\"\ + },\ + \"CreationTime\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

The date and time that the adapter was created.

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

The feature types that the adapter is operating on.

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

Contains information on the adapter, including the adapter ID, Name, Creation time, and feature types.

\"\ + },\ + \"AdapterPage\":{\ + \"type\":\"string\",\ + \"max\":9,\ + \"min\":1,\ + \"pattern\":\"^[0-9\\\\*\\\\-]+$\"\ + },\ + \"AdapterPages\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"AdapterPage\"},\ + \"min\":1\ + },\ + \"AdapterVersion\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1\ + },\ + \"AdapterVersionDatasetConfig\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ManifestS3Object\":{\"shape\":\"S3Object\"}\ + },\ + \"documentation\":\"

The dataset configuration options for a given version of an adapter. Can include an Amazon S3 bucket if specified.

\"\ + },\ + \"AdapterVersionEvaluationMetric\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Baseline\":{\ + \"shape\":\"EvaluationMetric\",\ + \"documentation\":\"

The F1 score, precision, and recall metrics for the baseline model.

\"\ + },\ + \"AdapterVersion\":{\ + \"shape\":\"EvaluationMetric\",\ + \"documentation\":\"

The F1 score, precision, and recall metrics for the baseline model.

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

Indicates the feature type being analyzed by a given adapter version.

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

Contains information on the metrics used to evalute the peformance of a given adapter version. Includes data for baseline model performance and individual adapter version perfromance.

\"\ + },\ + \"AdapterVersionEvaluationMetrics\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"AdapterVersionEvaluationMetric\"}\ + },\ + \"AdapterVersionList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"AdapterVersionOverview\"}\ + },\ + \"AdapterVersionOverview\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A unique identifier for the adapter associated with a given adapter version.

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

An identified for a given adapter version.

\"\ + },\ + \"CreationTime\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

The date and time that a given adapter version was created.

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

The feature types that the adapter version is operating on.

\"\ + },\ + \"Status\":{\ + \"shape\":\"AdapterVersionStatus\",\ + \"documentation\":\"

Contains information on the status of a given adapter version.

\"\ + },\ + \"StatusMessage\":{\ + \"shape\":\"AdapterVersionStatusMessage\",\ + \"documentation\":\"

A message explaining the status of a given adapter vesion.

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

Summary info for an adapter version. Contains information on the AdapterId, AdapterVersion, CreationTime, FeatureTypes, and Status.

\"\ + },\ + \"AdapterVersionStatus\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"ACTIVE\",\ + \"AT_RISK\",\ + \"DEPRECATED\",\ + \"CREATION_ERROR\",\ + \"CREATION_IN_PROGRESS\"\ + ]\ + },\ + \"AdapterVersionStatusMessage\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"min\":1,\ + \"pattern\":\"^[a-zA-Z0-9\\\\s!\\\"\\\\#\\\\$%'&\\\\(\\\\)\\\\*\\\\+\\\\,\\\\-\\\\./:;=\\\\?@\\\\[\\\\\\\\\\\\]\\\\^_`\\\\{\\\\|\\\\}~><]+$\"\ + },\ + \"Adapters\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"Adapter\"},\ + \"max\":100,\ + \"min\":1\ + },\ + \"AdaptersConfig\":{\ + \"type\":\"structure\",\ + \"required\":[\"Adapters\"],\ + \"members\":{\ + \"Adapters\":{\ + \"shape\":\"Adapters\",\ + \"documentation\":\"

A list of adapters to be used when analyzing the specified document.

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

Contains information about adapters used when analyzing a document, with each adapter specified using an AdapterId and version

\"\ + },\ + \"AmazonResourceName\":{\ + \"type\":\"string\",\ + \"max\":1011,\ + \"min\":1\ + },\ \"AnalyzeDocumentRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -373,7 +799,7 @@ - (NSString *)definitionString { },\ \"FeatureTypes\":{\ \"shape\":\"FeatureTypes\",\ - \"documentation\":\"

A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. Add SIGNATURES to return the locations of detected signatures. To perform both forms and table analysis, add TABLES and FORMS to FeatureTypes. To detect signatures within form data and table data, add SIGNATURES to either TABLES or FORMS. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

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

A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. Add SIGNATURES to return the locations of detected signatures. Add LAYOUT to the list to return information about the layout of the document. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

\"\ },\ \"HumanLoopConfig\":{\ \"shape\":\"HumanLoopConfig\",\ @@ -382,6 +808,10 @@ - (NSString *)definitionString { \"QueriesConfig\":{\ \"shape\":\"QueriesConfig\",\ \"documentation\":\"

Contains Queries and the alias for those Queries, as determined by the input.

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

Specifies the adapter to be used when analyzing a document.

\"\ }\ }\ },\ @@ -466,6 +896,13 @@ - (NSString *)definitionString { }\ }\ },\ + \"AutoUpdate\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"ENABLED\",\ + \"DISABLED\"\ + ]\ + },\ \"BadDocumentException\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -478,7 +915,7 @@ - (NSString *)definitionString { \"members\":{\ \"BlockType\":{\ \"shape\":\"BlockType\",\ - \"documentation\":\"

The type of text item that's recognized. In operations for text detection, the following types are returned:

  • PAGE - Contains a list of the LINE Block objects that are detected on a document page.

  • WORD - A word detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

  • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

In text analysis operations, the following types are returned:

  • PAGE - Contains a list of child Block objects that are detected on a document page.

  • KEY_VALUE_SET - Stores the KEY and VALUE Block objects for linked text that's detected on a document page. Use the EntityType field to determine if a KEY_VALUE_SET object is a KEY Block object or a VALUE Block object.

  • WORD - A word that's detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

  • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

  • TABLE - A table that's detected on a document page. A table is grid-based information with two or more rows or columns, with a cell span of one row and one column each.

  • TABLE_TITLE - The title of a table. A title is typically a line of text above or below a table, or embedded as the first row of a table.

  • TABLE_FOOTER - The footer associated with a table. A footer is typically a line or lines of text below a table or embedded as the last row of a table.

  • CELL - A cell within a detected table. The cell is the parent of the block that contains the text in the cell.

  • MERGED_CELL - A cell in a table whose content spans more than one row or column. The Relationships array for this cell contain data from individual cells.

  • SELECTION_ELEMENT - A selection element such as an option button (radio button) or a check box that's detected on a document page. Use the value of SelectionStatus to determine the status of the selection element.

  • SIGNATURE - The location and confidene score of a signature detected on a document page. Can be returned as part of a Key-Value pair or a detected cell.

  • QUERY - A question asked during the call of AnalyzeDocument. Contains an alias and an ID that attaches it to its answer.

  • QUERY_RESULT - A response to a question asked during the call of analyze document. Comes with an alias and ID for ease of locating in a response. Also contains location and confidence score.

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

The type of text item that's recognized. In operations for text detection, the following types are returned:

  • PAGE - Contains a list of the LINE Block objects that are detected on a document page.

  • WORD - A word detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

  • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

In text analysis operations, the following types are returned:

  • PAGE - Contains a list of child Block objects that are detected on a document page.

  • KEY_VALUE_SET - Stores the KEY and VALUE Block objects for linked text that's detected on a document page. Use the EntityType field to determine if a KEY_VALUE_SET object is a KEY Block object or a VALUE Block object.

  • WORD - A word that's detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

  • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

  • TABLE - A table that's detected on a document page. A table is grid-based information with two or more rows or columns, with a cell span of one row and one column each.

  • TABLE_TITLE - The title of a table. A title is typically a line of text above or below a table, or embedded as the first row of a table.

  • TABLE_FOOTER - The footer associated with a table. A footer is typically a line or lines of text below a table or embedded as the last row of a table.

  • CELL - A cell within a detected table. The cell is the parent of the block that contains the text in the cell.

  • MERGED_CELL - A cell in a table whose content spans more than one row or column. The Relationships array for this cell contain data from individual cells.

  • SELECTION_ELEMENT - A selection element such as an option button (radio button) or a check box that's detected on a document page. Use the value of SelectionStatus to determine the status of the selection element.

  • SIGNATURE - The location and confidence score of a signature detected on a document page. Can be returned as part of a Key-Value pair or a detected cell.

  • QUERY - A question asked during the call of AnalyzeDocument. Contains an alias and an ID that attaches it to its answer.

  • QUERY_RESULT - A response to a question asked during the call of analyze document. Comes with an alias and ID for ease of locating in a response. Also contains location and confidence score.

The following BlockTypes are only returned for Amazon Textract Layout.

  • LAYOUT_TITLE - The main title of the document.

  • LAYOUT_HEADER - Text located in the top margin of the document.

  • LAYOUT_FOOTER - Text located in the bottom margin of the document.

  • LAYOUT_SECTION_HEADER - The titles of sections within a document.

  • LAYOUT_PAGE_NUMBER - The page number of the documents.

  • LAYOUT_LIST - Any information grouped together in list form.

  • LAYOUT_FIGURE - Indicates the location of an image in a document.

  • LAYOUT_TABLE - Indicates the location of a table in the document.

  • LAYOUT_KEY_VALUE - Indicates the location of form key-values in a document.

  • LAYOUT_TEXT - Text that is present typically as a part of paragraphs in documents.

\"\ },\ \"Confidence\":{\ \"shape\":\"Percent\",\ @@ -530,7 +967,7 @@ - (NSString *)definitionString { },\ \"Page\":{\ \"shape\":\"UInteger\",\ - \"documentation\":\"

The page on which a block was detected. Page is returned by synchronous and asynchronous operations. Page values greater than 1 are only returned for multipage documents that are in PDF or TIFF format. A scanned image (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple document pages, is considered a single-page document. This means that for scanned images the value of Page is always 1. Synchronous operations will also return a Page value of 1 because every input document is considered to be a single-page document.

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

The page on which a block was detected. Page is returned by synchronous and asynchronous operations. Page values greater than 1 are only returned for multipage documents that are in PDF or TIFF format. A scanned image (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple document pages, is considered a single-page document. This means that for scanned images the value of Page is always 1.

\"\ },\ \"Query\":{\ \"shape\":\"Query\",\ @@ -559,7 +996,17 @@ - (NSString *)definitionString { \"QUERY_RESULT\",\ \"SIGNATURE\",\ \"TABLE_TITLE\",\ - \"TABLE_FOOTER\"\ + \"TABLE_FOOTER\",\ + \"LAYOUT_TEXT\",\ + \"LAYOUT_TITLE\",\ + \"LAYOUT_HEADER\",\ + \"LAYOUT_FOOTER\",\ + \"LAYOUT_SECTION_HEADER\",\ + \"LAYOUT_PAGE_NUMBER\",\ + \"LAYOUT_LIST\",\ + \"LAYOUT_FIGURE\",\ + \"LAYOUT_TABLE\",\ + \"LAYOUT_KEY_VALUE\"\ ]\ },\ \"BoundingBox\":{\ @@ -590,6 +1037,13 @@ - (NSString *)definitionString { \"min\":1,\ \"pattern\":\"^[a-zA-Z0-9-_]+$\"\ },\ + \"ConflictException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"

Updating or deleting a resource can cause an inconsistent state.

\",\ + \"exception\":true\ + },\ \"ContentClassifier\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -602,6 +1056,132 @@ - (NSString *)definitionString { \"member\":{\"shape\":\"ContentClassifier\"},\ \"max\":256\ },\ + \"CreateAdapterRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"AdapterName\",\ + \"FeatureTypes\"\ + ],\ + \"members\":{\ + \"AdapterName\":{\ + \"shape\":\"AdapterName\",\ + \"documentation\":\"

The name to be assigned to the adapter being created.

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

Idempotent token is used to recognize the request. If the same token is used with multiple CreateAdapter requests, the same session is returned. This token is employed to avoid unintentionally creating the same session multiple times.

\",\ + \"idempotencyToken\":true\ + },\ + \"Description\":{\ + \"shape\":\"AdapterDescription\",\ + \"documentation\":\"

The description to be assigned to the adapter being created.

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

The type of feature that the adapter is being trained on. Currrenly, supported feature types are: QUERIES

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

Controls whether or not the adapter should automatically update.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

A list of tags to be added to the adapter.

\"\ + }\ + }\ + },\ + \"CreateAdapterResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing the unique ID for the adapter that has been created.

\"\ + }\ + }\ + },\ + \"CreateAdapterVersionRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"AdapterId\",\ + \"DatasetConfig\",\ + \"OutputConfig\"\ + ],\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing a unique ID for the adapter that will receive a new version.

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

Idempotent token is used to recognize the request. If the same token is used with multiple CreateAdapterVersion requests, the same session is returned. This token is employed to avoid unintentionally creating the same session multiple times.

\",\ + \"idempotencyToken\":true\ + },\ + \"DatasetConfig\":{\ + \"shape\":\"AdapterVersionDatasetConfig\",\ + \"documentation\":\"

Specifies a dataset used to train a new adapter version. Takes a ManifestS3Object as the value.

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

The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.

\"\ + },\ + \"OutputConfig\":{\"shape\":\"OutputConfig\"},\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

A set of tags (key-value pairs) that you want to attach to the adapter version.

\"\ + }\ + }\ + },\ + \"CreateAdapterVersionResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing the unique ID for the adapter that has received a new version.

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

A string describing the new version of the adapter.

\"\ + }\ + }\ + },\ + \"DateTime\":{\"type\":\"timestamp\"},\ + \"DeleteAdapterRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"AdapterId\"],\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing a unique ID for the adapter to be deleted.

\"\ + }\ + }\ + },\ + \"DeleteAdapterResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ + },\ + \"DeleteAdapterVersionRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"AdapterId\",\ + \"AdapterVersion\"\ + ],\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing a unique ID for the adapter version that will be deleted.

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

Specifies the adapter version to be deleted.

\"\ + }\ + }\ + },\ + \"DeleteAdapterVersionResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ + },\ \"DetectDocumentTextRequest\":{\ \"type\":\"structure\",\ \"required\":[\"Document\"],\ @@ -735,6 +1315,24 @@ - (NSString *)definitionString { \"member\":{\"shape\":\"EntityType\"}\ },\ \"ErrorCode\":{\"type\":\"string\"},\ + \"EvaluationMetric\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"F1Score\":{\ + \"shape\":\"Float\",\ + \"documentation\":\"

The F1 score for an adapter version.

\"\ + },\ + \"Precision\":{\ + \"shape\":\"Float\",\ + \"documentation\":\"

The Precision score for an adapter version.

\"\ + },\ + \"Recall\":{\ + \"shape\":\"Float\",\ + \"documentation\":\"

The Recall score for an adapter version.

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

The evaluation metrics (F1 score, Precision, and Recall) for an adapter version.

\"\ + },\ \"ExpenseCurrency\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -878,7 +1476,8 @@ - (NSString *)definitionString { \"TABLES\",\ \"FORMS\",\ \"QUERIES\",\ - \"SIGNATURES\"\ + \"SIGNATURES\",\ + \"LAYOUT\"\ ]\ },\ \"FeatureTypes\":{\ @@ -904,6 +1503,112 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Information about where the following items are located on a document page: detected page, text, key-value pairs, tables, table cells, and selection elements.

\"\ },\ + \"GetAdapterRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"AdapterId\"],\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing a unique ID for the adapter.

\"\ + }\ + }\ + },\ + \"GetAdapterResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string identifying the adapter that information has been retrieved for.

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

The name of the requested adapter.

\"\ + },\ + \"CreationTime\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

The date and time the requested adapter was created at.

\"\ + },\ + \"Description\":{\ + \"shape\":\"AdapterDescription\",\ + \"documentation\":\"

The description for the requested adapter.

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

List of the targeted feature types for the requested adapter.

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

Binary value indicating if the adapter is being automatically updated or not.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

A set of tags (key-value pairs) associated with the adapter that has been retrieved.

\"\ + }\ + }\ + },\ + \"GetAdapterVersionRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"AdapterId\",\ + \"AdapterVersion\"\ + ],\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string specifying a unique ID for the adapter version you want to retrieve information for.

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

A string specifying the adapter version you want to retrieve information for.

\"\ + }\ + }\ + },\ + \"GetAdapterVersionResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing a unique ID for the adapter version being retrieved.

\"\ + },\ + \"AdapterVersion\":{\ + \"shape\":\"AdapterVersion\",\ + \"documentation\":\"

A string containing the adapter version that has been retrieved.

\"\ + },\ + \"CreationTime\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

The time that the adapter version was created.

\"\ + },\ + \"FeatureTypes\":{\ + \"shape\":\"FeatureTypes\",\ + \"documentation\":\"

List of the targeted feature types for the requested adapter version.

\"\ + },\ + \"Status\":{\ + \"shape\":\"AdapterVersionStatus\",\ + \"documentation\":\"

The status of the adapter version that has been requested.

\"\ + },\ + \"StatusMessage\":{\ + \"shape\":\"AdapterVersionStatusMessage\",\ + \"documentation\":\"

A message that describes the status of the requested adapter version.

\"\ + },\ + \"DatasetConfig\":{\ + \"shape\":\"AdapterVersionDatasetConfig\",\ + \"documentation\":\"

Specifies a dataset used to train a new adapter version. Takes a ManifestS3Objec as the value.

\"\ + },\ + \"KMSKeyId\":{\ + \"shape\":\"KMSKeyId\",\ + \"documentation\":\"

The identifier for your AWS Key Management Service key (AWS KMS key). Used to encrypt your documents.

\"\ + },\ + \"OutputConfig\":{\"shape\":\"OutputConfig\"},\ + \"EvaluationMetrics\":{\ + \"shape\":\"AdapterVersionEvaluationMetrics\",\ + \"documentation\":\"

The evaluation metrics (F1 score, Precision, and Recall) for the requested version, grouped by baseline metrics and adapter version.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

A set of tags (key-value pairs) that are associated with the adapter version.

\"\ + }\ + }\ + },\ \"GetDocumentAnalysisRequest\":{\ \"type\":\"structure\",\ \"required\":[\"JobId\"],\ @@ -1475,6 +2180,97 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"LineItemFields\"}\ },\ + \"ListAdapterVersionsRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing a unique ID for the adapter to match for when listing adapter versions.

\"\ + },\ + \"AfterCreationTime\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

Specifies the lower bound for the ListAdapterVersions operation. Ensures ListAdapterVersions returns only adapter versions created after the specified creation time.

\"\ + },\ + \"BeforeCreationTime\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

Specifies the upper bound for the ListAdapterVersions operation. Ensures ListAdapterVersions returns only adapter versions created after the specified creation time.

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"MaxResults\",\ + \"documentation\":\"

The maximum number of results to return when listing adapter versions.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"PaginationToken\",\ + \"documentation\":\"

Identifies the next page of results to return when listing adapter versions.

\"\ + }\ + }\ + },\ + \"ListAdapterVersionsResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AdapterVersions\":{\ + \"shape\":\"AdapterVersionList\",\ + \"documentation\":\"

Adapter versions that match the filtering criteria specified when calling ListAdapters.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"PaginationToken\",\ + \"documentation\":\"

Identifies the next page of results to return when listing adapter versions.

\"\ + }\ + }\ + },\ + \"ListAdaptersRequest\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AfterCreationTime\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

Specifies the lower bound for the ListAdapters operation. Ensures ListAdapters returns only adapters created after the specified creation time.

\"\ + },\ + \"BeforeCreationTime\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

Specifies the upper bound for the ListAdapters operation. Ensures ListAdapters returns only adapters created before the specified creation time.

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"MaxResults\",\ + \"documentation\":\"

The maximum number of results to return when listing adapters.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"PaginationToken\",\ + \"documentation\":\"

Identifies the next page of results to return when listing adapters.

\"\ + }\ + }\ + },\ + \"ListAdaptersResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Adapters\":{\ + \"shape\":\"AdapterList\",\ + \"documentation\":\"

A list of adapters that matches the filtering criteria specified when calling ListAdapters.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"PaginationToken\",\ + \"documentation\":\"

Identifies the next page of results to return when listing adapters.

\"\ + }\ + }\ + },\ + \"ListTagsForResourceRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"ResourceARN\"],\ + \"members\":{\ + \"ResourceARN\":{\ + \"shape\":\"AmazonResourceName\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) that specifies the resource to list tags for.

\"\ + }\ + }\ + },\ + \"ListTagsForResourceResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

A set of tags (key-value pairs) that are part of the requested resource.

\"\ + }\ + }\ + },\ \"MaxResults\":{\ \"type\":\"integer\",\ \"min\":1\ @@ -1558,7 +2354,7 @@ - (NSString *)definitionString { },\ \"PaginationToken\":{\ \"type\":\"string\",\ - \"max\":255,\ + \"max\":1024,\ \"min\":1,\ \"pattern\":\".*\\\\S.*\"\ },\ @@ -1694,6 +2490,13 @@ - (NSString *)definitionString { \"TABLE_FOOTER\"\ ]\ },\ + \"ResourceNotFoundException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"

Returned when an operation tried to access a nonexistent resource.

\",\ + \"exception\":true\ + },\ \"RoleArn\":{\ \"type\":\"string\",\ \"max\":2048,\ @@ -1749,6 +2552,13 @@ - (NSString *)definitionString { \"NOT_SELECTED\"\ ]\ },\ + \"ServiceQuotaExceededException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"

Returned when a request cannot be completed as it would exceed a maximum service quota.

\",\ + \"exception\":true\ + },\ \"SignatureDetection\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -1817,7 +2627,11 @@ - (NSString *)definitionString { \"shape\":\"KMSKeyId\",\ \"documentation\":\"

The KMS key used to encrypt the inference results. This can be in either Key ID or Key Alias format. When a KMS key is provided, the KMS key will be used for server-side encryption of the objects in the customer bucket. When this parameter is not enabled, the result will be encrypted server side,using SSE-S3.

\"\ },\ - \"QueriesConfig\":{\"shape\":\"QueriesConfig\"}\ + \"QueriesConfig\":{\"shape\":\"QueriesConfig\"},\ + \"AdaptersConfig\":{\ + \"shape\":\"AdaptersConfig\",\ + \"documentation\":\"

Specifies the adapter to be used when analyzing a document.

\"\ + }\ }\ },\ \"StartDocumentAnalysisResponse\":{\ @@ -1943,6 +2757,53 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"String\"}\ },\ + \"TagKey\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1,\ + \"pattern\":\"^(?!aws:)[\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*$\"\ + },\ + \"TagKeyList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"TagKey\"},\ + \"max\":200,\ + \"min\":0\ + },\ + \"TagMap\":{\ + \"type\":\"map\",\ + \"key\":{\"shape\":\"TagKey\"},\ + \"value\":{\"shape\":\"TagValue\"},\ + \"max\":200,\ + \"min\":0\ + },\ + \"TagResourceRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"ResourceARN\",\ + \"Tags\"\ + ],\ + \"members\":{\ + \"ResourceARN\":{\ + \"shape\":\"AmazonResourceName\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) that specifies the resource to be tagged.

\"\ + },\ + \"Tags\":{\ + \"shape\":\"TagMap\",\ + \"documentation\":\"

A set of tags (key-value pairs) that you want to assign to the resource.

\"\ + }\ + }\ + },\ + \"TagResourceResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ + },\ + \"TagValue\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"min\":0,\ + \"pattern\":\"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$\"\ + },\ \"TextType\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -1987,6 +2848,86 @@ - (NSString *)definitionString { \"documentation\":\"

The format of the input document isn't supported. Documents for operations can be in PNG, JPEG, PDF, or TIFF format.

\",\ \"exception\":true\ },\ + \"UntagResourceRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"ResourceARN\",\ + \"TagKeys\"\ + ],\ + \"members\":{\ + \"ResourceARN\":{\ + \"shape\":\"AmazonResourceName\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) that specifies the resource to be untagged.

\"\ + },\ + \"TagKeys\":{\ + \"shape\":\"TagKeyList\",\ + \"documentation\":\"

Specifies the tags to be removed from the resource specified by the ResourceARN.

\"\ + }\ + }\ + },\ + \"UntagResourceResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + }\ + },\ + \"UpdateAdapterRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"AdapterId\"],\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing a unique ID for the adapter that will be updated.

\"\ + },\ + \"Description\":{\ + \"shape\":\"AdapterDescription\",\ + \"documentation\":\"

The new description to be applied to the adapter.

\"\ + },\ + \"AdapterName\":{\ + \"shape\":\"AdapterName\",\ + \"documentation\":\"

The new name to be applied to the adapter.

\"\ + },\ + \"AutoUpdate\":{\ + \"shape\":\"AutoUpdate\",\ + \"documentation\":\"

The new auto-update status to be applied to the adapter.

\"\ + }\ + }\ + },\ + \"UpdateAdapterResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AdapterId\":{\ + \"shape\":\"AdapterId\",\ + \"documentation\":\"

A string containing a unique ID for the adapter that has been updated.

\"\ + },\ + \"AdapterName\":{\ + \"shape\":\"AdapterName\",\ + \"documentation\":\"

A string containing the name of the adapter that has been updated.

\"\ + },\ + \"CreationTime\":{\ + \"shape\":\"DateTime\",\ + \"documentation\":\"

An object specifying the creation time of the the adapter that has been updated.

\"\ + },\ + \"Description\":{\ + \"shape\":\"AdapterDescription\",\ + \"documentation\":\"

A string containing the description of the adapter that has been updated.

\"\ + },\ + \"FeatureTypes\":{\ + \"shape\":\"FeatureTypes\",\ + \"documentation\":\"

List of the targeted feature types for the updated adapter.

\"\ + },\ + \"AutoUpdate\":{\ + \"shape\":\"AutoUpdate\",\ + \"documentation\":\"

The auto-update status of the adapter that has been updated.

\"\ + }\ + }\ + },\ + \"ValidationException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"

Indicates that a request was not valid. Check request for proper formatting.

\",\ + \"exception\":true\ + },\ \"ValueType\":{\ \"type\":\"string\",\ \"enum\":[\"DATE\"]\ diff --git a/AWSTextract/AWSTextractService.h b/AWSTextract/AWSTextractService.h index 29a022c8523..a023979ac79 100644 --- a/AWSTextract/AWSTextractService.h +++ b/AWSTextract/AWSTextractService.h @@ -249,6 +249,106 @@ FOUNDATION_EXPORT NSString *const AWSTextractSDKVersion; */ - (void)analyzeID:(AWSTextractAnalyzeIDRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractAnalyzeIDResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Creates an adapter, which can be fine-tuned for enhanced performance on user provided documents. Takes an AdapterName and FeatureType. Currently the only supported feature type is QUERIES. You can also provide a Description, Tags, and a ClientRequestToken. You can choose whether or not the adapter should be AutoUpdated with the AutoUpdate argument. By default, AutoUpdate is set to DISABLED.

+ + @param request A container for the necessary parameters to execute the CreateAdapter service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractCreateAdapterResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorConflict`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorIdempotentParameterMismatch`, `AWSTextractErrorThrottling`, `AWSTextractErrorLimitExceeded`, `AWSTextractErrorValidation`, `AWSTextractErrorServiceQuotaExceeded`. + + @see AWSTextractCreateAdapterRequest + @see AWSTextractCreateAdapterResponse + */ +- (AWSTask *)createAdapter:(AWSTextractCreateAdapterRequest *)request; + +/** +

Creates an adapter, which can be fine-tuned for enhanced performance on user provided documents. Takes an AdapterName and FeatureType. Currently the only supported feature type is QUERIES. You can also provide a Description, Tags, and a ClientRequestToken. You can choose whether or not the adapter should be AutoUpdated with the AutoUpdate argument. By default, AutoUpdate is set to DISABLED.

+ + @param request A container for the necessary parameters to execute the CreateAdapter 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorConflict`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorIdempotentParameterMismatch`, `AWSTextractErrorThrottling`, `AWSTextractErrorLimitExceeded`, `AWSTextractErrorValidation`, `AWSTextractErrorServiceQuotaExceeded`. + + @see AWSTextractCreateAdapterRequest + @see AWSTextractCreateAdapterResponse + */ +- (void)createAdapter:(AWSTextractCreateAdapterRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractCreateAdapterResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Creates a new version of an adapter. Operates on a provided AdapterId and a specified dataset provided via the DatasetConfig argument. Requires that you specify an Amazon S3 bucket with the OutputConfig argument. You can provide an optional KMSKeyId, an optional ClientRequestToken, and optional tags.

+ + @param request A container for the necessary parameters to execute the CreateAdapterVersion service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractCreateAdapterVersionResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorInvalidS3Object`, `AWSTextractErrorInvalidKMSKey`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorIdempotentParameterMismatch`, `AWSTextractErrorThrottling`, `AWSTextractErrorLimitExceeded`, `AWSTextractErrorValidation`, `AWSTextractErrorServiceQuotaExceeded`, `AWSTextractErrorResourceNotFound`, `AWSTextractErrorConflict`. + + @see AWSTextractCreateAdapterVersionRequest + @see AWSTextractCreateAdapterVersionResponse + */ +- (AWSTask *)createAdapterVersion:(AWSTextractCreateAdapterVersionRequest *)request; + +/** +

Creates a new version of an adapter. Operates on a provided AdapterId and a specified dataset provided via the DatasetConfig argument. Requires that you specify an Amazon S3 bucket with the OutputConfig argument. You can provide an optional KMSKeyId, an optional ClientRequestToken, and optional tags.

+ + @param request A container for the necessary parameters to execute the CreateAdapterVersion 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorInvalidS3Object`, `AWSTextractErrorInvalidKMSKey`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorIdempotentParameterMismatch`, `AWSTextractErrorThrottling`, `AWSTextractErrorLimitExceeded`, `AWSTextractErrorValidation`, `AWSTextractErrorServiceQuotaExceeded`, `AWSTextractErrorResourceNotFound`, `AWSTextractErrorConflict`. + + @see AWSTextractCreateAdapterVersionRequest + @see AWSTextractCreateAdapterVersionResponse + */ +- (void)createAdapterVersion:(AWSTextractCreateAdapterVersionRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractCreateAdapterVersionResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Deletes an Amazon Textract adapter. Takes an AdapterId and deletes the adapter specified by the ID.

+ + @param request A container for the necessary parameters to execute the DeleteAdapter service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractDeleteAdapterResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorConflict`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractDeleteAdapterRequest + @see AWSTextractDeleteAdapterResponse + */ +- (AWSTask *)deleteAdapter:(AWSTextractDeleteAdapterRequest *)request; + +/** +

Deletes an Amazon Textract adapter. Takes an AdapterId and deletes the adapter specified by the ID.

+ + @param request A container for the necessary parameters to execute the DeleteAdapter 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorConflict`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractDeleteAdapterRequest + @see AWSTextractDeleteAdapterResponse + */ +- (void)deleteAdapter:(AWSTextractDeleteAdapterRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractDeleteAdapterResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Deletes an Amazon Textract adapter version. Requires that you specify both an AdapterId and a AdapterVersion. Deletes the adapter version specified by the AdapterId and the AdapterVersion.

+ + @param request A container for the necessary parameters to execute the DeleteAdapterVersion service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractDeleteAdapterVersionResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorConflict`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractDeleteAdapterVersionRequest + @see AWSTextractDeleteAdapterVersionResponse + */ +- (AWSTask *)deleteAdapterVersion:(AWSTextractDeleteAdapterVersionRequest *)request; + +/** +

Deletes an Amazon Textract adapter version. Requires that you specify both an AdapterId and a AdapterVersion. Deletes the adapter version specified by the AdapterId and the AdapterVersion.

+ + @param request A container for the necessary parameters to execute the DeleteAdapterVersion 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorConflict`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractDeleteAdapterVersionRequest + @see AWSTextractDeleteAdapterVersionResponse + */ +- (void)deleteAdapterVersion:(AWSTextractDeleteAdapterVersionRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractDeleteAdapterVersionResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Detects text in the input document. Amazon Textract can detect lines of text and the words that make up a line of text. The input document must be in one of the following image formats: JPEG, PNG, PDF, or TIFF. DetectDocumentText returns the detected text in an array of Block objects.

Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD.

DetectDocumentText is a synchronous operation. To analyze documents asynchronously, use StartDocumentTextDetection.

For more information, see Document Text Detection.

@@ -274,6 +374,56 @@ FOUNDATION_EXPORT NSString *const AWSTextractSDKVersion; */ - (void)detectDocumentText:(AWSTextractDetectDocumentTextRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractDetectDocumentTextResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Gets configuration information for an adapter specified by an AdapterId, returning information on AdapterName, Description, CreationTime, AutoUpdate status, and FeatureTypes.

+ + @param request A container for the necessary parameters to execute the GetAdapter service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractGetAdapterResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractGetAdapterRequest + @see AWSTextractGetAdapterResponse + */ +- (AWSTask *)getAdapter:(AWSTextractGetAdapterRequest *)request; + +/** +

Gets configuration information for an adapter specified by an AdapterId, returning information on AdapterName, Description, CreationTime, AutoUpdate status, and FeatureTypes.

+ + @param request A container for the necessary parameters to execute the GetAdapter 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractGetAdapterRequest + @see AWSTextractGetAdapterResponse + */ +- (void)getAdapter:(AWSTextractGetAdapterRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractGetAdapterResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets configuration information for the specified adapter version, including: AdapterId, AdapterVersion, FeatureTypes, Status, StatusMessage, DatasetConfig, KMSKeyId, OutputConfig, Tags and EvaluationMetrics.

+ + @param request A container for the necessary parameters to execute the GetAdapterVersion service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractGetAdapterVersionResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractGetAdapterVersionRequest + @see AWSTextractGetAdapterVersionResponse + */ +- (AWSTask *)getAdapterVersion:(AWSTextractGetAdapterVersionRequest *)request; + +/** +

Gets configuration information for the specified adapter version, including: AdapterId, AdapterVersion, FeatureTypes, Status, StatusMessage, DatasetConfig, KMSKeyId, OutputConfig, Tags and EvaluationMetrics.

+ + @param request A container for the necessary parameters to execute the GetAdapterVersion 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractGetAdapterVersionRequest + @see AWSTextractGetAdapterVersionResponse + */ +- (void)getAdapterVersion:(AWSTextractGetAdapterVersionRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractGetAdapterVersionResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Gets the results for an Amazon Textract asynchronous operation that analyzes text in a document.

You start asynchronous text analysis by calling StartDocumentAnalysis, which returns a job identifier (JobId). When the text analysis operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartDocumentAnalysis. To get the results of the text-detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.

GetDocumentAnalysis returns an array of Block objects. The following types of information are returned:

  • Form data (key-value pairs). The related information is returned in two Block objects, each of type KEY_VALUE_SET: a KEY Block object and a VALUE Block object. For example, Name: Ana Silva Carolina contains a key and value. Name: is the key. Ana Silva Carolina is the value.

  • Table and table cell data. A TABLE Block object contains information about a detected table. A CELL Block object is returned for each cell in a table.

  • Lines and words of text. A LINE Block object contains one or more WORD Block objects. All lines and words that are detected in the document are returned (including text that doesn't have a relationship with the value of the StartDocumentAnalysisFeatureTypes input parameter).

  • Query. A QUERY Block object contains the query text, alias and link to the associated Query results block object.

  • Query Results. A QUERY_RESULT Block object contains the answer to the query and an ID that connects it to the query asked. This Block also contains a confidence score.

While processing a document with queries, look out for INVALID_REQUEST_PARAMETERS output. This indicates that either the per page query limit has been exceeded or that the operation is trying to query a page in the document which doesn’t exist.

Selection elements such as check boxes and option buttons (radio buttons) can be detected in form data and in tables. A SELECTION_ELEMENT Block object contains information about a selection element, including the selection status.

Use the MaxResults parameter to limit the number of blocks that are 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 GetDocumentAnalysis, and populate the NextToken request parameter with the token value that's returned from the previous call to GetDocumentAnalysis.

For more information, see Document Text Analysis.

@@ -399,6 +549,81 @@ FOUNDATION_EXPORT NSString *const AWSTextractSDKVersion; */ - (void)getLendingAnalysisSummary:(AWSTextractGetLendingAnalysisSummaryRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractGetLendingAnalysisSummaryResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

List all version of an adapter that meet the specified filtration criteria.

+ + @param request A container for the necessary parameters to execute the ListAdapterVersions service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractListAdapterVersionsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractListAdapterVersionsRequest + @see AWSTextractListAdapterVersionsResponse + */ +- (AWSTask *)listAdapterVersions:(AWSTextractListAdapterVersionsRequest *)request; + +/** +

List all version of an adapter that meet the specified filtration criteria.

+ + @param request A container for the necessary parameters to execute the ListAdapterVersions 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractListAdapterVersionsRequest + @see AWSTextractListAdapterVersionsResponse + */ +- (void)listAdapterVersions:(AWSTextractListAdapterVersionsRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractListAdapterVersionsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists all adapters that match the specified filtration criteria.

+ + @param request A container for the necessary parameters to execute the ListAdapters service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractListAdaptersResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`. + + @see AWSTextractListAdaptersRequest + @see AWSTextractListAdaptersResponse + */ +- (AWSTask *)listAdapters:(AWSTextractListAdaptersRequest *)request; + +/** +

Lists all adapters that match the specified filtration criteria.

+ + @param request A container for the necessary parameters to execute the ListAdapters 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`. + + @see AWSTextractListAdaptersRequest + @see AWSTextractListAdaptersResponse + */ +- (void)listAdapters:(AWSTextractListAdaptersRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractListAdaptersResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists all tags for an Amazon Textract resource.

+ + @param request A container for the necessary parameters to execute the ListTagsForResource service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractListTagsForResourceResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorResourceNotFound`, `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`. + + @see AWSTextractListTagsForResourceRequest + @see AWSTextractListTagsForResourceResponse + */ +- (AWSTask *)listTagsForResource:(AWSTextractListTagsForResourceRequest *)request; + +/** +

Lists all tags for an Amazon Textract resource.

+ + @param request A container for the necessary parameters to execute the ListTagsForResource 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorResourceNotFound`, `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`. + + @see AWSTextractListTagsForResourceRequest + @see AWSTextractListTagsForResourceResponse + */ +- (void)listTagsForResource:(AWSTextractListTagsForResourceRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractListTagsForResourceResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Starts the asynchronous analysis of an input document for relationships between detected items such as key-value pairs, tables, and selection elements.

StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document.

StartDocumentAnalysis returns a job identifier (JobId) that you use to get the results of the operation. When text analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text analysis operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.

For more information, see Document Text Analysis.

@@ -499,6 +724,81 @@ FOUNDATION_EXPORT NSString *const AWSTextractSDKVersion; */ - (void)startLendingAnalysis:(AWSTextractStartLendingAnalysisRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractStartLendingAnalysisResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Adds one or more tags to the specified resource.

+ + @param request A container for the necessary parameters to execute the TagResource service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractTagResourceResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorResourceNotFound`, `AWSTextractErrorInvalidParameter`, `AWSTextractErrorServiceQuotaExceeded`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`. + + @see AWSTextractTagResourceRequest + @see AWSTextractTagResourceResponse + */ +- (AWSTask *)tagResource:(AWSTextractTagResourceRequest *)request; + +/** +

Adds one or more tags to the specified resource.

+ + @param request A container for the necessary parameters to execute the TagResource 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorResourceNotFound`, `AWSTextractErrorInvalidParameter`, `AWSTextractErrorServiceQuotaExceeded`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`. + + @see AWSTextractTagResourceRequest + @see AWSTextractTagResourceResponse + */ +- (void)tagResource:(AWSTextractTagResourceRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractTagResourceResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Removes any tags with the specified keys from the specified resource.

+ + @param request A container for the necessary parameters to execute the UntagResource service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractUntagResourceResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorResourceNotFound`, `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`. + + @see AWSTextractUntagResourceRequest + @see AWSTextractUntagResourceResponse + */ +- (AWSTask *)untagResource:(AWSTextractUntagResourceRequest *)request; + +/** +

Removes any tags with the specified keys from the specified resource.

+ + @param request A container for the necessary parameters to execute the UntagResource 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorResourceNotFound`, `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`. + + @see AWSTextractUntagResourceRequest + @see AWSTextractUntagResourceResponse + */ +- (void)untagResource:(AWSTextractUntagResourceRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractUntagResourceResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Update the configuration for an adapter. FeatureTypes configurations cannot be updated. At least one new parameter must be specified as an argument.

+ + @param request A container for the necessary parameters to execute the UpdateAdapter service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSTextractUpdateAdapterResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorConflict`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractUpdateAdapterRequest + @see AWSTextractUpdateAdapterResponse + */ +- (AWSTask *)updateAdapter:(AWSTextractUpdateAdapterRequest *)request; + +/** +

Update the configuration for an adapter. FeatureTypes configurations cannot be updated. At least one new parameter must be specified as an argument.

+ + @param request A container for the necessary parameters to execute the UpdateAdapter 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 `AWSTextractErrorDomain` domain and the following error code: `AWSTextractErrorInvalidParameter`, `AWSTextractErrorAccessDenied`, `AWSTextractErrorConflict`, `AWSTextractErrorProvisionedThroughputExceeded`, `AWSTextractErrorInternalServer`, `AWSTextractErrorThrottling`, `AWSTextractErrorValidation`, `AWSTextractErrorResourceNotFound`. + + @see AWSTextractUpdateAdapterRequest + @see AWSTextractUpdateAdapterResponse + */ +- (void)updateAdapter:(AWSTextractUpdateAdapterRequest *)request completionHandler:(void (^ _Nullable)(AWSTextractUpdateAdapterResponse * _Nullable response, NSError * _Nullable error))completionHandler; + @end NS_ASSUME_NONNULL_END diff --git a/AWSTextract/AWSTextractService.m b/AWSTextract/AWSTextractService.m index d7f4fb9e0f0..09ed62de212 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.33.4"; +NSString *const AWSTextractSDKVersion = @"2.33.5"; @interface AWSTextractResponseSerializer : AWSJSONResponseSerializer @@ -41,6 +41,7 @@ + (void)initialize { errorCodeDictionary = @{ @"AccessDeniedException" : @(AWSTextractErrorAccessDenied), @"BadDocumentException" : @(AWSTextractErrorBadDocument), + @"ConflictException" : @(AWSTextractErrorConflict), @"DocumentTooLargeException" : @(AWSTextractErrorDocumentTooLarge), @"HumanLoopQuotaExceededException" : @(AWSTextractErrorHumanLoopQuotaExceeded), @"IdempotentParameterMismatchException" : @(AWSTextractErrorIdempotentParameterMismatch), @@ -51,8 +52,11 @@ + (void)initialize { @"InvalidS3ObjectException" : @(AWSTextractErrorInvalidS3Object), @"LimitExceededException" : @(AWSTextractErrorLimitExceeded), @"ProvisionedThroughputExceededException" : @(AWSTextractErrorProvisionedThroughputExceeded), + @"ResourceNotFoundException" : @(AWSTextractErrorResourceNotFound), + @"ServiceQuotaExceededException" : @(AWSTextractErrorServiceQuotaExceeded), @"ThrottlingException" : @(AWSTextractErrorThrottling), @"UnsupportedDocumentException" : @(AWSTextractErrorUnsupportedDocument), + @"ValidationException" : @(AWSTextractErrorValidation), }; } @@ -356,6 +360,98 @@ - (void)analyzeID:(AWSTextractAnalyzeIDRequest *)request }]; } +- (AWSTask *)createAdapter:(AWSTextractCreateAdapterRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"CreateAdapter" + outputClass:[AWSTextractCreateAdapterResponse class]]; +} + +- (void)createAdapter:(AWSTextractCreateAdapterRequest *)request + completionHandler:(void (^)(AWSTextractCreateAdapterResponse *response, NSError *error))completionHandler { + [[self createAdapter:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractCreateAdapterResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)createAdapterVersion:(AWSTextractCreateAdapterVersionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"CreateAdapterVersion" + outputClass:[AWSTextractCreateAdapterVersionResponse class]]; +} + +- (void)createAdapterVersion:(AWSTextractCreateAdapterVersionRequest *)request + completionHandler:(void (^)(AWSTextractCreateAdapterVersionResponse *response, NSError *error))completionHandler { + [[self createAdapterVersion:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractCreateAdapterVersionResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)deleteAdapter:(AWSTextractDeleteAdapterRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"DeleteAdapter" + outputClass:[AWSTextractDeleteAdapterResponse class]]; +} + +- (void)deleteAdapter:(AWSTextractDeleteAdapterRequest *)request + completionHandler:(void (^)(AWSTextractDeleteAdapterResponse *response, NSError *error))completionHandler { + [[self deleteAdapter:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractDeleteAdapterResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)deleteAdapterVersion:(AWSTextractDeleteAdapterVersionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"DeleteAdapterVersion" + outputClass:[AWSTextractDeleteAdapterVersionResponse class]]; +} + +- (void)deleteAdapterVersion:(AWSTextractDeleteAdapterVersionRequest *)request + completionHandler:(void (^)(AWSTextractDeleteAdapterVersionResponse *response, NSError *error))completionHandler { + [[self deleteAdapterVersion:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractDeleteAdapterVersionResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)detectDocumentText:(AWSTextractDetectDocumentTextRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -379,6 +475,52 @@ - (void)detectDocumentText:(AWSTextractDetectDocumentTextRequest *)request }]; } +- (AWSTask *)getAdapter:(AWSTextractGetAdapterRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"GetAdapter" + outputClass:[AWSTextractGetAdapterResponse class]]; +} + +- (void)getAdapter:(AWSTextractGetAdapterRequest *)request + completionHandler:(void (^)(AWSTextractGetAdapterResponse *response, NSError *error))completionHandler { + [[self getAdapter:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractGetAdapterResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)getAdapterVersion:(AWSTextractGetAdapterVersionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"GetAdapterVersion" + outputClass:[AWSTextractGetAdapterVersionResponse class]]; +} + +- (void)getAdapterVersion:(AWSTextractGetAdapterVersionRequest *)request + completionHandler:(void (^)(AWSTextractGetAdapterVersionResponse *response, NSError *error))completionHandler { + [[self getAdapterVersion:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractGetAdapterVersionResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getDocumentAnalysis:(AWSTextractGetDocumentAnalysisRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -494,6 +636,75 @@ - (void)getLendingAnalysisSummary:(AWSTextractGetLendingAnalysisSummaryRequest * }]; } +- (AWSTask *)listAdapterVersions:(AWSTextractListAdapterVersionsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"ListAdapterVersions" + outputClass:[AWSTextractListAdapterVersionsResponse class]]; +} + +- (void)listAdapterVersions:(AWSTextractListAdapterVersionsRequest *)request + completionHandler:(void (^)(AWSTextractListAdapterVersionsResponse *response, NSError *error))completionHandler { + [[self listAdapterVersions:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractListAdapterVersionsResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)listAdapters:(AWSTextractListAdaptersRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"ListAdapters" + outputClass:[AWSTextractListAdaptersResponse class]]; +} + +- (void)listAdapters:(AWSTextractListAdaptersRequest *)request + completionHandler:(void (^)(AWSTextractListAdaptersResponse *response, NSError *error))completionHandler { + [[self listAdapters:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractListAdaptersResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)listTagsForResource:(AWSTextractListTagsForResourceRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"ListTagsForResource" + outputClass:[AWSTextractListTagsForResourceResponse class]]; +} + +- (void)listTagsForResource:(AWSTextractListTagsForResourceRequest *)request + completionHandler:(void (^)(AWSTextractListTagsForResourceResponse *response, NSError *error))completionHandler { + [[self listTagsForResource:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractListTagsForResourceResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)startDocumentAnalysis:(AWSTextractStartDocumentAnalysisRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -586,6 +797,75 @@ - (void)startLendingAnalysis:(AWSTextractStartLendingAnalysisRequest *)request }]; } +- (AWSTask *)tagResource:(AWSTextractTagResourceRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"TagResource" + outputClass:[AWSTextractTagResourceResponse class]]; +} + +- (void)tagResource:(AWSTextractTagResourceRequest *)request + completionHandler:(void (^)(AWSTextractTagResourceResponse *response, NSError *error))completionHandler { + [[self tagResource:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractTagResourceResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)untagResource:(AWSTextractUntagResourceRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"UntagResource" + outputClass:[AWSTextractUntagResourceResponse class]]; +} + +- (void)untagResource:(AWSTextractUntagResourceRequest *)request + completionHandler:(void (^)(AWSTextractUntagResourceResponse *response, NSError *error))completionHandler { + [[self untagResource:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractUntagResourceResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)updateAdapter:(AWSTextractUpdateAdapterRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"Textract" + operationName:@"UpdateAdapter" + outputClass:[AWSTextractUpdateAdapterResponse class]]; +} + +- (void)updateAdapter:(AWSTextractUpdateAdapterRequest *)request + completionHandler:(void (^)(AWSTextractUpdateAdapterResponse *response, NSError *error))completionHandler { + [[self updateAdapter:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSTextractUpdateAdapterResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + #pragma mark - @end diff --git a/AWSTextract/Info.plist b/AWSTextract/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSTextract/Info.plist +++ b/AWSTextract/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTextractUnitTests/AWSGeneralTextractTests.m b/AWSTextractUnitTests/AWSGeneralTextractTests.m index 88adf5a6440..4517a4972ec 100644 --- a/AWSTextractUnitTests/AWSGeneralTextractTests.m +++ b/AWSTextractUnitTests/AWSGeneralTextractTests.m @@ -201,6 +201,198 @@ - (void)testAnalyzeIDCompletionHandler { [AWSTextract removeTextractForKey:key]; } +- (void)testCreateAdapter { + NSString *key = @"testCreateAdapter"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] createAdapter:[AWSTextractCreateAdapterRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testCreateAdapterCompletionHandler { + NSString *key = @"testCreateAdapter"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] createAdapter:[AWSTextractCreateAdapterRequest new] completionHandler:^(AWSTextractCreateAdapterResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testCreateAdapterVersion { + NSString *key = @"testCreateAdapterVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] createAdapterVersion:[AWSTextractCreateAdapterVersionRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testCreateAdapterVersionCompletionHandler { + NSString *key = @"testCreateAdapterVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] createAdapterVersion:[AWSTextractCreateAdapterVersionRequest new] completionHandler:^(AWSTextractCreateAdapterVersionResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testDeleteAdapter { + NSString *key = @"testDeleteAdapter"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] deleteAdapter:[AWSTextractDeleteAdapterRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testDeleteAdapterCompletionHandler { + NSString *key = @"testDeleteAdapter"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] deleteAdapter:[AWSTextractDeleteAdapterRequest new] completionHandler:^(AWSTextractDeleteAdapterResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testDeleteAdapterVersion { + NSString *key = @"testDeleteAdapterVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] deleteAdapterVersion:[AWSTextractDeleteAdapterVersionRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testDeleteAdapterVersionCompletionHandler { + NSString *key = @"testDeleteAdapterVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] deleteAdapterVersion:[AWSTextractDeleteAdapterVersionRequest new] completionHandler:^(AWSTextractDeleteAdapterVersionResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + - (void)testDetectDocumentText { NSString *key = @"testDetectDocumentText"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -249,6 +441,102 @@ - (void)testDetectDocumentTextCompletionHandler { [AWSTextract removeTextractForKey:key]; } +- (void)testGetAdapter { + NSString *key = @"testGetAdapter"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] getAdapter:[AWSTextractGetAdapterRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testGetAdapterCompletionHandler { + NSString *key = @"testGetAdapter"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] getAdapter:[AWSTextractGetAdapterRequest new] completionHandler:^(AWSTextractGetAdapterResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testGetAdapterVersion { + NSString *key = @"testGetAdapterVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] getAdapterVersion:[AWSTextractGetAdapterVersionRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testGetAdapterVersionCompletionHandler { + NSString *key = @"testGetAdapterVersion"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] getAdapterVersion:[AWSTextractGetAdapterVersionRequest new] completionHandler:^(AWSTextractGetAdapterVersionResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + - (void)testGetDocumentAnalysis { NSString *key = @"testGetDocumentAnalysis"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -489,6 +777,150 @@ - (void)testGetLendingAnalysisSummaryCompletionHandler { [AWSTextract removeTextractForKey:key]; } +- (void)testListAdapterVersions { + NSString *key = @"testListAdapterVersions"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] listAdapterVersions:[AWSTextractListAdapterVersionsRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testListAdapterVersionsCompletionHandler { + NSString *key = @"testListAdapterVersions"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] listAdapterVersions:[AWSTextractListAdapterVersionsRequest new] completionHandler:^(AWSTextractListAdapterVersionsResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testListAdapters { + NSString *key = @"testListAdapters"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] listAdapters:[AWSTextractListAdaptersRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testListAdaptersCompletionHandler { + NSString *key = @"testListAdapters"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] listAdapters:[AWSTextractListAdaptersRequest new] completionHandler:^(AWSTextractListAdaptersResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testListTagsForResource { + NSString *key = @"testListTagsForResource"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] listTagsForResource:[AWSTextractListTagsForResourceRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testListTagsForResourceCompletionHandler { + NSString *key = @"testListTagsForResource"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] listTagsForResource:[AWSTextractListTagsForResourceRequest new] completionHandler:^(AWSTextractListTagsForResourceResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + - (void)testStartDocumentAnalysis { NSString *key = @"testStartDocumentAnalysis"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -681,4 +1113,148 @@ - (void)testStartLendingAnalysisCompletionHandler { [AWSTextract removeTextractForKey:key]; } +- (void)testTagResource { + NSString *key = @"testTagResource"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] tagResource:[AWSTextractTagResourceRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testTagResourceCompletionHandler { + NSString *key = @"testTagResource"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] tagResource:[AWSTextractTagResourceRequest new] completionHandler:^(AWSTextractTagResourceResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testUntagResource { + NSString *key = @"testUntagResource"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] untagResource:[AWSTextractUntagResourceRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testUntagResourceCompletionHandler { + NSString *key = @"testUntagResource"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] untagResource:[AWSTextractUntagResourceRequest new] completionHandler:^(AWSTextractUntagResourceResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testUpdateAdapter { + NSString *key = @"testUpdateAdapter"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSTextract TextractForKey:key] updateAdapter:[AWSTextractUpdateAdapterRequest 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]]); + + [AWSTextract removeTextractForKey:key]; +} + +- (void)testUpdateAdapterCompletionHandler { + NSString *key = @"testUpdateAdapter"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSTextract registerTextractWithConfiguration:configuration forKey:key]; + + AWSTextract *awsClient = [AWSTextract TextractForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSTextract TextractForKey:key] updateAdapter:[AWSTextractUpdateAdapterRequest new] completionHandler:^(AWSTextractUpdateAdapterResponse* _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]]); + + [AWSTextract removeTextractForKey:key]; +} + @end diff --git a/AWSTextractUnitTests/AWSTextractNSSecureCodingTests.m b/AWSTextractUnitTests/AWSTextractNSSecureCodingTests.m index 69684928712..1ef67d8d4c0 100644 --- a/AWSTextractUnitTests/AWSTextractNSSecureCodingTests.m +++ b/AWSTextractUnitTests/AWSTextractNSSecureCodingTests.m @@ -19,6 +19,12 @@ @interface AWSTextractNSSecureCodingTests : AWSNSSecureCodingTest +- (void) test_AWSTextractAdapter API_AVAILABLE(ios(11)); +- (void) test_AWSTextractAdapterOverview API_AVAILABLE(ios(11)); +- (void) test_AWSTextractAdapterVersionDatasetConfig API_AVAILABLE(ios(11)); +- (void) test_AWSTextractAdapterVersionEvaluationMetric API_AVAILABLE(ios(11)); +- (void) test_AWSTextractAdapterVersionOverview API_AVAILABLE(ios(11)); +- (void) test_AWSTextractAdaptersConfig API_AVAILABLE(ios(11)); - (void) test_AWSTextractAnalyzeDocumentRequest API_AVAILABLE(ios(11)); - (void) test_AWSTextractAnalyzeDocumentResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractAnalyzeExpenseRequest API_AVAILABLE(ios(11)); @@ -28,6 +34,14 @@ - (void) test_AWSTextractAnalyzeIDRequest API_AVAILABLE(ios(11)); - (void) test_AWSTextractAnalyzeIDResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractBlock API_AVAILABLE(ios(11)); - (void) test_AWSTextractBoundingBox API_AVAILABLE(ios(11)); +- (void) test_AWSTextractCreateAdapterRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractCreateAdapterResponse API_AVAILABLE(ios(11)); +- (void) test_AWSTextractCreateAdapterVersionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractCreateAdapterVersionResponse API_AVAILABLE(ios(11)); +- (void) test_AWSTextractDeleteAdapterRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractDeleteAdapterResponse API_AVAILABLE(ios(11)); +- (void) test_AWSTextractDeleteAdapterVersionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractDeleteAdapterVersionResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractDetectDocumentTextRequest API_AVAILABLE(ios(11)); - (void) test_AWSTextractDetectDocumentTextResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractDetectedSignature API_AVAILABLE(ios(11)); @@ -35,6 +49,7 @@ - (void) test_AWSTextractDocument API_AVAILABLE(ios(11)); - (void) test_AWSTextractDocumentGroup API_AVAILABLE(ios(11)); - (void) test_AWSTextractDocumentLocation API_AVAILABLE(ios(11)); - (void) test_AWSTextractDocumentMetadata API_AVAILABLE(ios(11)); +- (void) test_AWSTextractEvaluationMetric API_AVAILABLE(ios(11)); - (void) test_AWSTextractExpenseCurrency API_AVAILABLE(ios(11)); - (void) test_AWSTextractExpenseDetection API_AVAILABLE(ios(11)); - (void) test_AWSTextractExpenseDocument API_AVAILABLE(ios(11)); @@ -43,6 +58,10 @@ - (void) test_AWSTextractExpenseGroupProperty API_AVAILABLE(ios(11)); - (void) test_AWSTextractExpenseType API_AVAILABLE(ios(11)); - (void) test_AWSTextractExtraction API_AVAILABLE(ios(11)); - (void) test_AWSTextractGeometry API_AVAILABLE(ios(11)); +- (void) test_AWSTextractGetAdapterRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractGetAdapterResponse API_AVAILABLE(ios(11)); +- (void) test_AWSTextractGetAdapterVersionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractGetAdapterVersionResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractGetDocumentAnalysisRequest API_AVAILABLE(ios(11)); - (void) test_AWSTextractGetDocumentAnalysisResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractGetDocumentTextDetectionRequest API_AVAILABLE(ios(11)); @@ -65,6 +84,12 @@ - (void) test_AWSTextractLendingResult API_AVAILABLE(ios(11)); - (void) test_AWSTextractLendingSummary API_AVAILABLE(ios(11)); - (void) test_AWSTextractLineItemFields API_AVAILABLE(ios(11)); - (void) test_AWSTextractLineItemGroup API_AVAILABLE(ios(11)); +- (void) test_AWSTextractListAdapterVersionsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractListAdapterVersionsResponse API_AVAILABLE(ios(11)); +- (void) test_AWSTextractListAdaptersRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractListAdaptersResponse API_AVAILABLE(ios(11)); +- (void) test_AWSTextractListTagsForResourceRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractListTagsForResourceResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractNormalizedValue API_AVAILABLE(ios(11)); - (void) test_AWSTextractNotificationChannel API_AVAILABLE(ios(11)); - (void) test_AWSTextractOutputConfig API_AVAILABLE(ios(11)); @@ -85,13 +110,43 @@ - (void) test_AWSTextractStartExpenseAnalysisRequest API_AVAILABLE(ios(11)); - (void) test_AWSTextractStartExpenseAnalysisResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractStartLendingAnalysisRequest API_AVAILABLE(ios(11)); - (void) test_AWSTextractStartLendingAnalysisResponse API_AVAILABLE(ios(11)); +- (void) test_AWSTextractTagResourceRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractTagResourceResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractUndetectedSignature API_AVAILABLE(ios(11)); +- (void) test_AWSTextractUntagResourceRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractUntagResourceResponse API_AVAILABLE(ios(11)); +- (void) test_AWSTextractUpdateAdapterRequest API_AVAILABLE(ios(11)); +- (void) test_AWSTextractUpdateAdapterResponse API_AVAILABLE(ios(11)); - (void) test_AWSTextractWarning API_AVAILABLE(ios(11)); @end @implementation AWSTextractNSSecureCodingTests +- (void) test_AWSTextractAdapter { + [self validateSecureCodingForClass:[AWSTextractAdapter class]]; +} + +- (void) test_AWSTextractAdapterOverview { + [self validateSecureCodingForClass:[AWSTextractAdapterOverview class]]; +} + +- (void) test_AWSTextractAdapterVersionDatasetConfig { + [self validateSecureCodingForClass:[AWSTextractAdapterVersionDatasetConfig class]]; +} + +- (void) test_AWSTextractAdapterVersionEvaluationMetric { + [self validateSecureCodingForClass:[AWSTextractAdapterVersionEvaluationMetric class]]; +} + +- (void) test_AWSTextractAdapterVersionOverview { + [self validateSecureCodingForClass:[AWSTextractAdapterVersionOverview class]]; +} + +- (void) test_AWSTextractAdaptersConfig { + [self validateSecureCodingForClass:[AWSTextractAdaptersConfig class]]; +} + - (void) test_AWSTextractAnalyzeDocumentRequest { [self validateSecureCodingForClass:[AWSTextractAnalyzeDocumentRequest class]]; } @@ -128,6 +183,38 @@ - (void) test_AWSTextractBoundingBox { [self validateSecureCodingForClass:[AWSTextractBoundingBox class]]; } +- (void) test_AWSTextractCreateAdapterRequest { + [self validateSecureCodingForClass:[AWSTextractCreateAdapterRequest class]]; +} + +- (void) test_AWSTextractCreateAdapterResponse { + [self validateSecureCodingForClass:[AWSTextractCreateAdapterResponse class]]; +} + +- (void) test_AWSTextractCreateAdapterVersionRequest { + [self validateSecureCodingForClass:[AWSTextractCreateAdapterVersionRequest class]]; +} + +- (void) test_AWSTextractCreateAdapterVersionResponse { + [self validateSecureCodingForClass:[AWSTextractCreateAdapterVersionResponse class]]; +} + +- (void) test_AWSTextractDeleteAdapterRequest { + [self validateSecureCodingForClass:[AWSTextractDeleteAdapterRequest class]]; +} + +- (void) test_AWSTextractDeleteAdapterResponse { + [self validateSecureCodingForClass:[AWSTextractDeleteAdapterResponse class]]; +} + +- (void) test_AWSTextractDeleteAdapterVersionRequest { + [self validateSecureCodingForClass:[AWSTextractDeleteAdapterVersionRequest class]]; +} + +- (void) test_AWSTextractDeleteAdapterVersionResponse { + [self validateSecureCodingForClass:[AWSTextractDeleteAdapterVersionResponse class]]; +} + - (void) test_AWSTextractDetectDocumentTextRequest { [self validateSecureCodingForClass:[AWSTextractDetectDocumentTextRequest class]]; } @@ -156,6 +243,10 @@ - (void) test_AWSTextractDocumentMetadata { [self validateSecureCodingForClass:[AWSTextractDocumentMetadata class]]; } +- (void) test_AWSTextractEvaluationMetric { + [self validateSecureCodingForClass:[AWSTextractEvaluationMetric class]]; +} + - (void) test_AWSTextractExpenseCurrency { [self validateSecureCodingForClass:[AWSTextractExpenseCurrency class]]; } @@ -188,6 +279,22 @@ - (void) test_AWSTextractGeometry { [self validateSecureCodingForClass:[AWSTextractGeometry class]]; } +- (void) test_AWSTextractGetAdapterRequest { + [self validateSecureCodingForClass:[AWSTextractGetAdapterRequest class]]; +} + +- (void) test_AWSTextractGetAdapterResponse { + [self validateSecureCodingForClass:[AWSTextractGetAdapterResponse class]]; +} + +- (void) test_AWSTextractGetAdapterVersionRequest { + [self validateSecureCodingForClass:[AWSTextractGetAdapterVersionRequest class]]; +} + +- (void) test_AWSTextractGetAdapterVersionResponse { + [self validateSecureCodingForClass:[AWSTextractGetAdapterVersionResponse class]]; +} + - (void) test_AWSTextractGetDocumentAnalysisRequest { [self validateSecureCodingForClass:[AWSTextractGetDocumentAnalysisRequest class]]; } @@ -276,6 +383,30 @@ - (void) test_AWSTextractLineItemGroup { [self validateSecureCodingForClass:[AWSTextractLineItemGroup class]]; } +- (void) test_AWSTextractListAdapterVersionsRequest { + [self validateSecureCodingForClass:[AWSTextractListAdapterVersionsRequest class]]; +} + +- (void) test_AWSTextractListAdapterVersionsResponse { + [self validateSecureCodingForClass:[AWSTextractListAdapterVersionsResponse class]]; +} + +- (void) test_AWSTextractListAdaptersRequest { + [self validateSecureCodingForClass:[AWSTextractListAdaptersRequest class]]; +} + +- (void) test_AWSTextractListAdaptersResponse { + [self validateSecureCodingForClass:[AWSTextractListAdaptersResponse class]]; +} + +- (void) test_AWSTextractListTagsForResourceRequest { + [self validateSecureCodingForClass:[AWSTextractListTagsForResourceRequest class]]; +} + +- (void) test_AWSTextractListTagsForResourceResponse { + [self validateSecureCodingForClass:[AWSTextractListTagsForResourceResponse class]]; +} + - (void) test_AWSTextractNormalizedValue { [self validateSecureCodingForClass:[AWSTextractNormalizedValue class]]; } @@ -356,10 +487,34 @@ - (void) test_AWSTextractStartLendingAnalysisResponse { [self validateSecureCodingForClass:[AWSTextractStartLendingAnalysisResponse class]]; } +- (void) test_AWSTextractTagResourceRequest { + [self validateSecureCodingForClass:[AWSTextractTagResourceRequest class]]; +} + +- (void) test_AWSTextractTagResourceResponse { + [self validateSecureCodingForClass:[AWSTextractTagResourceResponse class]]; +} + - (void) test_AWSTextractUndetectedSignature { [self validateSecureCodingForClass:[AWSTextractUndetectedSignature class]]; } +- (void) test_AWSTextractUntagResourceRequest { + [self validateSecureCodingForClass:[AWSTextractUntagResourceRequest class]]; +} + +- (void) test_AWSTextractUntagResourceResponse { + [self validateSecureCodingForClass:[AWSTextractUntagResourceResponse class]]; +} + +- (void) test_AWSTextractUpdateAdapterRequest { + [self validateSecureCodingForClass:[AWSTextractUpdateAdapterRequest class]]; +} + +- (void) test_AWSTextractUpdateAdapterResponse { + [self validateSecureCodingForClass:[AWSTextractUpdateAdapterResponse class]]; +} + - (void) test_AWSTextractWarning { [self validateSecureCodingForClass:[AWSTextractWarning class]]; } diff --git a/AWSTranscribe.podspec b/AWSTranscribe.podspec index 9e3c1773b38..91f5e15109d 100644 --- a/AWSTranscribe.podspec +++ b/AWSTranscribe.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribe' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSTranscribe/*.{h,m}' end diff --git a/AWSTranscribe/AWSTranscribeModel.h b/AWSTranscribe/AWSTranscribeModel.h index 4cb8a0c67f6..02d1a2431f2 100644 --- a/AWSTranscribe/AWSTranscribeModel.h +++ b/AWSTranscribe/AWSTranscribeModel.h @@ -113,6 +113,7 @@ typedef NS_ENUM(NSInteger, AWSTranscribeMediaFormat) { AWSTranscribeMediaFormatOgg, AWSTranscribeMediaFormatAmr, AWSTranscribeMediaFormatWebm, + AWSTranscribeMediaFormatM4a, }; typedef NS_ENUM(NSInteger, AWSTranscribeMedicalContentIdentificationType) { diff --git a/AWSTranscribe/AWSTranscribeModel.m b/AWSTranscribe/AWSTranscribeModel.m index eedf6cde306..2419610f101 100644 --- a/AWSTranscribe/AWSTranscribeModel.m +++ b/AWSTranscribe/AWSTranscribeModel.m @@ -345,6 +345,9 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { if ([value caseInsensitiveCompare:@"webm"] == NSOrderedSame) { return @(AWSTranscribeMediaFormatWebm); } + if ([value caseInsensitiveCompare:@"m4a"] == NSOrderedSame) { + return @(AWSTranscribeMediaFormatM4a); + } return @(AWSTranscribeMediaFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -362,6 +365,8 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { return @"amr"; case AWSTranscribeMediaFormatWebm: return @"webm"; + case AWSTranscribeMediaFormatM4a: + return @"m4a"; default: return nil; } @@ -5060,6 +5065,9 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { if ([value caseInsensitiveCompare:@"webm"] == NSOrderedSame) { return @(AWSTranscribeMediaFormatWebm); } + if ([value caseInsensitiveCompare:@"m4a"] == NSOrderedSame) { + return @(AWSTranscribeMediaFormatM4a); + } return @(AWSTranscribeMediaFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -5077,6 +5085,8 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { return @"amr"; case AWSTranscribeMediaFormatWebm: return @"webm"; + case AWSTranscribeMediaFormatM4a: + return @"m4a"; default: return nil; } @@ -6058,6 +6068,9 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { if ([value caseInsensitiveCompare:@"webm"] == NSOrderedSame) { return @(AWSTranscribeMediaFormatWebm); } + if ([value caseInsensitiveCompare:@"m4a"] == NSOrderedSame) { + return @(AWSTranscribeMediaFormatM4a); + } return @(AWSTranscribeMediaFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -6075,6 +6088,8 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { return @"amr"; case AWSTranscribeMediaFormatWebm: return @"webm"; + case AWSTranscribeMediaFormatM4a: + return @"m4a"; default: return nil; } @@ -6426,6 +6441,9 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { if ([value caseInsensitiveCompare:@"webm"] == NSOrderedSame) { return @(AWSTranscribeMediaFormatWebm); } + if ([value caseInsensitiveCompare:@"m4a"] == NSOrderedSame) { + return @(AWSTranscribeMediaFormatM4a); + } return @(AWSTranscribeMediaFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -6443,6 +6461,8 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { return @"amr"; case AWSTranscribeMediaFormatWebm: return @"webm"; + case AWSTranscribeMediaFormatM4a: + return @"m4a"; default: return nil; } @@ -6959,6 +6979,9 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { if ([value caseInsensitiveCompare:@"webm"] == NSOrderedSame) { return @(AWSTranscribeMediaFormatWebm); } + if ([value caseInsensitiveCompare:@"m4a"] == NSOrderedSame) { + return @(AWSTranscribeMediaFormatM4a); + } return @(AWSTranscribeMediaFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -6976,6 +6999,8 @@ + (NSValueTransformer *)mediaFormatJSONTransformer { return @"amr"; case AWSTranscribeMediaFormatWebm: return @"webm"; + case AWSTranscribeMediaFormatM4a: + return @"m4a"; default: return nil; } diff --git a/AWSTranscribe/AWSTranscribeResources.m b/AWSTranscribe/AWSTranscribeResources.m index e3d01cee397..7698cf2d773 100644 --- a/AWSTranscribe/AWSTranscribeResources.m +++ b/AWSTranscribe/AWSTranscribeResources.m @@ -2095,7 +2095,8 @@ - (NSString *)definitionString { \"flac\",\ \"ogg\",\ \"amr\",\ - \"webm\"\ + \"webm\",\ + \"m4a\"\ ]\ },\ \"MediaSampleRateHertz\":{\ diff --git a/AWSTranscribe/AWSTranscribeService.m b/AWSTranscribe/AWSTranscribeService.m index e4cb61b7484..cd1c72c7b8c 100644 --- a/AWSTranscribe/AWSTranscribeService.m +++ b/AWSTranscribe/AWSTranscribeService.m @@ -25,7 +25,7 @@ #import "AWSTranscribeResources.h" static NSString *const AWSInfoTranscribe = @"Transcribe"; -NSString *const AWSTranscribeSDKVersion = @"2.33.4"; +NSString *const AWSTranscribeSDKVersion = @"2.33.5"; @interface AWSTranscribeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribe/Info.plist b/AWSTranscribe/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSTranscribe/Info.plist +++ b/AWSTranscribe/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribeStreaming.podspec b/AWSTranscribeStreaming.podspec index 5aad8c7bc9f..a7295f56463 100644 --- a/AWSTranscribeStreaming.podspec +++ b/AWSTranscribeStreaming.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribeStreaming' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + s.dependency 'AWSCore', '2.33.5' 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' end diff --git a/AWSTranscribeStreaming/AWSTranscribeStreamingService.m b/AWSTranscribeStreaming/AWSTranscribeStreamingService.m index 98ca7de45b3..4aca2870b97 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.33.4"; +NSString *const AWSTranscribeStreamingSDKVersion = @"2.33.5"; @interface AWSTranscribeStreamingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribeStreaming/Info.plist b/AWSTranscribeStreaming/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSTranscribeStreaming/Info.plist +++ b/AWSTranscribeStreaming/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranslate.podspec b/AWSTranslate.podspec index 77892f7b53d..9b5ca939a7f 100644 --- a/AWSTranslate.podspec +++ b/AWSTranslate.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranslate' - s.version = '2.33.4' + s.version = '2.33.5' 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,6 +12,6 @@ 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.33.4' + s.dependency 'AWSCore', '2.33.5' s.source_files = 'AWSTranslate/*.{h,m}' end diff --git a/AWSTranslate/AWSTranslateService.m b/AWSTranslate/AWSTranslateService.m index 4d3186426ff..fe8d4fa2961 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.33.4"; +NSString *const AWSTranslateSDKVersion = @"2.33.5"; @interface AWSTranslateResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranslate/Info.plist b/AWSTranslate/Info.plist index a2c2de79b02..e4fb6d14e33 100644 --- a/AWSTranslate/Info.plist +++ b/AWSTranslate/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.33.4 + 2.33.5 CFBundleSignature ???? CFBundleVersion diff --git a/AWSUserPoolsSignIn.podspec b/AWSUserPoolsSignIn.podspec index 0dccbf4f4bf..86968a93ad0 100644 --- a/AWSUserPoolsSignIn.podspec +++ b/AWSUserPoolsSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSUserPoolsSignIn' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' - s.dependency 'AWSAuthCore', '2.33.4' - s.dependency 'AWSCore', '2.33.4' + s.dependency 'AWSCognitoIdentityProvider', '2.33.5' + s.dependency 'AWSAuthCore', '2.33.5' + s.dependency 'AWSCore', '2.33.5' 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 731c852dbb8..c935e99d375 100644 --- a/AWSiOSSDKv2.podspec +++ b/AWSiOSSDKv2.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSiOSSDKv2' - s.version = '2.33.4' + s.version = '2.33.5' 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.33.4' + sub.dependency 'AWSCognitoIdentityProvider', '2.33.5' end # Used by all service-api subspecs s.subspec 'AWSCore' do |sub| - sub.dependency 'AWSCore', '2.33.4' + sub.dependency 'AWSCore', '2.33.5' end # Service-api subspecs s.subspec 'AWSAPIGateway' do |sub| - sub.dependency 'AWSAPIGateway', '2.33.4' + sub.dependency 'AWSAPIGateway', '2.33.5' end s.subspec 'AutoScaling' do |sub| - sub.dependency 'AWSAutoScaling', '2.33.4' + sub.dependency 'AWSAutoScaling', '2.33.5' end s.subspec 'CloudWatch' do |sub| - sub.dependency 'AWSCloudWatch', '2.33.4' + sub.dependency 'AWSCloudWatch', '2.33.5' end s.subspec 'AWSComprehend' do |sub| - sub.dependency 'AWSComprehend', '2.33.4' + sub.dependency 'AWSComprehend', '2.33.5' end s.subspec 'AWSConnect' do |sub| - sub.dependency 'AWSConnect', '2.33.4' + sub.dependency 'AWSConnect', '2.33.5' end s.subspec 'AWSConnectParticipant' do |sub| - sub.dependency 'AWSConnectParticipant', '2.33.4' + sub.dependency 'AWSConnectParticipant', '2.33.5' end s.subspec 'DynamoDB' do |sub| - sub.dependency 'AWSDynamoDB', '2.33.4' + sub.dependency 'AWSDynamoDB', '2.33.5' end s.subspec 'EC2' do |sub| - sub.dependency 'AWSEC2', '2.33.4' + sub.dependency 'AWSEC2', '2.33.5' end s.subspec 'ElasticLoadBalancing' do |sub| - sub.dependency 'AWSElasticLoadBalancing', '2.33.4' + sub.dependency 'AWSElasticLoadBalancing', '2.33.5' end s.subspec 'AWSIoT' do |sub| - sub.dependency 'AWSIoT', '2.33.4' + sub.dependency 'AWSIoT', '2.33.5' end s.subspec 'AWSKMS' do |sub| - sub.dependency 'AWSKMS', '2.33.4' + sub.dependency 'AWSKMS', '2.33.5' end s.subspec 'Kinesis' do |sub| - sub.dependency 'AWSKinesis', '2.33.4' + sub.dependency 'AWSKinesis', '2.33.5' end # KinesisVideo not released as part of AWSiOSSDKv2 # KinesisVideoArchivedMedia not released as part of AWSiOSSDKv2 s.subspec 'KinesisVideoSignaling' do |sub| - sub.dependency 'AWSKinesisVideoSignaling', '2.33.4' + sub.dependency 'AWSKinesisVideoSignaling', '2.33.5' end s.subspec 'AWSLambda' do |sub| - sub.dependency 'AWSLambda', '2.33.4' + sub.dependency 'AWSLambda', '2.33.5' end s.subspec 'AWSLex' do |sub| - sub.dependency 'AWSLex', '2.33.4' + sub.dependency 'AWSLex', '2.33.5' end s.subspec 'AWSLogs' do |sub| - sub.dependency 'AWSLogs', '2.33.4' + sub.dependency 'AWSLogs', '2.33.5' end s.subspec 'AWSMachineLearning' do |sub| - sub.dependency 'AWSMachineLearning', '2.33.4' + sub.dependency 'AWSMachineLearning', '2.33.5' end s.subspec 'Pinpoint' do |sub| - sub.dependency 'AWSPinpoint', '2.33.4' + sub.dependency 'AWSPinpoint', '2.33.5' end s.subspec 'AWSPolly' do |sub| - sub.dependency 'AWSPolly', '2.33.4' + sub.dependency 'AWSPolly', '2.33.5' end s.subspec 'AWSRekognition' do |sub| - sub.dependency 'AWSRekognition', '2.33.4' + sub.dependency 'AWSRekognition', '2.33.5' end s.subspec 'AWSS3' do |sub| - sub.dependency 'AWSS3', '2.33.4' + sub.dependency 'AWSS3', '2.33.5' end s.subspec 'AWSSES' do |sub| - sub.dependency 'AWSSES', '2.33.4' + sub.dependency 'AWSSES', '2.33.5' end s.subspec 'AWSSNS' do |sub| - sub.dependency 'AWSSNS', '2.33.4' + sub.dependency 'AWSSNS', '2.33.5' end s.subspec 'AWSSQS' do |sub| - sub.dependency 'AWSSQS', '2.33.4' + sub.dependency 'AWSSQS', '2.33.5' end s.subspec 'AWSSageMakerRuntime' do |sub| - sub.dependency 'AWSSageMakerRuntime', '2.33.4' + sub.dependency 'AWSSageMakerRuntime', '2.33.5' end s.subspec 'AWSSimpleDB' do |sub| - sub.dependency 'AWSSimpleDB', '2.33.4' + sub.dependency 'AWSSimpleDB', '2.33.5' end s.subspec 'AWSTextract' do |sub| - sub.dependency 'AWSTextract', '2.33.4' + sub.dependency 'AWSTextract', '2.33.5' end s.subspec 'AWSTranscribe' do |sub| - sub.dependency 'AWSTranscribe', '2.33.4' + sub.dependency 'AWSTranscribe', '2.33.5' 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.33.4' + sub.dependency 'AWSTranslate', '2.33.5' end end diff --git a/CHANGELOG.md b/CHANGELOG.md index 613269b9e9a..7856b3c16d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,31 +1,44 @@ - # AWS Mobile SDK for iOS CHANGELOG -## Unreleased +### Bug Fixes --Features for next release +- IoT + - fix(IoT): Fixing naming collision with SocketRocket + +### Misc. Updates + +- Model updates for the following services + - AWSCognitoIdentityProvider + - AWSConnect + - AWSConnectParticipant + - AWSElasticLoadBalancingv2 + - AWSEC2 + - AWSFirehose + - AWSPolly + - AWSIoT + - AWSLambda ## 2.33.4 ### Misc. Updates - Model updates for the following services - - AWSDynamoDB - - AWSEC2 - - AWSSTS - - AWSLambda - - AWSPolly - - AWSSES - - AWSEC2 - - AWSConnect - - AWSElasticLoadBalancingv2 - - AWSKinesisVideo - - AWSRekognition - - AWSKinesisVideoArchivedMedia - - AWSAutoScaling - - AWSCognitoIdentityProvider - - AWSPinpoint - - AWSSQS + - AWSDynamoDB + - AWSEC2 + - AWSSTS + - AWSLambda + - AWSPolly + - AWSSES + - AWSEC2 + - AWSConnect + - AWSElasticLoadBalancingv2 + - AWSKinesisVideo + - AWSRekognition + - AWSKinesisVideoArchivedMedia + - AWSAutoScaling + - AWSCognitoIdentityProvider + - AWSPinpoint + - AWSSQS ## 2.33.3 @@ -33,7 +46,7 @@ - **AWSCore** - Support for `il-central-1` - Israel (Tel Aviv) (see [AWS Regional Services List](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) for a list of services supported in the region) -## 2.33.2 +## 2.33.2 ### Bug Fixes - **AWSAuthUI** @@ -86,7 +99,7 @@ ### Bug Fixes - **AWSAuthUI** - Fix ability to hide keyboard in `AWSSignInViewController`, using `keyboardDismissMode` - - Fix black navigation bar in `AWSSignInViewController`, using view controllers option to 'Extend edges Under Opaque Bars'. + - Fix black navigation bar in `AWSSignInViewController`, using view controllers option to 'Extend edges Under Opaque Bars'. [Issue #2321](https://github.com/aws-amplify/aws-sdk-ios/issues/2321) ## 2.33.0 @@ -120,7 +133,7 @@ ### Bug Fixes - **AWSS3** - - Increase speed of foreground uploads by specifying `NetworkServiceType` + - Increase speed of foreground uploads by specifying `NetworkServiceType` ## 2.31.0 @@ -128,7 +141,7 @@ - **AWSMobileClient** - Handling AWSMobileClient state issues gracefully handled gracefully - + - **AWSIot** - Include the certificate tag in Keychain query to look up identity @@ -139,7 +152,7 @@ - AWSComprehend - AWSConnect - AWSDynamoDB - - AWSEC2 + - AWSEC2 - AWSIoT - AWSLambda - AWSLocation @@ -177,7 +190,7 @@ - **AWSS3** - Fixing the integration tests by using correct value for AWSS3ServerSideEncryption (See [PR #4592](https://github.com/aws-amplify/aws-sdk-ios/pull/4592)) - + - Model updates for the following services - AWSEC2 - AWSKMS diff --git a/CircleciScripts/cocoapods_release.py b/CircleciScripts/cocoapods_release.py index 7be584e0978..033b29da047 100644 --- a/CircleciScripts/cocoapods_release.py +++ b/CircleciScripts/cocoapods_release.py @@ -21,6 +21,7 @@ def get_cocoapods_trunk_token(): os.environ['COCOAPODS_TRUNK_TOKEN'] = get_cocoapods_trunk_token() log("Retrieved CocoaPods token") +retry_intervals = [30, 60, 210] def publish(framework: str, retryAttempt: int = 0): # Most pods take a few minutes to build, and a few seconds to push to trunk. However, the @@ -28,14 +29,13 @@ def publish(framework: str, retryAttempt: int = 0): # part of its linting process, so set the timeout accordingly. (exit_code, out, err) = run_command( ["bundle", "exec", "pod", "trunk", "push", f"{framework}.podspec", "--allow-warnings", "--synchronous"], - keepalive_interval=300, + keepalive_interval=retry_intervals[retryAttempt % len(retry_intervals)], timeout=3600, ) if retryAttempt < 3 and exit_code != 0 and "Unable to accept duplicate entry for" not in str(out): - retryAttempt += 1 log(f"Retrying {framework}") - return publish(framework=framework, retryAttempt=retryAttempt) + return publish(framework=framework, retryAttempt=retryAttempt + 1) return (exit_code, out, err) log("Publishing CocoaPods") diff --git a/CircleciScripts/generate_documentation.sh b/CircleciScripts/generate_documentation.sh index 29746c2ab8a..a71aa557dcc 100644 --- a/CircleciScripts/generate_documentation.sh +++ b/CircleciScripts/generate_documentation.sh @@ -6,7 +6,7 @@ set -x -SDK_VERSION="2.33.4" +SDK_VERSION="2.33.5" GITHUB_DOC_ROOT=https://aws-amplify.github.io GITHUB_SOURCE_ROOT=https://github.com/aws-amplify/aws-sdk-ios diff --git a/Gemfile.lock b/Gemfile.lock index ef695b1878d..489fe855fa8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,7 +3,7 @@ GEM specs: CFPropertyList (3.0.5) rexml - activesupport (6.1.7.3) + activesupport (6.1.7.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -63,7 +63,7 @@ GEM fuzzy_match (2.0.4) gh_inspector (1.1.3) httpclient (2.8.3) - i18n (1.12.0) + i18n (1.14.1) concurrent-ruby (~> 1.0) jazzy (0.14.2) cocoapods (~> 1.5) @@ -77,7 +77,7 @@ GEM xcinvoke (~> 0.3.0) json (2.6.1) liferaft (0.0.6) - minitest (5.18.0) + minitest (5.19.0) molinillo (0.8.0) mustache (1.1.1) nanaimo (0.3.0) @@ -107,7 +107,7 @@ GEM rexml (~> 3.2.4) xcpretty (0.3.0) rouge (~> 2.0.7) - zeitwerk (2.6.7) + zeitwerk (2.6.11) PLATFORMS ruby diff --git a/README.md b/README.md index 74cc65c343d..06671db818e 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@ [![Release](https://img.shields.io/github/release/aws/aws-sdk-ios.svg)](../../releases) [![CocoaPods](https://img.shields.io/cocoapods/v/AWSCore.svg)](https://cocoapods.org/pods/AWSCore) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![CircleCI](https://circleci.com/gh/aws-amplify/aws-sdk-ios.svg?style=svg)](https://circleci.com/gh/aws-amplify/aws-sdk-ios) +[![Integration Test](https://github.com/aws-amplify/aws-sdk-ios/actions/workflows/integ-test.yml/badge.svg)](https://github.com/aws-amplify/aws-sdk-ios) +[![Unit Test](https://github.com/aws-amplify/aws-sdk-ios/actions/workflows/unit-test.yml/badge.svg)](https://github.com/aws-amplify/aws-sdk-ios) [![Discord](https://img.shields.io/discord/308323056592486420?logo=discord)](https://discord.gg/jWVbPfC) The AWS SDK for iOS provides a library and documentation for developers to build connected mobile applications using AWS.