From 30c4245f1d5d1410ae694803627d3f2ea07ffba0 Mon Sep 17 00:00:00 2001 From: Sebastian Villena <97059974+ruisebas@users.noreply.github.com> Date: Wed, 15 May 2024 14:41:41 -0400 Subject: [PATCH 01/14] chore: Reporting Code Coverage to Codecov (#5168) --- .github/workflows/report-code-coverage.yml | 43 +++++++++++++++ .../xcschemes/AWSAllUnitTests.xcscheme | 53 ++++++++++++++++++- README.md | 1 + codecov.yml | 9 ++++ 4 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/report-code-coverage.yml create mode 100644 codecov.yml diff --git a/.github/workflows/report-code-coverage.yml b/.github/workflows/report-code-coverage.yml new file mode 100644 index 00000000000..2df559a57a0 --- /dev/null +++ b/.github/workflows/report-code-coverage.yml @@ -0,0 +1,43 @@ +name: Report Code Coverage + +on: + push: + branches: [ main ] + +jobs: + unit-tests: + name: All SDK Unit Tests + runs-on: macos-latest + continue-on-error: true + steps: + - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 + - name: Run AWS SDK Unit Tests + run: xcodebuild test -project AWSiOSSDKv2.xcodeproj -scheme AWSAllUnitTests -sdk 'iphonesimulator' -destination 'platform=iOS Simulator,name=iPhone 14,OS=latest' -derivedDataPath Build/ -enableCodeCoverage YES | xcpretty --simple --color --report junit && exit ${PIPESTATUS[0]} + - name: Generate SDK Coverage Report + run: | + cd Build/Build/ProfileData + cd $(ls -d */|head -n 1) + pathCoverage=${{ github.workspace }}/Build/Build/ProfileData/${PWD##*/}/Coverage.profdata + devicePath=${{ github.workspace }}/Build/Build/Products/Debug-iphonesimulator + cd $devicePath + for FRAMEWORK in $(basename -a -s .framework -- *.framework) + do + echo "Generating coverage report for $FRAMEWORK..." + xcrun llvm-cov export -format="lcov" -instr-profile $pathCoverage $devicePath/$FRAMEWORK.framework/$FRAMEWORK >> aws-sdk-ios-Coverage.lcov + done + mv aws-sdk-ios-Coverage.lcov ${{ github.workspace }} + - name: Run AWS Auth SDK Unit Tests + run: xcodebuild test -project AWSAuthSDK/AWSAuthSDK.xcodeproj -scheme AWSMobileClient -sdk 'iphonesimulator' -destination 'platform=iOS Simulator,name=iPhone 14,OS=latest' -derivedDataPath Build/ -enableCodeCoverage YES -only-testing:"AWSMobileClientUnitTests" | xcpretty --simple --color --report junit && exit ${PIPESTATUS[0]} + - name: Generate Auth SDK Coverage Report + run: | + cd Build/Build/ProfileData + cd $(ls -d */|head -n 1) + pathCoverage=Build/Build/ProfileData/${PWD##*/}/Coverage.profdata + cd ${{ github.workspace }} + echo "Generating coverage report for AWSMobileClient..." + xcrun llvm-cov export -format="lcov" -instr-profile $pathCoverage Build/Build/Products/Debug-iphonesimulator/AWSAuthSDKTestApp.app/Frameworks/AWSMobileClient.framework/AWSMobileClient >> aws-sdk-ios-Coverage.lcov + - name: Upload Coverage Report + uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # v4.3.0 + with: + flags: AWS-SDK + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/AWSiOSSDKv2.xcodeproj/xcshareddata/xcschemes/AWSAllUnitTests.xcscheme b/AWSiOSSDKv2.xcodeproj/xcshareddata/xcschemes/AWSAllUnitTests.xcscheme index 7c3b9d6de96..91f7ddd8e26 100644 --- a/AWSiOSSDKv2.xcodeproj/xcshareddata/xcschemes/AWSAllUnitTests.xcscheme +++ b/AWSiOSSDKv2.xcodeproj/xcshareddata/xcschemes/AWSAllUnitTests.xcscheme @@ -40,7 +40,8 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES" + codeCoverageEnabled = "YES"> @@ -402,6 +403,56 @@ ReferencedContainer = "container:AWSiOSSDKv2.xcodeproj"> + + + + + + + + + + + + + + + + + + + + Date: Wed, 15 May 2024 17:38:12 -0400 Subject: [PATCH 02/14] chore: Fixing coverage workflow (#5338) --- .github/workflows/report-code-coverage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/report-code-coverage.yml b/.github/workflows/report-code-coverage.yml index 2df559a57a0..29ae72a351d 100644 --- a/.github/workflows/report-code-coverage.yml +++ b/.github/workflows/report-code-coverage.yml @@ -7,7 +7,7 @@ on: jobs: unit-tests: name: All SDK Unit Tests - runs-on: macos-latest + runs-on: macos-12 continue-on-error: true steps: - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 From 6ef6e9fcd3f7129b5d232699caee40654af97eca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 13:02:04 -0700 Subject: [PATCH 03/14] chore(deps): bump rexml from 3.2.5 to 3.2.8 (#5343) Bumps [rexml](https://github.com/ruby/rexml) from 3.2.5 to 3.2.8. - [Release notes](https://github.com/ruby/rexml/releases) - [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md) - [Commits](https://github.com/ruby/rexml/compare/v3.2.5...v3.2.8) --- updated-dependencies: - dependency-name: rexml dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 489fe855fa8..70ef27c4708 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -86,12 +86,14 @@ GEM open4 (1.3.4) public_suffix (4.0.6) redcarpet (3.5.1) - rexml (3.2.5) + rexml (3.2.8) + strscan (>= 3.0.9) rouge (2.0.7) ruby-macho (2.5.1) sassc (2.4.0) ffi (~> 1.9) sqlite3 (1.4.2) + strscan (3.1.0) typhoeus (1.4.0) ethon (>= 0.9.0) tzinfo (2.0.6) From bd6ea315de0ccfe1bd7fd1e444a12ad1c485d347 Mon Sep 17 00:00:00 2001 From: Sebastian Villena <97059974+ruisebas@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:13:41 -0400 Subject: [PATCH 04/14] fix(AWSCore): Fixing a name collision with CocoaLumberjack (#5361) --- AWSCore/Logging/AWSDDFileLogger.m | 8 ++++---- CHANGELOG.md | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/AWSCore/Logging/AWSDDFileLogger.m b/AWSCore/Logging/AWSDDFileLogger.m index 6a95011d03c..7d0b6c42c13 100644 --- a/AWSCore/Logging/AWSDDFileLogger.m +++ b/AWSCore/Logging/AWSDDFileLogger.m @@ -43,7 +43,7 @@ #if TARGET_OS_IPHONE -BOOL doesAppRunInBackground(void); +BOOL awsDoesAppRunInBackground(void); #endif unsigned long long const kAWSDDDefaultLogMaxFileSize = 1024 * 1024; // 1 MB @@ -174,7 +174,7 @@ - (void)setMaximumNumberOfLogFiles:(NSUInteger)maximumNumberOfLogFiles { - (NSFileProtectionType)logFileProtection { if (_defaultFileProtectionLevel.length > 0) { return _defaultFileProtectionLevel; - } else if (doesAppRunInBackground()) { + } else if (awsDoesAppRunInBackground()) { return NSFileProtectionCompleteUntilFirstUserAuthentication; } else { return NSFileProtectionCompleteUnlessOpen; @@ -1026,7 +1026,7 @@ - (BOOL)lt_shouldLogFileBeArchived:(AWSDDLogFileInfo *)mostRecentLogFileInfo { // a new one. // // If user has overwritten to NSFileProtectionNone there is no need to create a new one. - if (doesAppRunInBackground()) { + if (awsDoesAppRunInBackground()) { NSFileProtectionType key = mostRecentLogFileInfo.fileAttributes[NSFileProtectionKey]; __auto_type isUntilFirstAuth = [key isEqualToString:NSFileProtectionCompleteUntilFirstUserAuthentication]; __auto_type isNone = [key isEqualToString:NSFileProtectionNone]; @@ -1846,7 +1846,7 @@ - (NSComparisonResult)reverseCompareByModificationDate:(AWSDDLogFileInfo *)anoth * want (even if device is locked). Thats why that attribute have to be changed to * NSFileProtectionCompleteUntilFirstUserAuthentication. */ -BOOL doesAppRunInBackground(void) { +BOOL awsDoesAppRunInBackground(void) { if ([[[NSBundle mainBundle] executablePath] containsString:@".appex/"]) { return YES; } diff --git a/CHANGELOG.md b/CHANGELOG.md index 72e740cb7a4..edec54c37fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ ## Unreleased --Features for next release +- **AWSCore** + - Fixing a name collision with CocoaLumberjack (#5361) ## 2.36.2 From 39e1bd5a6dd28167e8fef8e4ef71e5fce8f3f368 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:23:23 -0700 Subject: [PATCH 05/14] feat(AWSConnect): update models to latest (#5358) --- AWSConnect/AWSConnectModel.h | 1171 +++++++++++++- AWSConnect/AWSConnectModel.m | 1382 ++++++++++++++++- AWSConnect/AWSConnectResources.m | 1249 ++++++++++++++- AWSConnect/AWSConnectService.h | 215 ++- AWSConnect/AWSConnectService.m | 161 ++ .../AWSConnectNSSecureCodingTests.m | 200 +++ AWSConnectUnitTests/AWSGeneralConnectTests.m | 336 ++++ 7 files changed, 4614 insertions(+), 100 deletions(-) diff --git a/AWSConnect/AWSConnectModel.h b/AWSConnect/AWSConnectModel.h index ffdb113acdd..9422c2cf9f8 100644 --- a/AWSConnect/AWSConnectModel.h +++ b/AWSConnect/AWSConnectModel.h @@ -59,6 +59,7 @@ typedef NS_ENUM(NSInteger, AWSConnectActionType) { AWSConnectActionTypeCreateCase, AWSConnectActionTypeUpdateCase, AWSConnectActionTypeEndAssociatedTasks, + AWSConnectActionTypeSubmitAutoEvaluation, }; typedef NS_ENUM(NSInteger, AWSConnectAgentAvailabilityTimer) { @@ -80,6 +81,24 @@ typedef NS_ENUM(NSInteger, AWSConnectAgentStatusType) { AWSConnectAgentStatusTypeOffline, }; +typedef NS_ENUM(NSInteger, AWSConnectAnsweringMachineDetectionStatus) { + AWSConnectAnsweringMachineDetectionStatusUnknown, + AWSConnectAnsweringMachineDetectionStatusAnswered, + AWSConnectAnsweringMachineDetectionStatusUndetected, + AWSConnectAnsweringMachineDetectionStatusError, + AWSConnectAnsweringMachineDetectionStatusHumanAnswered, + AWSConnectAnsweringMachineDetectionStatusSitToneDetected, + AWSConnectAnsweringMachineDetectionStatusSitToneBusy, + AWSConnectAnsweringMachineDetectionStatusSitToneInvalidNumber, + AWSConnectAnsweringMachineDetectionStatusFaxMachineDetected, + AWSConnectAnsweringMachineDetectionStatusVoicemailBeep, + AWSConnectAnsweringMachineDetectionStatusVoicemailNoBeep, + AWSConnectAnsweringMachineDetectionStatusAmdUnresolved, + AWSConnectAnsweringMachineDetectionStatusAmdUnanswered, + AWSConnectAnsweringMachineDetectionStatusAmdError, + AWSConnectAnsweringMachineDetectionStatusAmdNotApplicable, +}; + typedef NS_ENUM(NSInteger, AWSConnectArtifactStatus) { AWSConnectArtifactStatusUnknown, AWSConnectArtifactStatusApproved, @@ -87,6 +106,13 @@ typedef NS_ENUM(NSInteger, AWSConnectArtifactStatus) { AWSConnectArtifactStatusInProgress, }; +typedef NS_ENUM(NSInteger, AWSConnectAttachedFileInvalidRequestExceptionReason) { + AWSConnectAttachedFileInvalidRequestExceptionReasonUnknown, + AWSConnectAttachedFileInvalidRequestExceptionReasonInvalidFileSize, + AWSConnectAttachedFileInvalidRequestExceptionReasonInvalidFileType, + AWSConnectAttachedFileInvalidRequestExceptionReasonInvalidFileName, +}; + typedef NS_ENUM(NSInteger, AWSConnectBehaviorType) { AWSConnectBehaviorTypeUnknown, AWSConnectBehaviorTypeRouteCurrentChannelOnly, @@ -130,6 +156,12 @@ typedef NS_ENUM(NSInteger, AWSConnectContactFlowState) { AWSConnectContactFlowStateArchived, }; +typedef NS_ENUM(NSInteger, AWSConnectContactFlowStatus) { + AWSConnectContactFlowStatusUnknown, + AWSConnectContactFlowStatusPublished, + AWSConnectContactFlowStatusSaved, +}; + typedef NS_ENUM(NSInteger, AWSConnectContactFlowType) { AWSConnectContactFlowTypeUnknown, AWSConnectContactFlowTypeContactFlow, @@ -271,6 +303,19 @@ typedef NS_ENUM(NSInteger, AWSConnectFailureReasonCode) { AWSConnectFailureReasonCodeInternalError, }; +typedef NS_ENUM(NSInteger, AWSConnectFileStatusType) { + AWSConnectFileStatusTypeUnknown, + AWSConnectFileStatusTypeApproved, + AWSConnectFileStatusTypeRejected, + AWSConnectFileStatusTypeProcessing, + AWSConnectFileStatusTypeFailed, +}; + +typedef NS_ENUM(NSInteger, AWSConnectFileUseCaseType) { + AWSConnectFileUseCaseTypeUnknown, + AWSConnectFileUseCaseTypeAttachment, +}; + typedef NS_ENUM(NSInteger, AWSConnectFlowAssociationResourceType) { AWSConnectFlowAssociationResourceTypeUnknown, AWSConnectFlowAssociationResourceTypeSmsPhoneNumber, @@ -819,6 +864,14 @@ typedef NS_ENUM(NSInteger, AWSConnectResourceType) { AWSConnectResourceTypePhoneNumber, }; +typedef NS_ENUM(NSInteger, AWSConnectRoutingCriteriaStepStatus) { + AWSConnectRoutingCriteriaStepStatusUnknown, + AWSConnectRoutingCriteriaStepStatusActive, + AWSConnectRoutingCriteriaStepStatusInactive, + AWSConnectRoutingCriteriaStepStatusJoined, + AWSConnectRoutingCriteriaStepStatusExpired, +}; + typedef NS_ENUM(NSInteger, AWSConnectRulePublishStatus) { AWSConnectRulePublishStatusUnknown, AWSConnectRulePublishStatusDraft, @@ -1016,8 +1069,10 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectActivateEvaluationFormResponse; @class AWSConnectAgentConfig; @class AWSConnectAgentContactReference; +@class AWSConnectAgentHierarchyGroup; @class AWSConnectAgentHierarchyGroups; @class AWSConnectAgentInfo; +@class AWSConnectAgentQualityMetrics; @class AWSConnectAgentStatus; @class AWSConnectAgentStatusReference; @class AWSConnectAgentStatusSummary; @@ -1046,16 +1101,22 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectAssociateTrafficDistributionGroupUserRequest; @class AWSConnectAssociateTrafficDistributionGroupUserResponse; @class AWSConnectAssociateUserProficienciesRequest; +@class AWSConnectAttachedFile; +@class AWSConnectAttachedFileError; @class AWSConnectAttachmentReference; @class AWSConnectAttendee; @class AWSConnectAttribute; @class AWSConnectAttributeAndCondition; +@class AWSConnectAttributeCondition; @class AWSConnectAudioFeatures; +@class AWSConnectAudioQualityMetricsInfo; @class AWSConnectAvailableNumberSummary; @class AWSConnectBatchAssociateAnalyticsDataSetRequest; @class AWSConnectBatchAssociateAnalyticsDataSetResponse; @class AWSConnectBatchDisassociateAnalyticsDataSetRequest; @class AWSConnectBatchDisassociateAnalyticsDataSetResponse; +@class AWSConnectBatchGetAttachedFileMetadataRequest; +@class AWSConnectBatchGetAttachedFileMetadataResponse; @class AWSConnectBatchGetFlowAssociationRequest; @class AWSConnectBatchGetFlowAssociationResponse; @class AWSConnectBatchPutContactRequest; @@ -1068,6 +1129,8 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectClaimPhoneNumberRequest; @class AWSConnectClaimPhoneNumberResponse; @class AWSConnectClaimedPhoneNumberSummary; +@class AWSConnectCompleteAttachedFileUploadRequest; +@class AWSConnectCompleteAttachedFileUploadResponse; @class AWSConnectConnectionData; @class AWSConnectContact; @class AWSConnectContactAnalysis; @@ -1075,7 +1138,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectContactFilter; @class AWSConnectContactFlow; @class AWSConnectContactFlowModule; +@class AWSConnectContactFlowModuleSearchCriteria; +@class AWSConnectContactFlowModuleSearchFilter; @class AWSConnectContactFlowModuleSummary; +@class AWSConnectContactFlowSearchCriteria; +@class AWSConnectContactFlowSearchFilter; @class AWSConnectContactFlowSummary; @class AWSConnectContactSearchSummary; @class AWSConnectContactSearchSummaryAgentInfo; @@ -1130,16 +1197,22 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectCreateViewVersionResponse; @class AWSConnectCreateVocabularyRequest; @class AWSConnectCreateVocabularyResponse; +@class AWSConnectCreatedByInfo; @class AWSConnectCredentials; @class AWSConnectCrossChannelBehavior; @class AWSConnectCurrentMetric; @class AWSConnectCurrentMetricData; @class AWSConnectCurrentMetricResult; @class AWSConnectCurrentMetricSortCriteria; +@class AWSConnectCustomer; +@class AWSConnectCustomerQualityMetrics; +@class AWSConnectCustomerVoiceActivity; @class AWSConnectDateReference; @class AWSConnectDeactivateEvaluationFormRequest; @class AWSConnectDeactivateEvaluationFormResponse; @class AWSConnectDefaultVocabulary; +@class AWSConnectDeleteAttachedFileRequest; +@class AWSConnectDeleteAttachedFileResponse; @class AWSConnectDeleteContactEvaluationRequest; @class AWSConnectDeleteContactFlowModuleRequest; @class AWSConnectDeleteContactFlowModuleResponse; @@ -1217,6 +1290,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectDescribeViewResponse; @class AWSConnectDescribeVocabularyRequest; @class AWSConnectDescribeVocabularyResponse; +@class AWSConnectDeviceInfo; @class AWSConnectDimensions; @class AWSConnectDisassociateAnalyticsDataSetRequest; @class AWSConnectDisassociateApprovedOriginRequest; @@ -1233,10 +1307,12 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectDisassociateTrafficDistributionGroupUserRequest; @class AWSConnectDisassociateTrafficDistributionGroupUserResponse; @class AWSConnectDisassociateUserProficienciesRequest; +@class AWSConnectDisconnectDetails; @class AWSConnectDisconnectReason; @class AWSConnectDismissUserContactRequest; @class AWSConnectDismissUserContactResponse; @class AWSConnectDistribution; +@class AWSConnectDownloadUrlMetadata; @class AWSConnectEmailReference; @class AWSConnectEmptyFieldValue; @class AWSConnectEncryptionConfig; @@ -1268,12 +1344,16 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectEvaluationScore; @class AWSConnectEvaluationSummary; @class AWSConnectEventBridgeActionDefinition; +@class AWSConnectExpiry; +@class AWSConnectExpression; @class AWSConnectFailedRequest; @class AWSConnectFieldValue; @class AWSConnectFieldValueUnion; @class AWSConnectFilterV2; @class AWSConnectFilters; @class AWSConnectFlowAssociationSummary; +@class AWSConnectGetAttachedFileRequest; +@class AWSConnectGetAttachedFileResponse; @class AWSConnectGetContactAttributesRequest; @class AWSConnectGetContactAttributesResponse; @class AWSConnectGetCurrentMetricDataRequest; @@ -1298,6 +1378,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectHierarchyGroupCondition; @class AWSConnectHierarchyGroupSummary; @class AWSConnectHierarchyGroupSummaryReference; +@class AWSConnectHierarchyGroups; @class AWSConnectHierarchyLevel; @class AWSConnectHierarchyLevelUpdate; @class AWSConnectHierarchyPath; @@ -1321,6 +1402,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectInstanceSummary; @class AWSConnectIntegrationAssociationSummary; @class AWSConnectIntervalDetails; +@class AWSConnectInvalidRequestExceptionReason; @class AWSConnectInvisibleFieldInfo; @class AWSConnectKinesisFirehoseConfig; @class AWSConnectKinesisStreamConfig; @@ -1457,6 +1539,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectPropertyValidationExceptionProperty; @class AWSConnectPutUserStatusRequest; @class AWSConnectPutUserStatusResponse; +@class AWSConnectQualityMetrics; @class AWSConnectQueue; @class AWSConnectQueueInfo; @class AWSConnectQueueQuickConnectConfig; @@ -1496,6 +1579,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectResumeContactRecordingResponse; @class AWSConnectResumeContactRequest; @class AWSConnectResumeContactResponse; +@class AWSConnectRoutingCriteria; @class AWSConnectRoutingProfile; @class AWSConnectRoutingProfileQueueConfig; @class AWSConnectRoutingProfileQueueConfigSummary; @@ -1511,6 +1595,10 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectS3Config; @class AWSConnectSearchAvailablePhoneNumbersRequest; @class AWSConnectSearchAvailablePhoneNumbersResponse; +@class AWSConnectSearchContactFlowModulesRequest; +@class AWSConnectSearchContactFlowModulesResponse; +@class AWSConnectSearchContactFlowsRequest; +@class AWSConnectSearchContactFlowsResponse; @class AWSConnectSearchContactsRequest; @class AWSConnectSearchContactsResponse; @class AWSConnectSearchContactsTimeRange; @@ -1551,6 +1639,8 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectSignInDistribution; @class AWSConnectSingleSelectQuestionRuleCategoryAutomation; @class AWSConnectSort; +@class AWSConnectStartAttachedFileUploadRequest; +@class AWSConnectStartAttachedFileUploadResponse; @class AWSConnectStartChatContactRequest; @class AWSConnectStartChatContactResponse; @class AWSConnectStartContactEvaluationRequest; @@ -1565,6 +1655,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectStartTaskContactResponse; @class AWSConnectStartWebRTCContactRequest; @class AWSConnectStartWebRTCContactResponse; +@class AWSConnectStep; @class AWSConnectStopContactRecordingRequest; @class AWSConnectStopContactRecordingResponse; @class AWSConnectStopContactRequest; @@ -1573,6 +1664,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectStopContactStreamingResponse; @class AWSConnectStringCondition; @class AWSConnectStringReference; +@class AWSConnectSubmitAutoEvaluationActionDefinition; @class AWSConnectSubmitContactEvaluationRequest; @class AWSConnectSubmitContactEvaluationResponse; @class AWSConnectSuccessfulRequest; @@ -1670,6 +1762,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @class AWSConnectUpdateViewContentResponse; @class AWSConnectUpdateViewMetadataRequest; @class AWSConnectUpdateViewMetadataResponse; +@class AWSConnectUploadUrlMetadata; @class AWSConnectUrlReference; @class AWSConnectUseCase; @class AWSConnectUser; @@ -1813,6 +1906,19 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Information about an agent hierarchy group.

+ */ +@interface AWSConnectAgentHierarchyGroup : AWSModel + + +/** +

The Amazon Resource Name (ARN) of the group.

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

A structure that defines search criteria for contacts using agent hierarchy group levels. For more information about agent hierarchies, see Set Up Agent Hierarchies in the Amazon Connect Administrator Guide.

*/ @@ -1857,11 +1963,26 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSNumber * _Nullable agentPauseDurationInSeconds; +/** +

The configuration for the allowed capabilities for participants present over the call.

+ */ +@property (nonatomic, strong) AWSConnectParticipantCapabilities * _Nullable capabilities; + /**

The timestamp when the contact was connected to the agent.

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

Information regarding Agent’s device.

+ */ +@property (nonatomic, strong) AWSConnectDeviceInfo * _Nullable deviceInfo; + +/** +

The agent hierarchy groups for the agent.

+ */ +@property (nonatomic, strong) AWSConnectHierarchyGroups * _Nullable hierarchyGroups; + /**

The identifier of the agent who accepted the contact.

*/ @@ -1869,6 +1990,19 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Information about the quality of the Agent's media connection

+ */ +@interface AWSConnectAgentQualityMetrics : AWSModel + + +/** +

Information about the audio quality of the Agent

+ */ +@property (nonatomic, strong) AWSConnectAudioQualityMetricsInfo * _Nullable audio; + +@end + /**

Contains information about an agent status.

*/ @@ -2463,6 +2597,88 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Information about the attached file.

+ Required parameters: [CreationTime, FileArn, FileId, FileName, FileSizeInBytes, FileStatus] + */ +@interface AWSConnectAttachedFile : AWSModel + + +/** +

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

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

Represents the identity that created the file.

+ */ +@property (nonatomic, strong) AWSConnectCreatedByInfo * _Nullable createdBy; + +/** +

The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2024-05-03T02:41:28.172Z.

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

The unique identifier of the attached file resource (ARN).

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

The unique identifier of the attached file resource.

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

A case-sensitive name of the attached file being uploaded.

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

The size of the attached file in bytes.

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

The current status of the attached file.

+ */ +@property (nonatomic, assign) AWSConnectFileStatusType fileStatus; + +/** +

The use case for the file.

+ */ +@property (nonatomic, assign) AWSConnectFileUseCaseType fileUseCaseType; + +/** +

The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

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

Error describing a failure to retrieve attached file metadata through BatchGetAttachedFileMetadata action.

+ */ +@interface AWSConnectAttachedFileError : AWSModel + + +/** +

Status code describing the failure.

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

Why the attached file couldn't be retrieved.

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

The unique identifier of the attached file resource.

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

Information about a reference when the referenceType is ATTACHMENT. Otherwise, null.

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

An object to specify the predefined attribute condition.

+ */ +@interface AWSConnectAttributeCondition : AWSModel + + +/** +

The operator of the condition.

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

The name of predefined attribute.

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

The proficiency level of the condition.

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

The value of predefined attribute.

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

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

*/ @@ -2553,6 +2797,24 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Contains information for score and potential quality issues for Audio

+ */ +@interface AWSConnectAudioQualityMetricsInfo : AWSModel + + +/** +

List of potential issues causing degradation of quality on a media connection. If the service did not detect any potential quality issues the list is empty.

Valid values: HighPacketLoss | HighRoundTripTime | HighJitterBuffer

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

Number measuring the estimated quality of the media connection.

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

Information about available phone numbers.

*/ @@ -2658,6 +2920,47 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** + + */ +@interface AWSConnectBatchGetAttachedFileMetadataRequest : AWSRequest + + +/** +

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

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

The unique identifiers of the attached file resource.

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

The unique identifier of the Connect instance.

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

List of errors of attached files that could not be retrieved.

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

List of attached files that were successfully retrieved.

+ */ +@property (nonatomic, strong) NSArray * _Nullable files; + +@end + /** */ @@ -2936,6 +3239,38 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable targetArn; +@end + +/** + Request to CompleteAttachedFileUpload API + Required parameters: [InstanceId, FileId, AssociatedResourceArn] + */ +@interface AWSConnectCompleteAttachedFileUploadRequest : AWSRequest + + +/** +

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

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

The unique identifier of the attached file resource.

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

The unique identifier of the Connect instance.

+ */ +@property (nonatomic, strong) NSString * _Nullable instanceId; + +@end + +/** + Response from CompleteAttachedFileUpload API + */ +@interface AWSConnectCompleteAttachedFileUploadResponse : AWSModel + + @end /** @@ -2967,21 +3302,51 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) AWSConnectAgentInfo * _Nullable agentInfo; +/** +

Indicates how an outbound campaign call is actually disposed if the contact is connected to Amazon Connect.

+ */ +@property (nonatomic, assign) AWSConnectAnsweringMachineDetectionStatus answeringMachineDetectionStatus; + /**

The Amazon Resource Name (ARN) for the contact.

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

Information associated with a campaign.

+ */ +@property (nonatomic, strong) AWSConnectCampaign * _Nullable campaign; + /**

How the contact reached your contact center.

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

The timestamp when customer endpoint connected to Amazon Connect.

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

Information about the Customer on the contact.

+ */ +@property (nonatomic, strong) AWSConnectCustomer * _Nullable customer; + +/** +

Information about customer’s voice activity.

+ */ +@property (nonatomic, strong) AWSConnectCustomerVoiceActivity * _Nullable customerVoiceActivity; + /**

The description of the contact.

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

Information about the call disconnect experience.

+ */ +@property (nonatomic, strong) AWSConnectDisconnectDetails * _Nullable disconnectDetails; + /**

The timestamp when the customer endpoint disconnected from Amazon Connect.

*/ @@ -3032,6 +3397,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable previousContactId; +/** +

Information about the quality of the participant's media connection.

+ */ +@property (nonatomic, strong) AWSConnectQualityMetrics * _Nullable qualityMetrics; + /**

If this contact was queued, this contains information about the queue.

*/ @@ -3052,11 +3422,21 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable relatedContactId; +/** +

Latest routing criteria on the contact.

+ */ +@property (nonatomic, strong) AWSConnectRoutingCriteria * _Nullable routingCriteria; + /**

The timestamp, in Unix epoch time format, at which to start running the inbound flow.

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

A set of system defined key-value pairs stored on individual contact segments using an attribute map. The attributes are standard Amazon Connect attributes and can be accessed in flows. Attribute keys can include only alphanumeric, -, and _ characters. This field can be used to show channel subtype. For example, connect:Guide or connect:SMS.

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

Tags associated with the contact. This contains both Amazon Web Services generated and user-defined tags.

*/ @@ -3179,6 +3559,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, assign) AWSConnectContactFlowState state; +/** +

The status of the contact flow.

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

The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

*/ @@ -3239,6 +3624,42 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

The search criteria to be used to return flow modules.

+ */ +@interface AWSConnectContactFlowModuleSearchCriteria : AWSModel + + +/** +

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

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

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

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

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

The currently supported values for FieldName are name and description.

+ */ +@property (nonatomic, strong) AWSConnectStringCondition * _Nullable stringCondition; + +@end + +/** +

The search criteria to be used to return flow modules.

+ */ +@interface AWSConnectContactFlowModuleSearchFilter : AWSModel + + +/** +

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

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

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

+ */ +@property (nonatomic, strong) AWSConnectControlPlaneTagFilter * _Nullable tagFilter; + +@end + /**

Contains summary information about a flow.

*/ @@ -3267,6 +3688,57 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

The search criteria to be used to return contact flows.

+ */ +@interface AWSConnectContactFlowSearchCriteria : AWSModel + + +/** +

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

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

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

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

The state of the flow.

+ */ +@property (nonatomic, assign) AWSConnectContactFlowState stateCondition; + +/** +

The status of the flow.

+ */ +@property (nonatomic, assign) AWSConnectContactFlowStatus statusCondition; + +/** +

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

The currently supported values for FieldName are name and description.

+ */ +@property (nonatomic, strong) AWSConnectStringCondition * _Nullable stringCondition; + +/** +

The type of flow.

+ */ +@property (nonatomic, assign) AWSConnectContactFlowType typeCondition; + +@end + +/** +

Filters to be applied to search results.

+ */ +@interface AWSConnectContactFlowSearchFilter : AWSModel + + +/** +

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

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

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

+ */ +@property (nonatomic, strong) AWSConnectControlPlaneTagFilter * _Nullable tagFilter; + +@end + /**

Contains summary information about a flow.

You can also create and update flows using the Amazon Connect Flow language.

*/ @@ -3283,6 +3755,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, assign) AWSConnectContactFlowState contactFlowState; +/** +

The status of the contact flow.

+ */ +@property (nonatomic, assign) AWSConnectContactFlowStatus contactFlowStatus; + /**

The type of flow.

*/ @@ -3607,6 +4084,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable name; +/** +

Indicates the flow status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content. the SAVED status does not initiate validation of the content. SAVED | PUBLISHED.

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

The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

*/ @@ -4298,7 +4780,7 @@ 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.

+

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

*/ @property (nonatomic, strong) NSArray * _Nullable applications; @@ -4805,6 +5287,24 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Information on the identity that created the file.

+ */ +@interface AWSConnectCreatedByInfo : AWSModel + + +/** +

STS or IAM ARN representing the identity of API Caller. SDK users cannot populate this and this value is calculated automatically if ConnectUserArn is not provided.

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

An agent ARN representing a connect user.

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

Contains credentials to use for federation.

*/ @@ -4919,6 +5419,55 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Information about the Customer on the contact.

+ */ +@interface AWSConnectCustomer : AWSModel + + +/** +

The configuration for the allowed capabilities for participants present over the call.

+ */ +@property (nonatomic, strong) AWSConnectParticipantCapabilities * _Nullable capabilities; + +/** +

Information regarding Customer’s device.

+ */ +@property (nonatomic, strong) AWSConnectDeviceInfo * _Nullable deviceInfo; + +@end + +/** +

Information about the quality of the Customer's media connection

+ */ +@interface AWSConnectCustomerQualityMetrics : AWSModel + + +/** +

Information about the audio quality of the Customer

+ */ +@property (nonatomic, strong) AWSConnectAudioQualityMetricsInfo * _Nullable audio; + +@end + +/** +

Information about customer’s voice activity.

+ */ +@interface AWSConnectCustomerVoiceActivity : AWSModel + + +/** +

Timestamp that measures the end of the customer greeting from an outbound voice call.

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

Timestamp that measures the beginning of the customer greeting from an outbound voice call.

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

Information about a reference when the referenceType is DATE. Otherwise, null.

*/ @@ -5010,6 +5559,38 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) NSString * _Nullable vocabularyName; +@end + +/** + Request to DeleteAttachedFile API + Required parameters: [InstanceId, FileId, AssociatedResourceArn] + */ +@interface AWSConnectDeleteAttachedFileRequest : AWSRequest + + +/** +

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

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

The unique identifier of the attached file resource.

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

The unique identifier of the Connect instance.

+ */ +@property (nonatomic, strong) NSString * _Nullable instanceId; + +@end + +/** + Response from DeleteAttachedFile API + */ +@interface AWSConnectDeleteAttachedFileResponse : AWSModel + + @end /** @@ -6223,6 +6804,29 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Information regarding the device.

+ */ +@interface AWSConnectDeviceInfo : AWSModel + + +/** +

Operating system that the participant used for the call.

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

Name of the platform that the participant used for the call.

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

Version of the platform that the participant used for the call.

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

Contains information about the dimensions for a set of metrics.

*/ @@ -6546,6 +7150,19 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Information about the call disconnect experience.

+ */ +@interface AWSConnectDisconnectDetails : AWSModel + + +/** +

Indicates the potential disconnection issues for a call. This field is not populated if the service does not detect potential issues.

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

Contains details about why a contact was disconnected. Only Amazon Connect outbound campaigns can provide this field.

*/ @@ -6609,6 +7226,24 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Metadata used to download the attached file.

+ */ +@interface AWSConnectDownloadUrlMetadata : AWSModel + + +/** +

A pre-signed URL that should be used to download the attached file.

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

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

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

Information about a reference when the referenceType is EMAIL. Otherwise, null.

*/ @@ -7474,6 +8109,47 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

An object to specify the expiration of a routing step.

+ */ +@interface AWSConnectExpiry : AWSModel + + +/** +

The number of seconds to wait before expiring the routing step.

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

The timestamp indicating when the routing step expires.

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

A tagged union to specify expression for a routing step.

+ */ +@interface AWSConnectExpression : AWSModel + + +/** +

List of routing expressions which will be AND-ed together.

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

An object to specify the predefined attribute condition.

+ */ +@property (nonatomic, strong) AWSConnectAttributeCondition * _Nullable attributeCondition; + +/** +

List of routing expressions which will be OR-ed together.

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

Request for which contact failed to be generated.

*/ @@ -7613,6 +8289,99 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** + Request to GetAttachedFile API. + Required parameters: [InstanceId, FileId, AssociatedResourceArn] + */ +@interface AWSConnectGetAttachedFileRequest : AWSRequest + + +/** +

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

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

The unique identifier of the attached file resource.

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

The unique identifier of the Connect instance.

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

Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is 300.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable urlExpiryInSeconds; + +@end + +/** + Response from GetAttachedFile API. + Required parameters: [FileSizeInBytes] + */ +@interface AWSConnectGetAttachedFileResponse : AWSModel + + +/** +

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

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

Represents the identity that created the file.

+ */ +@property (nonatomic, strong) AWSConnectCreatedByInfo * _Nullable createdBy; + +/** +

The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2024-05-03T02:41:28.172Z.

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

URL and expiry to be used when downloading the attached file.

+ */ +@property (nonatomic, strong) AWSConnectDownloadUrlMetadata * _Nullable downloadUrlMetadata; + +/** +

The unique identifier of the attached file resource (ARN).

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

The unique identifier of the attached file resource.

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

A case-sensitive name of the attached file being uploaded.

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

The size of the attached file in bytes.

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

The current status of the attached file.

+ */ +@property (nonatomic, assign) AWSConnectFileStatusType fileStatus; + +/** +

The use case for the file.

+ */ +@property (nonatomic, assign) AWSConnectFileUseCaseType fileUseCaseType; + +/** +

The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable tags; + +@end + /** */ @@ -7931,12 +8700,12 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSDate * _Nullable endTime; /** -

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

  • Queues

  • Routing profiles

  • Agents

  • Channels

  • User hierarchy groups

  • Feature

  • Routing step expression

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

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

Note the following limits:

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

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

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

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

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

+

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

  • Agents

  • Channels

  • Feature

  • Queues

  • Routing profiles

  • Routing step expression

  • User hierarchy groups

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

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

Note the following limits:

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

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

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

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

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

    Q_CONNECT_ENABLED. TRUE and FALSE are the only valid filterValues for the Q_CONNECT_ENABLED filter key.

    • TRUE includes all contacts that had Amazon Q in Connect enabled as part of the flow.

    • FALSE includes all contacts that did not have Amazon Q in Connect enabled as part of the flow

    This filter is available only for contact record-driven metrics.

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

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

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

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

+

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

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

Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID | FLOW_TYPE | FLOWS_OUTCOME_TYPE | INITIATION_METHOD | Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION

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

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

ABANDONMENT_RATE

Unit: Percent

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

UI name: Abandonment rate

AGENT_ADHERENT_TIME

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

Unit: Seconds

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

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

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

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

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

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

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

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

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

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

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

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

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

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

Unit: Percent

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

UI name: Adherence

AGENT_SCHEDULED_TIME

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

Unit: Seconds

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

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

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

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

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

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

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

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

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

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

UI name: Average agent API connecting time

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

AVG_AGENT_PAUSE_TIME

Unit: Seconds

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

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

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

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

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

UI name: Average conversation duration

AVG_GREETING_TIME_AGENT

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

Unit: Seconds

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

UI name: Average greeting time agent

AVG_HANDLE_TIME

Unit: Seconds

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

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

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

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

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

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

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

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

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

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

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

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

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

Unit: Count

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

UI name: Average interruptions agent

AVG_INTERRUPTION_TIME_AGENT

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

Unit: Seconds

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

UI name: Average interruption time agent

AVG_NON_TALK_TIME

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

Unit: Seconds

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

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

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

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

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

UI name: Average resolution time

AVG_TALK_TIME

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

Unit: Seconds

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

UI name: Average talk time

AVG_TALK_TIME_AGENT

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

Unit: Seconds

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

UI name: Average talk time agent

AVG_TALK_TIME_CUSTOMER

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

Unit: Seconds

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

UI name: Average talk time customer

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_ABANDONED

Unit: Count

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

UI name: Contact abandoned

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

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

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

UI name: Contacts handled by Connected to agent

CONTACTS_HOLD_ABANDONS

Unit: Count

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

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

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

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

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

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

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

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

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

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

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

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

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

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

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

UI name: Contacts queued by Enqueue

CONTACTS_RESOLVED_IN_X

Unit: Count

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

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

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

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

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

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

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

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

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

MAX_QUEUED_TIME

Unit: Seconds

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

UI name: Maximum queued time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_NON_TALK_TIME

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

Unit: Percentage

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

UI name: Non-talk time percent

PERCENT_TALK_TIME

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

Unit: Percentage

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

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

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

Unit: Percentage

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

UI name: Talk time agent percent

PERCENT_TALK_TIME_CUSTOMER

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

Unit: Percentage

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

UI name: Talk time customer percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

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

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

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

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

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

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

UI name: Agent API connecting time

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

SUM_CONTACT_FLOW_TIME

Unit: Seconds

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

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

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

UI name: Agent on contact time

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

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

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

UI name: Contacts answered in X seconds

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

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

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

UI name: Contacts abandoned in X seconds

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

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

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

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

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

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

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

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

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

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

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

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

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

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

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

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

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

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

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

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

UI name: Callback attempts

+

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

ABANDONMENT_RATE

Unit: Percent

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

UI name: Abandonment rate

AGENT_ADHERENT_TIME

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

Unit: Seconds

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

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

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

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

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

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

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

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

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

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

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

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

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

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

Unit: Percent

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

UI name: Adherence

AGENT_SCHEDULED_TIME

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

Unit: Seconds

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

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

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

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

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

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

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

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

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

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

UI name: Average agent API connecting time

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

AVG_AGENT_PAUSE_TIME

Unit: Seconds

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

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

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

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

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

UI name: Average conversation duration

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

AVG_GREETING_TIME_AGENT

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

Unit: Seconds

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

UI name: Average agent greeting time

AVG_HANDLE_TIME

Unit: Seconds

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

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

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

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

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

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

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

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

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

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

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

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

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

Unit: Count

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

UI name: Average agent interruptions

AVG_INTERRUPTION_TIME_AGENT

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

Unit: Seconds

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

UI name: Average agent interruption time

AVG_NON_TALK_TIME

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

Unit: Seconds

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

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

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

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

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

UI name: Average resolution time

AVG_TALK_TIME

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

Unit: Seconds

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

UI name: Average talk time

AVG_TALK_TIME_AGENT

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

Unit: Seconds

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

UI name: Average agent talk time

AVG_TALK_TIME_CUSTOMER

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

Unit: Seconds

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

UI name: Average customer talk time

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_ABANDONED

Unit: Count

Metric filter:

  • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

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

UI name: Contact abandoned

CONTACTS_ABANDONED_IN_X

Unit: Count

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

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

UI name: Contacts abandoned in X seconds

CONTACTS_ANSWERED_IN_X

Unit: Count

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

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

UI name: Contacts answered in X seconds

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

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

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

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

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

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

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

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

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

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

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

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

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

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

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

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

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

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

UI name: Contacts queued (enqueue timestamp)

CONTACTS_RESOLVED_IN_X

Unit: Count

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

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

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

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

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

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

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

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

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

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

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

PERCENT_NON_TALK_TIME

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

Unit: Percentage

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

UI name: Non-talk time percent

PERCENT_TALK_TIME

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

Unit: Percentage

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

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

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

Unit: Percentage

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

UI name: Agent talk time percent

PERCENT_TALK_TIME_CUSTOMER

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

Unit: Percentage

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

UI name: Customer talk time percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

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

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

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

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

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

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

UI name: Agent API connecting time

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

SUM_CONTACT_FLOW_TIME

Unit: Seconds

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

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

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

UI name: Agent on contact time

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

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

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

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

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

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

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

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

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

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

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

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

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

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

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

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

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

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

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

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

UI name: Callback attempts

*/ @property (nonatomic, strong) NSArray * _Nullable metrics; @@ -8261,32 +9030,65 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSString * _Nullable lastModifiedRegion; /** -

The timestamp when this resource was last modified.

+

The timestamp when this resource was last modified.

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

The name of the hierarchy group.

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

Information about the hierarchy group.

+ */ +@interface AWSConnectHierarchyGroupSummaryReference : AWSModel + + +/** +

The Amazon Resource Name (ARN) for the hierarchy group.

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

The unique identifier for the hierarchy group.

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

Information about the agent hierarchy. Hierarchies can be configured with up to five levels.

*/ -@property (nonatomic, strong) NSDate * _Nullable lastModifiedTime; +@interface AWSConnectHierarchyGroups : AWSModel + /** -

The name of the hierarchy group.

+

The group at level one of the agent hierarchy.

*/ -@property (nonatomic, strong) NSString * _Nullable name; - -@end +@property (nonatomic, strong) AWSConnectAgentHierarchyGroup * _Nullable level1; /** -

Information about the hierarchy group.

+

The group at level two of the agent hierarchy.

*/ -@interface AWSConnectHierarchyGroupSummaryReference : AWSModel +@property (nonatomic, strong) AWSConnectAgentHierarchyGroup * _Nullable level2; +/** +

The group at level three of the agent hierarchy.

+ */ +@property (nonatomic, strong) AWSConnectAgentHierarchyGroup * _Nullable level3; /** -

The Amazon Resource Name (ARN) for the hierarchy group.

+

The group at level four of the agent hierarchy.

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

The unique identifier for the hierarchy group.

+

The group at level five of the agent hierarchy.

*/ -@property (nonatomic, strong) NSString * _Nullable identifier; +@property (nonatomic, strong) AWSConnectAgentHierarchyGroup * _Nullable level5; @end @@ -8993,6 +9795,19 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Reason why the request was invalid.

+ */ +@interface AWSConnectInvalidRequestExceptionReason : AWSModel + + +/** +

Reason why the StartAttachedFiledUpload request was invalid.

+ */ +@property (nonatomic, assign) AWSConnectAttachedFileInvalidRequestExceptionReason attachedFileInvalidRequestExceptionReason; + +@end + /**

A field that is invisible to an agent.

*/ @@ -10627,7 +11442,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { /** -

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

A list of the third-party application's metadata.

+

A list of the third-party application's metadata.

*/ @property (nonatomic, strong) NSArray * _Nullable applications; @@ -11304,7 +12119,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { /** -

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 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 Guide.

*/ @property (nonatomic, strong) NSString * _Nullable metricFilterKey; @@ -12025,6 +12840,24 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @interface AWSConnectPutUserStatusResponse : AWSModel +@end + +/** +

Information about the quality of the participant's media connection.

+ */ +@interface AWSConnectQualityMetrics : AWSModel + + +/** +

Information about the quality of Agent media connection.

+ */ +@property (nonatomic, strong) AWSConnectAgentQualityMetrics * _Nullable agent; + +/** +

Information about the quality of Customer media connection.

+ */ +@property (nonatomic, strong) AWSConnectCustomerQualityMetrics * _Nullable customer; + @end /** @@ -12946,6 +13779,29 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @interface AWSConnectResumeContactResponse : AWSModel +@end + +/** +

Latest routing criteria on the contact.

+ */ +@interface AWSConnectRoutingCriteria : AWSModel + + +/** +

The timestamp indicating when the routing criteria is set to active. A routing criteria is activated when contact is transferred to a queue. ActivationTimestamp will be set on routing criteria for contacts in agent queue even though Routing criteria is never activated for contacts in agent queue.

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

Information about the index of the routing criteria.

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

List of routing steps. When Amazon Connect does not find an available agent meeting the requirements in a step for a given step duration, the routing criteria will move on to the next step sequentially until a join is completed with an agent. When all steps are exhausted, the contact will be offered to any agent in the queue.

+ */ +@property (nonatomic, strong) NSArray * _Nullable steps; + @end /** @@ -12959,6 +13815,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, assign) AWSConnectAgentAvailabilityTimer agentAvailabilityTimer; +/** +

The IDs of the associated queue.

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

The identifier of the default outbound queue for this routing profile.

*/ @@ -13143,7 +14004,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @property (nonatomic, strong) NSArray * _Nullable orConditions; /** -

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

The currently supported values for FieldName are name, description, and resourceID.

+

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

The currently supported values for FieldName are associatedQueueIds, name, description, and resourceID.

*/ @property (nonatomic, strong) AWSConnectStringCondition * _Nullable stringCondition; @@ -13296,6 +14157,11 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { */ @property (nonatomic, strong) AWSConnectSendNotificationActionDefinition * _Nullable sendNotificationAction; +/** +

Information about the submit automated evaluation action.

+ */ +@property (nonatomic, strong) AWSConnectSubmitAutoEvaluationActionDefinition * _Nullable submitAutoEvaluationAction; + /**

Information about the task action. This field is required if TriggerEventSource is one of the following values: OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate

*/ @@ -13461,6 +14327,118 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** + + */ +@interface AWSConnectSearchContactFlowModulesRequest : AWSRequest + + +/** +

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

+ */ +@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. 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 search criteria to be used to return contact flow modules.

The name and description fields support "contains" queries with a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths outside of this range will result in invalid results.

+ */ +@property (nonatomic, strong) AWSConnectContactFlowModuleSearchCriteria * _Nullable searchCriteria; + +/** +

Filters to be applied to search results.

+ */ +@property (nonatomic, strong) AWSConnectContactFlowModuleSearchFilter * _Nullable searchFilter; + +@end + +/** + + */ +@interface AWSConnectSearchContactFlowModulesResponse : AWSModel + + +/** +

The total number of contact flows which matched your search query.

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

The search criteria to be used to return contact flow modules.

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

If there are additional results, this is the token for the next set of results.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSConnectSearchContactFlowsRequest : AWSRequest + + +/** +

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

+ */ +@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. 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 search criteria to be used to return flows.

The name and description fields support "contains" queries with a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths outside of this range will result in invalid results.

+ */ +@property (nonatomic, strong) AWSConnectContactFlowSearchCriteria * _Nullable searchCriteria; + +/** +

Filters to be applied to search results.

+ */ +@property (nonatomic, strong) AWSConnectContactFlowSearchFilter * _Nullable searchFilter; + +@end + +/** + + */ +@interface AWSConnectSearchContactFlowsResponse : AWSModel + + +/** +

The total number of contact flows which matched your search query.

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

Information about the contact flows.

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

If there are additional results, this is the token for the next set of results.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + /** */ @@ -14549,6 +15527,97 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** + + */ +@interface AWSConnectStartAttachedFileUploadRequest : AWSRequest + + +/** +

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

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

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; + +/** +

Represents the identity that created the file.

+ */ +@property (nonatomic, strong) AWSConnectCreatedByInfo * _Nullable createdBy; + +/** +

A case-sensitive name of the attached file being uploaded.

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

The size of the attached file in bytes.

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

The use case for the file.

+ */ +@property (nonatomic, assign) AWSConnectFileUseCaseType fileUseCaseType; + +/** +

The unique identifier of the Connect instance.

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

The tags used to organize, track, or control access for this resource. For example, { "Tags": {"key1":"value1", "key2":"value2"} }.

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

Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is 300.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable urlExpiryInSeconds; + +@end + +/** + Response from StartAttachedFileUpload API. + */ +@interface AWSConnectStartAttachedFileUploadResponse : AWSModel + + +/** +

Represents the identity that created the file.

+ */ +@property (nonatomic, strong) AWSConnectCreatedByInfo * _Nullable createdBy; + +/** +

The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2024-05-03T02:41:28.172Z.

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

The unique identifier of the attached file resource (ARN).

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

The unique identifier of the attached file resource.

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

The current status of the attached file.

+ */ +@property (nonatomic, assign) AWSConnectFileStatusType fileStatus; + +/** +

Information to be used while uploading the attached file.

+ */ +@property (nonatomic, strong) AWSConnectUploadUrlMetadata * _Nullable uploadUrlMetadata; + +@end + /** */ @@ -15016,6 +16085,29 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Step signifies the criteria to be used for routing to an agent

+ */ +@interface AWSConnectStep : AWSModel + + +/** +

An object to specify the expiration of a routing step.

+ */ +@property (nonatomic, strong) AWSConnectExpiry * _Nullable expiry; + +/** +

A tagged union to specify expression for a routing step.

+ */ +@property (nonatomic, strong) AWSConnectExpression * _Nullable expression; + +/** +

Represents status of the Routing step.

+ */ +@property (nonatomic, assign) AWSConnectRoutingCriteriaStepStatus status; + +@end + /** */ @@ -15150,6 +16242,20 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @end +/** +

Information about the submit automated evaluation action.

+ Required parameters: [EvaluationFormId] + */ +@interface AWSConnectSubmitAutoEvaluationActionDefinition : AWSModel + + +/** +

The identifier of the auto-evaluation enabled form.

+ */ +@property (nonatomic, strong) NSString * _Nullable evaluationFormId; + +@end + /** */ @@ -15887,7 +16993,7 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { /** -

The Amazon Connect attributes. These attributes can be accessed in flows just like any other contact attributes.

You can have up to 32,768 UTF-8 bytes across all attributes for a contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

+

The Amazon Connect attributes. These attributes can be accessed in flows just like any other contact attributes.

You can have up to 32,768 UTF-8 bytes across all attributes for a contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

When the attributes for a contact exceed 32 KB, the contact is routed down the Error branch of the flow. As a mitigation, consider the following options:

  • Remove unnecessary attributes by setting their values to empty.

  • If the attributes are only used in one flow and don't need to be referred to outside of that flow (for example, by a Lambda or another flow), then use flow attributes. This way you aren't needlessly persisting the 32 KB of information from one flow to another. For more information, see Flow block: Set contact attributes in the Amazon Connect Administrator Guide.

*/ @property (nonatomic, strong) NSDictionary * _Nullable attributes; @@ -16943,7 +18049,7 @@ 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.

+

A list of the third-party application's metadata.

*/ @property (nonatomic, strong) NSArray * _Nullable applications; @@ -17390,6 +18496,29 @@ typedef NS_ENUM(NSInteger, AWSConnectVoiceRecordingTrack) { @interface AWSConnectUpdateViewMetadataResponse : AWSModel +@end + +/** +

Fields required when uploading an attached file.

+ */ +@interface AWSConnectUploadUrlMetadata : AWSModel + + +/** +

A map of headers that should be provided when uploading the attached file.

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

A pre-signed S3 URL that should be used for uploading the attached file.

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

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

+ */ +@property (nonatomic, strong) NSString * _Nullable urlExpiry; + @end /** diff --git a/AWSConnect/AWSConnectModel.m b/AWSConnect/AWSConnectModel.m index 310da065043..c6903a3c74e 100644 --- a/AWSConnect/AWSConnectModel.m +++ b/AWSConnect/AWSConnectModel.m @@ -53,6 +53,9 @@ + (NSValueTransformer *)actionTypeJSONTransformer { if ([value caseInsensitiveCompare:@"END_ASSOCIATED_TASKS"] == NSOrderedSame) { return @(AWSConnectActionTypeEndAssociatedTasks); } + if ([value caseInsensitiveCompare:@"SUBMIT_AUTO_EVALUATION"] == NSOrderedSame) { + return @(AWSConnectActionTypeSubmitAutoEvaluation); + } return @(AWSConnectActionTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -70,6 +73,8 @@ + (NSValueTransformer *)actionTypeJSONTransformer { return @"UPDATE_CASE"; case AWSConnectActionTypeEndAssociatedTasks: return @"END_ASSOCIATED_TASKS"; + case AWSConnectActionTypeSubmitAutoEvaluation: + return @"SUBMIT_AUTO_EVALUATION"; default: return nil; } @@ -306,6 +311,20 @@ + (NSValueTransformer *)stateStartTimestampJSONTransformer { @end +@implementation AWSConnectAgentHierarchyGroup + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"arn" : @"Arn", + }; +} + +@end + @implementation AWSConnectAgentHierarchyGroups + (BOOL)supportsSecureCoding { @@ -333,11 +352,18 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"agentPauseDurationInSeconds" : @"AgentPauseDurationInSeconds", + @"capabilities" : @"Capabilities", @"connectedToAgentTimestamp" : @"ConnectedToAgentTimestamp", + @"deviceInfo" : @"DeviceInfo", + @"hierarchyGroups" : @"HierarchyGroups", @"identifier" : @"Id", }; } ++ (NSValueTransformer *)capabilitiesJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectParticipantCapabilities class]]; +} + + (NSValueTransformer *)connectedToAgentTimestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; @@ -346,6 +372,32 @@ + (NSValueTransformer *)connectedToAgentTimestampJSONTransformer { }]; } ++ (NSValueTransformer *)deviceInfoJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectDeviceInfo class]]; +} + ++ (NSValueTransformer *)hierarchyGroupsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectHierarchyGroups class]]; +} + +@end + +@implementation AWSConnectAgentQualityMetrics + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"audio" : @"Audio", + }; +} + ++ (NSValueTransformer *)audioJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAudioQualityMetricsInfo class]]; +} + @end @implementation AWSConnectAgentStatus @@ -1108,6 +1160,96 @@ + (NSValueTransformer *)userProficienciesJSONTransformer { @end +@implementation AWSConnectAttachedFile + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"associatedResourceArn" : @"AssociatedResourceArn", + @"createdBy" : @"CreatedBy", + @"creationTime" : @"CreationTime", + @"fileArn" : @"FileArn", + @"fileId" : @"FileId", + @"fileName" : @"FileName", + @"fileSizeInBytes" : @"FileSizeInBytes", + @"fileStatus" : @"FileStatus", + @"fileUseCaseType" : @"FileUseCaseType", + @"tags" : @"Tags", + }; +} + ++ (NSValueTransformer *)createdByJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectCreatedByInfo class]]; +} + ++ (NSValueTransformer *)fileStatusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"APPROVED"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeApproved); + } + if ([value caseInsensitiveCompare:@"REJECTED"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeRejected); + } + if ([value caseInsensitiveCompare:@"PROCESSING"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeProcessing); + } + if ([value caseInsensitiveCompare:@"FAILED"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeFailed); + } + return @(AWSConnectFileStatusTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectFileStatusTypeApproved: + return @"APPROVED"; + case AWSConnectFileStatusTypeRejected: + return @"REJECTED"; + case AWSConnectFileStatusTypeProcessing: + return @"PROCESSING"; + case AWSConnectFileStatusTypeFailed: + return @"FAILED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)fileUseCaseTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ATTACHMENT"] == NSOrderedSame) { + return @(AWSConnectFileUseCaseTypeAttachment); + } + return @(AWSConnectFileUseCaseTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectFileUseCaseTypeAttachment: + return @"ATTACHMENT"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSConnectAttachedFileError + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"errorCode" : @"ErrorCode", + @"errorMessage" : @"ErrorMessage", + @"fileId" : @"FileId", + }; +} + +@end + @implementation AWSConnectAttachmentReference + (BOOL)supportsSecureCoding { @@ -1264,6 +1406,23 @@ + (NSValueTransformer *)tagConditionsJSONTransformer { @end +@implementation AWSConnectAttributeCondition + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"comparisonOperator" : @"ComparisonOperator", + @"name" : @"Name", + @"proficiencyLevel" : @"ProficiencyLevel", + @"value" : @"Value", + }; +} + +@end + @implementation AWSConnectAudioFeatures + (BOOL)supportsSecureCoding { @@ -1299,6 +1458,21 @@ + (NSValueTransformer *)echoReductionJSONTransformer { @end +@implementation AWSConnectAudioQualityMetricsInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"potentialQualityIssues" : @"PotentialQualityIssues", + @"qualityScore" : @"QualityScore", + }; +} + +@end + @implementation AWSConnectAvailableNumberSummary + (BOOL)supportsSecureCoding { @@ -2631,6 +2805,45 @@ + (NSValueTransformer *)errorsJSONTransformer { @end +@implementation AWSConnectBatchGetAttachedFileMetadataRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"associatedResourceArn" : @"AssociatedResourceArn", + @"fileIds" : @"FileIds", + @"instanceId" : @"InstanceId", + }; +} + +@end + +@implementation AWSConnectBatchGetAttachedFileMetadataResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"errors" : @"Errors", + @"files" : @"Files", + }; +} + ++ (NSValueTransformer *)errorsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectAttachedFileError class]]; +} + ++ (NSValueTransformer *)filesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectAttachedFile class]]; +} + +@end + @implementation AWSConnectBatchGetFlowAssociationRequest + (BOOL)supportsSecureCoding { @@ -4131,6 +4344,30 @@ + (NSValueTransformer *)phoneNumberTypeJSONTransformer { @end +@implementation AWSConnectCompleteAttachedFileUploadRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"associatedResourceArn" : @"AssociatedResourceArn", + @"fileId" : @"FileId", + @"instanceId" : @"InstanceId", + }; +} + +@end + +@implementation AWSConnectCompleteAttachedFileUploadResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + @implementation AWSConnectConnectionData + (BOOL)supportsSecureCoding { @@ -4163,9 +4400,15 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"agentInfo" : @"AgentInfo", + @"answeringMachineDetectionStatus" : @"AnsweringMachineDetectionStatus", @"arn" : @"Arn", + @"campaign" : @"Campaign", @"channel" : @"Channel", + @"connectedToSystemTimestamp" : @"ConnectedToSystemTimestamp", + @"customer" : @"Customer", + @"customerVoiceActivity" : @"CustomerVoiceActivity", @"detail" : @"Description", + @"disconnectDetails" : @"DisconnectDetails", @"disconnectTimestamp" : @"DisconnectTimestamp", @"identifier" : @"Id", @"initialContactId" : @"InitialContactId", @@ -4176,11 +4419,14 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"lastUpdateTimestamp" : @"LastUpdateTimestamp", @"name" : @"Name", @"previousContactId" : @"PreviousContactId", + @"qualityMetrics" : @"QualityMetrics", @"queueInfo" : @"QueueInfo", @"queuePriority" : @"QueuePriority", @"queueTimeAdjustmentSeconds" : @"QueueTimeAdjustmentSeconds", @"relatedContactId" : @"RelatedContactId", + @"routingCriteria" : @"RoutingCriteria", @"scheduledTimestamp" : @"ScheduledTimestamp", + @"segmentAttributes" : @"SegmentAttributes", @"tags" : @"Tags", @"totalPauseCount" : @"TotalPauseCount", @"totalPauseDurationInSeconds" : @"TotalPauseDurationInSeconds", @@ -4192,6 +4438,91 @@ + (NSValueTransformer *)agentInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAgentInfo class]]; } ++ (NSValueTransformer *)answeringMachineDetectionStatusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ANSWERED"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusAnswered); + } + if ([value caseInsensitiveCompare:@"UNDETECTED"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusUndetected); + } + if ([value caseInsensitiveCompare:@"ERROR"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusError); + } + if ([value caseInsensitiveCompare:@"HUMAN_ANSWERED"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusHumanAnswered); + } + if ([value caseInsensitiveCompare:@"SIT_TONE_DETECTED"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusSitToneDetected); + } + if ([value caseInsensitiveCompare:@"SIT_TONE_BUSY"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusSitToneBusy); + } + if ([value caseInsensitiveCompare:@"SIT_TONE_INVALID_NUMBER"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusSitToneInvalidNumber); + } + if ([value caseInsensitiveCompare:@"FAX_MACHINE_DETECTED"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusFaxMachineDetected); + } + if ([value caseInsensitiveCompare:@"VOICEMAIL_BEEP"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusVoicemailBeep); + } + if ([value caseInsensitiveCompare:@"VOICEMAIL_NO_BEEP"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusVoicemailNoBeep); + } + if ([value caseInsensitiveCompare:@"AMD_UNRESOLVED"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusAmdUnresolved); + } + if ([value caseInsensitiveCompare:@"AMD_UNANSWERED"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusAmdUnanswered); + } + if ([value caseInsensitiveCompare:@"AMD_ERROR"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusAmdError); + } + if ([value caseInsensitiveCompare:@"AMD_NOT_APPLICABLE"] == NSOrderedSame) { + return @(AWSConnectAnsweringMachineDetectionStatusAmdNotApplicable); + } + return @(AWSConnectAnsweringMachineDetectionStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectAnsweringMachineDetectionStatusAnswered: + return @"ANSWERED"; + case AWSConnectAnsweringMachineDetectionStatusUndetected: + return @"UNDETECTED"; + case AWSConnectAnsweringMachineDetectionStatusError: + return @"ERROR"; + case AWSConnectAnsweringMachineDetectionStatusHumanAnswered: + return @"HUMAN_ANSWERED"; + case AWSConnectAnsweringMachineDetectionStatusSitToneDetected: + return @"SIT_TONE_DETECTED"; + case AWSConnectAnsweringMachineDetectionStatusSitToneBusy: + return @"SIT_TONE_BUSY"; + case AWSConnectAnsweringMachineDetectionStatusSitToneInvalidNumber: + return @"SIT_TONE_INVALID_NUMBER"; + case AWSConnectAnsweringMachineDetectionStatusFaxMachineDetected: + return @"FAX_MACHINE_DETECTED"; + case AWSConnectAnsweringMachineDetectionStatusVoicemailBeep: + return @"VOICEMAIL_BEEP"; + case AWSConnectAnsweringMachineDetectionStatusVoicemailNoBeep: + return @"VOICEMAIL_NO_BEEP"; + case AWSConnectAnsweringMachineDetectionStatusAmdUnresolved: + return @"AMD_UNRESOLVED"; + case AWSConnectAnsweringMachineDetectionStatusAmdUnanswered: + return @"AMD_UNANSWERED"; + case AWSConnectAnsweringMachineDetectionStatusAmdError: + return @"AMD_ERROR"; + case AWSConnectAnsweringMachineDetectionStatusAmdNotApplicable: + return @"AMD_NOT_APPLICABLE"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)campaignJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectCampaign class]]; +} + + (NSValueTransformer *)channelJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"VOICE"] == NSOrderedSame) { @@ -4218,6 +4549,26 @@ + (NSValueTransformer *)channelJSONTransformer { }]; } ++ (NSValueTransformer *)connectedToSystemTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)customerJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectCustomer class]]; +} + ++ (NSValueTransformer *)customerVoiceActivityJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectCustomerVoiceActivity class]]; +} + ++ (NSValueTransformer *)disconnectDetailsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectDisconnectDetails class]]; +} + + (NSValueTransformer *)disconnectTimestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; @@ -4314,10 +4665,18 @@ + (NSValueTransformer *)lastUpdateTimestampJSONTransformer { }]; } ++ (NSValueTransformer *)qualityMetricsJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectQualityMetrics class]]; +} + + (NSValueTransformer *)queueInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectQueueInfo class]]; } ++ (NSValueTransformer *)routingCriteriaJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectRoutingCriteria class]]; +} + + (NSValueTransformer *)scheduledTimestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; @@ -4326,6 +4685,14 @@ + (NSValueTransformer *)scheduledTimestampJSONTransformer { }]; } ++ (NSValueTransformer *)segmentAttributesJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(id JSONDictionary) { + return [AWSModelUtility mapMTLDictionaryFromJSONDictionary:JSONDictionary withModelClass:[AWSConnectSegmentAttributeValue class]]; + } reverseBlock:^id(id mapMTLDictionary) { + return [AWSModelUtility JSONDictionaryFromMapMTLDictionary:mapMTLDictionary]; + }]; +} + + (NSValueTransformer *)wisdomInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectWisdomInfo class]]; } @@ -4409,6 +4776,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"identifier" : @"Id", @"name" : @"Name", @"state" : @"State", + @"status" : @"Status", @"tags" : @"Tags", @"types" : @"Type", }; @@ -4435,6 +4803,27 @@ + (NSValueTransformer *)stateJSONTransformer { }]; } ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"PUBLISHED"] == NSOrderedSame) { + return @(AWSConnectContactFlowStatusPublished); + } + if ([value caseInsensitiveCompare:@"SAVED"] == NSOrderedSame) { + return @(AWSConnectContactFlowStatusSaved); + } + return @(AWSConnectContactFlowStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectContactFlowStatusPublished: + return @"PUBLISHED"; + case AWSConnectContactFlowStatusSaved: + return @"SAVED"; + default: + return nil; + } + }]; +} + + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"CONTACT_FLOW"] == NSOrderedSame) { @@ -4556,6 +4945,52 @@ + (NSValueTransformer *)statusJSONTransformer { @end +@implementation AWSConnectContactFlowModuleSearchCriteria + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"andConditions" : @"AndConditions", + @"orConditions" : @"OrConditions", + @"stringCondition" : @"StringCondition", + }; +} + ++ (NSValueTransformer *)andConditionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectContactFlowModuleSearchCriteria class]]; +} + ++ (NSValueTransformer *)orConditionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectContactFlowModuleSearchCriteria class]]; +} + ++ (NSValueTransformer *)stringConditionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectStringCondition class]]; +} + +@end + +@implementation AWSConnectContactFlowModuleSearchFilter + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"tagFilter" : @"TagFilter", + }; +} + ++ (NSValueTransformer *)tagFilterJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectControlPlaneTagFilter class]]; +} + +@end + @implementation AWSConnectContactFlowModuleSummary + (BOOL)supportsSecureCoding { @@ -4594,6 +5029,153 @@ + (NSValueTransformer *)stateJSONTransformer { @end +@implementation AWSConnectContactFlowSearchCriteria + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"andConditions" : @"AndConditions", + @"orConditions" : @"OrConditions", + @"stateCondition" : @"StateCondition", + @"statusCondition" : @"StatusCondition", + @"stringCondition" : @"StringCondition", + @"typeCondition" : @"TypeCondition", + }; +} + ++ (NSValueTransformer *)andConditionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectContactFlowSearchCriteria class]]; +} + ++ (NSValueTransformer *)orConditionsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectContactFlowSearchCriteria class]]; +} + ++ (NSValueTransformer *)stateConditionJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ACTIVE"] == NSOrderedSame) { + return @(AWSConnectContactFlowStateActive); + } + if ([value caseInsensitiveCompare:@"ARCHIVED"] == NSOrderedSame) { + return @(AWSConnectContactFlowStateArchived); + } + return @(AWSConnectContactFlowStateUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectContactFlowStateActive: + return @"ACTIVE"; + case AWSConnectContactFlowStateArchived: + return @"ARCHIVED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)statusConditionJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"PUBLISHED"] == NSOrderedSame) { + return @(AWSConnectContactFlowStatusPublished); + } + if ([value caseInsensitiveCompare:@"SAVED"] == NSOrderedSame) { + return @(AWSConnectContactFlowStatusSaved); + } + return @(AWSConnectContactFlowStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectContactFlowStatusPublished: + return @"PUBLISHED"; + case AWSConnectContactFlowStatusSaved: + return @"SAVED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)stringConditionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectStringCondition class]]; +} + ++ (NSValueTransformer *)typeConditionJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"CONTACT_FLOW"] == NSOrderedSame) { + return @(AWSConnectContactFlowTypeContactFlow); + } + if ([value caseInsensitiveCompare:@"CUSTOMER_QUEUE"] == NSOrderedSame) { + return @(AWSConnectContactFlowTypeCustomerQueue); + } + if ([value caseInsensitiveCompare:@"CUSTOMER_HOLD"] == NSOrderedSame) { + return @(AWSConnectContactFlowTypeCustomerHold); + } + if ([value caseInsensitiveCompare:@"CUSTOMER_WHISPER"] == NSOrderedSame) { + return @(AWSConnectContactFlowTypeCustomerWhisper); + } + if ([value caseInsensitiveCompare:@"AGENT_HOLD"] == NSOrderedSame) { + return @(AWSConnectContactFlowTypeAgentHold); + } + if ([value caseInsensitiveCompare:@"AGENT_WHISPER"] == NSOrderedSame) { + return @(AWSConnectContactFlowTypeAgentWhisper); + } + if ([value caseInsensitiveCompare:@"OUTBOUND_WHISPER"] == NSOrderedSame) { + return @(AWSConnectContactFlowTypeOutboundWhisper); + } + if ([value caseInsensitiveCompare:@"AGENT_TRANSFER"] == NSOrderedSame) { + return @(AWSConnectContactFlowTypeAgentTransfer); + } + if ([value caseInsensitiveCompare:@"QUEUE_TRANSFER"] == NSOrderedSame) { + return @(AWSConnectContactFlowTypeQueueTransfer); + } + return @(AWSConnectContactFlowTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectContactFlowTypeContactFlow: + return @"CONTACT_FLOW"; + case AWSConnectContactFlowTypeCustomerQueue: + return @"CUSTOMER_QUEUE"; + case AWSConnectContactFlowTypeCustomerHold: + return @"CUSTOMER_HOLD"; + case AWSConnectContactFlowTypeCustomerWhisper: + return @"CUSTOMER_WHISPER"; + case AWSConnectContactFlowTypeAgentHold: + return @"AGENT_HOLD"; + case AWSConnectContactFlowTypeAgentWhisper: + return @"AGENT_WHISPER"; + case AWSConnectContactFlowTypeOutboundWhisper: + return @"OUTBOUND_WHISPER"; + case AWSConnectContactFlowTypeAgentTransfer: + return @"AGENT_TRANSFER"; + case AWSConnectContactFlowTypeQueueTransfer: + return @"QUEUE_TRANSFER"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSConnectContactFlowSearchFilter + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"tagFilter" : @"TagFilter", + }; +} + ++ (NSValueTransformer *)tagFilterJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectControlPlaneTagFilter class]]; +} + +@end + @implementation AWSConnectContactFlowSummary + (BOOL)supportsSecureCoding { @@ -4604,6 +5186,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"arn" : @"Arn", @"contactFlowState" : @"ContactFlowState", + @"contactFlowStatus" : @"ContactFlowStatus", @"contactFlowType" : @"ContactFlowType", @"identifier" : @"Id", @"name" : @"Name", @@ -4631,6 +5214,27 @@ + (NSValueTransformer *)contactFlowStateJSONTransformer { }]; } ++ (NSValueTransformer *)contactFlowStatusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"PUBLISHED"] == NSOrderedSame) { + return @(AWSConnectContactFlowStatusPublished); + } + if ([value caseInsensitiveCompare:@"SAVED"] == NSOrderedSame) { + return @(AWSConnectContactFlowStatusSaved); + } + return @(AWSConnectContactFlowStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectContactFlowStatusPublished: + return @"PUBLISHED"; + case AWSConnectContactFlowStatusSaved: + return @"SAVED"; + default: + return nil; + } + }]; +} + + (NSValueTransformer *)contactFlowTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"CONTACT_FLOW"] == NSOrderedSame) { @@ -5050,11 +5654,33 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"detail" : @"Description", @"instanceId" : @"InstanceId", @"name" : @"Name", + @"status" : @"Status", @"tags" : @"Tags", @"types" : @"Type", }; } ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"PUBLISHED"] == NSOrderedSame) { + return @(AWSConnectContactFlowStatusPublished); + } + if ([value caseInsensitiveCompare:@"SAVED"] == NSOrderedSame) { + return @(AWSConnectContactFlowStatusSaved); + } + return @(AWSConnectContactFlowStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectContactFlowStatusPublished: + return @"PUBLISHED"; + case AWSConnectContactFlowStatusSaved: + return @"SAVED"; + default: + return nil; + } + }]; +} + + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"CONTACT_FLOW"] == NSOrderedSame) { @@ -6304,6 +6930,21 @@ + (NSValueTransformer *)stateJSONTransformer { @end +@implementation AWSConnectCreatedByInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"AWSIdentityArn" : @"AWSIdentityArn", + @"connectUserArn" : @"ConnectUserArn", + }; +} + +@end + @implementation AWSConnectCredentials + (BOOL)supportsSecureCoding { @@ -6620,24 +7261,96 @@ + (NSValueTransformer *)sortByMetricJSONTransformer { }]; } -+ (NSValueTransformer *)sortOrderJSONTransformer { - return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { - if ([value caseInsensitiveCompare:@"ASCENDING"] == NSOrderedSame) { - return @(AWSConnectSortOrderAscending); - } - if ([value caseInsensitiveCompare:@"DESCENDING"] == NSOrderedSame) { - return @(AWSConnectSortOrderDescending); - } - return @(AWSConnectSortOrderUnknown); - } reverseBlock:^NSString *(NSNumber *value) { - switch ([value integerValue]) { - case AWSConnectSortOrderAscending: - return @"ASCENDING"; - case AWSConnectSortOrderDescending: - return @"DESCENDING"; - default: - return nil; - } ++ (NSValueTransformer *)sortOrderJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ASCENDING"] == NSOrderedSame) { + return @(AWSConnectSortOrderAscending); + } + if ([value caseInsensitiveCompare:@"DESCENDING"] == NSOrderedSame) { + return @(AWSConnectSortOrderDescending); + } + return @(AWSConnectSortOrderUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectSortOrderAscending: + return @"ASCENDING"; + case AWSConnectSortOrderDescending: + return @"DESCENDING"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSConnectCustomer + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"capabilities" : @"Capabilities", + @"deviceInfo" : @"DeviceInfo", + }; +} + ++ (NSValueTransformer *)capabilitiesJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectParticipantCapabilities class]]; +} + ++ (NSValueTransformer *)deviceInfoJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectDeviceInfo class]]; +} + +@end + +@implementation AWSConnectCustomerQualityMetrics + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"audio" : @"Audio", + }; +} + ++ (NSValueTransformer *)audioJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAudioQualityMetricsInfo class]]; +} + +@end + +@implementation AWSConnectCustomerVoiceActivity + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"greetingEndTimestamp" : @"GreetingEndTimestamp", + @"greetingStartTimestamp" : @"GreetingStartTimestamp", + }; +} + ++ (NSValueTransformer *)greetingEndTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)greetingStartTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; }]; } @@ -6833,6 +7546,30 @@ + (NSValueTransformer *)languageCodeJSONTransformer { @end +@implementation AWSConnectDeleteAttachedFileRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"associatedResourceArn" : @"AssociatedResourceArn", + @"fileId" : @"FileId", + @"instanceId" : @"InstanceId", + }; +} + +@end + +@implementation AWSConnectDeleteAttachedFileResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + +@end + @implementation AWSConnectDeleteContactEvaluationRequest + (BOOL)supportsSecureCoding { @@ -8191,6 +8928,22 @@ + (NSValueTransformer *)vocabularyJSONTransformer { @end +@implementation AWSConnectDeviceInfo + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"operatingSystem" : @"OperatingSystem", + @"platformName" : @"PlatformName", + @"platformVersion" : @"PlatformVersion", + }; +} + +@end + @implementation AWSConnectDimensions + (BOOL)supportsSecureCoding { @@ -8565,6 +9318,20 @@ + (NSValueTransformer *)userProficienciesJSONTransformer { @end +@implementation AWSConnectDisconnectDetails + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"potentialDisconnectIssue" : @"PotentialDisconnectIssue", + }; +} + +@end + @implementation AWSConnectDisconnectReason + (BOOL)supportsSecureCoding { @@ -8618,6 +9385,21 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectDownloadUrlMetadata + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"url" : @"Url", + @"urlExpiry" : @"UrlExpiry", + }; +} + +@end + @implementation AWSConnectEmailReference + (BOOL)supportsSecureCoding { @@ -9550,6 +10332,57 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectExpiry + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"durationInSeconds" : @"DurationInSeconds", + @"expiryTimestamp" : @"ExpiryTimestamp", + }; +} + ++ (NSValueTransformer *)expiryTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + +@end + +@implementation AWSConnectExpression + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"andExpression" : @"AndExpression", + @"attributeCondition" : @"AttributeCondition", + @"orExpression" : @"OrExpression", + }; +} + ++ (NSValueTransformer *)andExpressionJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectExpression class]]; +} + ++ (NSValueTransformer *)attributeConditionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAttributeCondition class]]; +} + ++ (NSValueTransformer *)orExpressionJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectExpression class]]; +} + +@end + @implementation AWSConnectFailedRequest + (BOOL)supportsSecureCoding { @@ -9731,6 +10564,102 @@ + (NSValueTransformer *)resourceTypeJSONTransformer { @end +@implementation AWSConnectGetAttachedFileRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"associatedResourceArn" : @"AssociatedResourceArn", + @"fileId" : @"FileId", + @"instanceId" : @"InstanceId", + @"urlExpiryInSeconds" : @"UrlExpiryInSeconds", + }; +} + +@end + +@implementation AWSConnectGetAttachedFileResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"associatedResourceArn" : @"AssociatedResourceArn", + @"createdBy" : @"CreatedBy", + @"creationTime" : @"CreationTime", + @"downloadUrlMetadata" : @"DownloadUrlMetadata", + @"fileArn" : @"FileArn", + @"fileId" : @"FileId", + @"fileName" : @"FileName", + @"fileSizeInBytes" : @"FileSizeInBytes", + @"fileStatus" : @"FileStatus", + @"fileUseCaseType" : @"FileUseCaseType", + @"tags" : @"Tags", + }; +} + ++ (NSValueTransformer *)createdByJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectCreatedByInfo class]]; +} + ++ (NSValueTransformer *)downloadUrlMetadataJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectDownloadUrlMetadata class]]; +} + ++ (NSValueTransformer *)fileStatusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"APPROVED"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeApproved); + } + if ([value caseInsensitiveCompare:@"REJECTED"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeRejected); + } + if ([value caseInsensitiveCompare:@"PROCESSING"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeProcessing); + } + if ([value caseInsensitiveCompare:@"FAILED"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeFailed); + } + return @(AWSConnectFileStatusTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectFileStatusTypeApproved: + return @"APPROVED"; + case AWSConnectFileStatusTypeRejected: + return @"REJECTED"; + case AWSConnectFileStatusTypeProcessing: + return @"PROCESSING"; + case AWSConnectFileStatusTypeFailed: + return @"FAILED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)fileUseCaseTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ATTACHMENT"] == NSOrderedSame) { + return @(AWSConnectFileUseCaseTypeAttachment); + } + return @(AWSConnectFileUseCaseTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectFileUseCaseTypeAttachment: + return @"ATTACHMENT"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSConnectGetContactAttributesRequest + (BOOL)supportsSecureCoding { @@ -10378,6 +11307,44 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectHierarchyGroups + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"level1" : @"Level1", + @"level2" : @"Level2", + @"level3" : @"Level3", + @"level4" : @"Level4", + @"level5" : @"Level5", + }; +} + ++ (NSValueTransformer *)level1JSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAgentHierarchyGroup class]]; +} + ++ (NSValueTransformer *)level2JSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAgentHierarchyGroup class]]; +} + ++ (NSValueTransformer *)level3JSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAgentHierarchyGroup class]]; +} + ++ (NSValueTransformer *)level4JSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAgentHierarchyGroup class]]; +} + ++ (NSValueTransformer *)level5JSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAgentHierarchyGroup class]]; +} + +@end + @implementation AWSConnectHierarchyLevel + (BOOL)supportsSecureCoding { @@ -11456,6 +12423,46 @@ + (NSValueTransformer *)intervalPeriodJSONTransformer { @end +@implementation AWSConnectInvalidRequestExceptionReason + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"attachedFileInvalidRequestExceptionReason" : @"AttachedFileInvalidRequestExceptionReason", + }; +} + ++ (NSValueTransformer *)attachedFileInvalidRequestExceptionReasonJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"INVALID_FILE_SIZE"] == NSOrderedSame) { + return @(AWSConnectAttachedFileInvalidRequestExceptionReasonInvalidFileSize); + } + if ([value caseInsensitiveCompare:@"INVALID_FILE_TYPE"] == NSOrderedSame) { + return @(AWSConnectAttachedFileInvalidRequestExceptionReasonInvalidFileType); + } + if ([value caseInsensitiveCompare:@"INVALID_FILE_NAME"] == NSOrderedSame) { + return @(AWSConnectAttachedFileInvalidRequestExceptionReasonInvalidFileName); + } + return @(AWSConnectAttachedFileInvalidRequestExceptionReasonUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectAttachedFileInvalidRequestExceptionReasonInvalidFileSize: + return @"INVALID_FILE_SIZE"; + case AWSConnectAttachedFileInvalidRequestExceptionReasonInvalidFileType: + return @"INVALID_FILE_TYPE"; + case AWSConnectAttachedFileInvalidRequestExceptionReasonInvalidFileName: + return @"INVALID_FILE_NAME"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSConnectInvisibleFieldInfo + (BOOL)supportsSecureCoding { @@ -17253,6 +18260,29 @@ + (BOOL)supportsSecureCoding { @end +@implementation AWSConnectQualityMetrics + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"agent" : @"Agent", + @"customer" : @"Customer", + }; +} + ++ (NSValueTransformer *)agentJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectAgentQualityMetrics class]]; +} + ++ (NSValueTransformer *)customerJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectCustomerQualityMetrics class]]; +} + +@end + @implementation AWSConnectQueue + (BOOL)supportsSecureCoding { @@ -18392,6 +19422,34 @@ + (BOOL)supportsSecureCoding { @end +@implementation AWSConnectRoutingCriteria + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"activationTimestamp" : @"ActivationTimestamp", + @"index" : @"Index", + @"steps" : @"Steps", + }; +} + ++ (NSValueTransformer *)activationTimestampJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)stepsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectStep class]]; +} + +@end + @implementation AWSConnectRoutingProfile + (BOOL)supportsSecureCoding { @@ -18401,6 +19459,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"agentAvailabilityTimer" : @"AgentAvailabilityTimer", + @"associatedQueueIds" : @"AssociatedQueueIds", @"defaultOutboundQueueId" : @"DefaultOutboundQueueId", @"detail" : @"Description", @"instanceId" : @"InstanceId", @@ -18728,6 +19787,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"endAssociatedTasksAction" : @"EndAssociatedTasksAction", @"eventBridgeAction" : @"EventBridgeAction", @"sendNotificationAction" : @"SendNotificationAction", + @"submitAutoEvaluationAction" : @"SubmitAutoEvaluationAction", @"taskAction" : @"TaskAction", @"updateCaseAction" : @"UpdateCaseAction", }; @@ -18756,6 +19816,9 @@ + (NSValueTransformer *)actionTypeJSONTransformer { if ([value caseInsensitiveCompare:@"END_ASSOCIATED_TASKS"] == NSOrderedSame) { return @(AWSConnectActionTypeEndAssociatedTasks); } + if ([value caseInsensitiveCompare:@"SUBMIT_AUTO_EVALUATION"] == NSOrderedSame) { + return @(AWSConnectActionTypeSubmitAutoEvaluation); + } return @(AWSConnectActionTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -18773,6 +19836,8 @@ + (NSValueTransformer *)actionTypeJSONTransformer { return @"UPDATE_CASE"; case AWSConnectActionTypeEndAssociatedTasks: return @"END_ASSOCIATED_TASKS"; + case AWSConnectActionTypeSubmitAutoEvaluation: + return @"SUBMIT_AUTO_EVALUATION"; default: return nil; } @@ -18799,6 +19864,10 @@ + (NSValueTransformer *)sendNotificationActionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectSendNotificationActionDefinition class]]; } ++ (NSValueTransformer *)submitAutoEvaluationActionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectSubmitAutoEvaluationActionDefinition class]]; +} + + (NSValueTransformer *)taskActionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectTaskActionDefinition class]]; } @@ -20319,6 +21388,98 @@ + (NSValueTransformer *)availableNumbersListJSONTransformer { @end +@implementation AWSConnectSearchContactFlowModulesRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + @"searchCriteria" : @"SearchCriteria", + @"searchFilter" : @"SearchFilter", + }; +} + ++ (NSValueTransformer *)searchCriteriaJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectContactFlowModuleSearchCriteria class]]; +} + ++ (NSValueTransformer *)searchFilterJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectContactFlowModuleSearchFilter class]]; +} + +@end + +@implementation AWSConnectSearchContactFlowModulesResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"approximateTotalCount" : @"ApproximateTotalCount", + @"contactFlowModules" : @"ContactFlowModules", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)contactFlowModulesJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectContactFlowModule class]]; +} + +@end + +@implementation AWSConnectSearchContactFlowsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"maxResults" : @"MaxResults", + @"nextToken" : @"NextToken", + @"searchCriteria" : @"SearchCriteria", + @"searchFilter" : @"SearchFilter", + }; +} + ++ (NSValueTransformer *)searchCriteriaJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectContactFlowSearchCriteria class]]; +} + ++ (NSValueTransformer *)searchFilterJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectContactFlowSearchFilter class]]; +} + +@end + +@implementation AWSConnectSearchContactFlowsResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"approximateTotalCount" : @"ApproximateTotalCount", + @"contactFlows" : @"ContactFlows", + @"nextToken" : @"NextToken", + }; +} + ++ (NSValueTransformer *)contactFlowsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSConnectContactFlow class]]; +} + +@end + @implementation AWSConnectSearchContactsRequest + (BOOL)supportsSecureCoding { @@ -21523,6 +22684,106 @@ + (NSValueTransformer *)orderJSONTransformer { @end +@implementation AWSConnectStartAttachedFileUploadRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"associatedResourceArn" : @"AssociatedResourceArn", + @"clientToken" : @"ClientToken", + @"createdBy" : @"CreatedBy", + @"fileName" : @"FileName", + @"fileSizeInBytes" : @"FileSizeInBytes", + @"fileUseCaseType" : @"FileUseCaseType", + @"instanceId" : @"InstanceId", + @"tags" : @"Tags", + @"urlExpiryInSeconds" : @"UrlExpiryInSeconds", + }; +} + ++ (NSValueTransformer *)createdByJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectCreatedByInfo class]]; +} + ++ (NSValueTransformer *)fileUseCaseTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ATTACHMENT"] == NSOrderedSame) { + return @(AWSConnectFileUseCaseTypeAttachment); + } + return @(AWSConnectFileUseCaseTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectFileUseCaseTypeAttachment: + return @"ATTACHMENT"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSConnectStartAttachedFileUploadResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"createdBy" : @"CreatedBy", + @"creationTime" : @"CreationTime", + @"fileArn" : @"FileArn", + @"fileId" : @"FileId", + @"fileStatus" : @"FileStatus", + @"uploadUrlMetadata" : @"UploadUrlMetadata", + }; +} + ++ (NSValueTransformer *)createdByJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectCreatedByInfo class]]; +} + ++ (NSValueTransformer *)fileStatusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"APPROVED"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeApproved); + } + if ([value caseInsensitiveCompare:@"REJECTED"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeRejected); + } + if ([value caseInsensitiveCompare:@"PROCESSING"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeProcessing); + } + if ([value caseInsensitiveCompare:@"FAILED"] == NSOrderedSame) { + return @(AWSConnectFileStatusTypeFailed); + } + return @(AWSConnectFileStatusTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectFileStatusTypeApproved: + return @"APPROVED"; + case AWSConnectFileStatusTypeRejected: + return @"REJECTED"; + case AWSConnectFileStatusTypeProcessing: + return @"PROCESSING"; + case AWSConnectFileStatusTypeFailed: + return @"FAILED"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)uploadUrlMetadataJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectUploadUrlMetadata class]]; +} + +@end + @implementation AWSConnectStartChatContactRequest + (BOOL)supportsSecureCoding { @@ -21868,6 +23129,61 @@ + (NSValueTransformer *)connectionDataJSONTransformer { @end +@implementation AWSConnectStep + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"expiry" : @"Expiry", + @"expression" : @"Expression", + @"status" : @"Status", + }; +} + ++ (NSValueTransformer *)expiryJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectExpiry class]]; +} + ++ (NSValueTransformer *)expressionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSConnectExpression class]]; +} + ++ (NSValueTransformer *)statusJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"ACTIVE"] == NSOrderedSame) { + return @(AWSConnectRoutingCriteriaStepStatusActive); + } + if ([value caseInsensitiveCompare:@"INACTIVE"] == NSOrderedSame) { + return @(AWSConnectRoutingCriteriaStepStatusInactive); + } + if ([value caseInsensitiveCompare:@"JOINED"] == NSOrderedSame) { + return @(AWSConnectRoutingCriteriaStepStatusJoined); + } + if ([value caseInsensitiveCompare:@"EXPIRED"] == NSOrderedSame) { + return @(AWSConnectRoutingCriteriaStepStatusExpired); + } + return @(AWSConnectRoutingCriteriaStepStatusUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSConnectRoutingCriteriaStepStatusActive: + return @"ACTIVE"; + case AWSConnectRoutingCriteriaStepStatusInactive: + return @"INACTIVE"; + case AWSConnectRoutingCriteriaStepStatusJoined: + return @"JOINED"; + case AWSConnectRoutingCriteriaStepStatusExpired: + return @"EXPIRED"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSConnectStopContactRecordingRequest + (BOOL)supportsSecureCoding { @@ -22001,6 +23317,20 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSConnectSubmitAutoEvaluationActionDefinition + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"evaluationFormId" : @"EvaluationFormId", + }; +} + +@end + @implementation AWSConnectSubmitContactEvaluationRequest + (BOOL)supportsSecureCoding { @@ -24361,6 +25691,22 @@ + (BOOL)supportsSecureCoding { @end +@implementation AWSConnectUploadUrlMetadata + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"headersToInclude" : @"HeadersToInclude", + @"url" : @"Url", + @"urlExpiry" : @"UrlExpiry", + }; +} + +@end + @implementation AWSConnectUrlReference + (BOOL)supportsSecureCoding { diff --git a/AWSConnect/AWSConnectResources.m b/AWSConnect/AWSConnectResources.m index 9f8cbdf8f3c..90f826c069c 100644 --- a/AWSConnect/AWSConnectResources.m +++ b/AWSConnect/AWSConnectResources.m @@ -63,6 +63,7 @@ - (NSString *)definitionString { \"endpointPrefix\":\"connect\",\ \"jsonVersion\":\"1.1\",\ \"protocol\":\"rest-json\",\ + \"protocols\":[\"rest-json\"],\ \"serviceAbbreviation\":\"Amazon Connect\",\ \"serviceFullName\":\"Amazon Connect Service\",\ \"serviceId\":\"Connect\",\ @@ -367,6 +368,23 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

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

Removes a list of analytics datasets associated with a given Amazon Connect instance. You can disassociate multiple datasets in a single call.

\"\ },\ + \"BatchGetAttachedFileMetadata\":{\ + \"name\":\"BatchGetAttachedFileMetadata\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/attached-files/{InstanceId}\"\ + },\ + \"input\":{\"shape\":\"BatchGetAttachedFileMetadataRequest\"},\ + \"output\":{\"shape\":\"BatchGetAttachedFileMetadataResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ThrottlingException\"}\ + ],\ + \"documentation\":\"

Allows you to retrieve metadata about multiple attached files on an associated resource. Each attached file provided in the input list must be associated with the input AssociatedResourceArn.

\"\ + },\ \"BatchGetFlowAssociation\":{\ \"name\":\"BatchGetFlowAssociation\",\ \"http\":{\ @@ -420,7 +438,24 @@ - (NSString *)definitionString { {\"shape\":\"IdempotencyException\"},\ {\"shape\":\"AccessDeniedException\"}\ ],\ - \"documentation\":\"

Claims an available phone number to your Amazon Connect instance or traffic distribution group. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group was created.

For more information about how to use this operation, see Claim a phone number in your country and Claim phone numbers to traffic distribution groups in the Amazon Connect Administrator Guide.

You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber operation.

If you plan to claim and release numbers frequently during a 30 day period, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until 30 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers during any 30 day period. If you claim and release phone numbers using the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 30 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

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

Claims an available phone number to your Amazon Connect instance or traffic distribution group. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group was created.

For more information about how to use this operation, see Claim a phone number in your country and Claim phone numbers to traffic distribution groups in the Amazon Connect Administrator Guide.

You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber operation.

If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

\"\ + },\ + \"CompleteAttachedFileUpload\":{\ + \"name\":\"CompleteAttachedFileUpload\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/attached-files/{InstanceId}/{FileId}\"\ + },\ + \"input\":{\"shape\":\"CompleteAttachedFileUploadRequest\"},\ + \"output\":{\"shape\":\"CompleteAttachedFileUploadResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ThrottlingException\"}\ + ],\ + \"documentation\":\"

Allows you to confirm that the attached file has been uploaded using the pre-signed URL provided in the StartAttachedFileUpload API.

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

Creates a prompt. For more information about prompts, such as supported file types and maximum length, see Create prompts in the Amazon Connect Administrator's Guide.

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

Creates a prompt. For more information about prompts, such as supported file types and maximum length, see Create prompts in the Amazon Connect Administrator Guide.

\"\ },\ \"CreateQueue\":{\ \"name\":\"CreateQueue\",\ @@ -893,6 +928,23 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Deactivates an evaluation form in the specified Amazon Connect instance. After a form is deactivated, it is no longer available for users to start new evaluations based on the form.

\"\ },\ + \"DeleteAttachedFile\":{\ + \"name\":\"DeleteAttachedFile\",\ + \"http\":{\ + \"method\":\"DELETE\",\ + \"requestUri\":\"/attached-files/{InstanceId}/{FileId}\"\ + },\ + \"input\":{\"shape\":\"DeleteAttachedFileRequest\"},\ + \"output\":{\"shape\":\"DeleteAttachedFileResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ThrottlingException\"}\ + ],\ + \"documentation\":\"

Deletes an attached file along with the underlying S3 Object.

The attached file is permanently deleted if S3 bucket versioning is not enabled.

\"\ + },\ \"DeleteContactEvaluation\":{\ \"name\":\"DeleteContactEvaluation\",\ \"http\":{\ @@ -1330,7 +1382,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalServiceException\"}\ ],\ - \"documentation\":\"

Describes the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

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

Describes the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

In the response, Status indicates the flow status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content. SAVED does not initiate validation of the content. SAVED | PUBLISHED

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

Describes the specified flow module.

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

Describes the specified flow module.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

\"\ },\ \"DescribeEvaluationForm\":{\ \"name\":\"DescribeEvaluationForm\",\ @@ -1901,6 +1953,23 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Dismisses contacts from an agent’s CCP and returns the agent to an available state, which allows the agent to receive a new routed contact. Contacts can only be dismissed if they are in a MISSED, ERROR, ENDED, or REJECTED state in the Agent Event Stream.

\"\ },\ + \"GetAttachedFile\":{\ + \"name\":\"GetAttachedFile\",\ + \"http\":{\ + \"method\":\"GET\",\ + \"requestUri\":\"/attached-files/{InstanceId}/{FileId}\"\ + },\ + \"input\":{\"shape\":\"GetAttachedFileRequest\"},\ + \"output\":{\"shape\":\"GetAttachedFileResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ThrottlingException\"}\ + ],\ + \"documentation\":\"

Provides a pre-signed URL for download of an approved attached file. This API also returns metadata about the attached file. It will only return a downloadURL if the status of the attached file is APPROVED.

\"\ + },\ \"GetContactAttributes\":{\ \"name\":\"GetContactAttributes\",\ \"http\":{\ @@ -2018,7 +2087,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 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.

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

\"\ },\ \"GetPromptFile\":{\ \"name\":\"GetPromptFile\",\ @@ -2904,7 +2973,7 @@ - (NSString *)definitionString { {\"shape\":\"IdempotencyException\"},\ {\"shape\":\"AccessDeniedException\"}\ ],\ - \"documentation\":\"

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed.

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website.

After releasing a phone number, the phone number enters into a cooldown period of 30 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support.

If you plan to claim and release numbers frequently during a 30 day period, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until 30 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers during any 30 day period. If you claim and release phone numbers using the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 30 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

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

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed.

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website.

After releasing a phone number, the phone number enters into a cooldown period for up to 180 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support.

If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

\"\ },\ \"ReplicateInstance\":{\ \"name\":\"ReplicateInstance\",\ @@ -2976,6 +3045,40 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Searches for available phone numbers that you can claim to your Amazon Connect instance or traffic distribution group. If the provided TargetArn is a traffic distribution group, you can call this API in both Amazon Web Services Regions associated with the traffic distribution group.

\"\ },\ + \"SearchContactFlowModules\":{\ + \"name\":\"SearchContactFlowModules\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/search-contact-flow-modules\"\ + },\ + \"input\":{\"shape\":\"SearchContactFlowModulesRequest\"},\ + \"output\":{\"shape\":\"SearchContactFlowModulesResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"InternalServiceException\"}\ + ],\ + \"documentation\":\"

Searches the flow modules in an Amazon Connect instance, with optional filtering.

\"\ + },\ + \"SearchContactFlows\":{\ + \"name\":\"SearchContactFlows\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/search-contact-flows\"\ + },\ + \"input\":{\"shape\":\"SearchContactFlowsRequest\"},\ + \"output\":{\"shape\":\"SearchContactFlowsResponse\"},\ + \"errors\":[\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InvalidParameterException\"},\ + {\"shape\":\"ResourceNotFoundException\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"InternalServiceException\"}\ + ],\ + \"documentation\":\"

Searches the contact flows in an Amazon Connect instance, with optional filtering.

\"\ + },\ \"SearchContacts\":{\ \"name\":\"SearchContacts\",\ \"http\":{\ @@ -3180,6 +3283,24 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Processes chat integration events from Amazon Web Services or external integrations to Amazon Connect. A chat integration event includes:

  • SourceId, DestinationId, and Subtype: a set of identifiers, uniquely representing a chat

  • ChatEvent: details of the chat action to perform such as sending a message, event, or disconnecting from a chat

When a chat integration event is sent with chat identifiers that do not map to an active chat contact, a new chat contact is also created before handling chat action.

Access to this API is currently restricted to Amazon Pinpoint for supporting SMS integration.

\"\ },\ + \"StartAttachedFileUpload\":{\ + \"name\":\"StartAttachedFileUpload\",\ + \"http\":{\ + \"method\":\"PUT\",\ + \"requestUri\":\"/attached-files/{InstanceId}\"\ + },\ + \"input\":{\"shape\":\"StartAttachedFileUploadRequest\"},\ + \"output\":{\"shape\":\"StartAttachedFileUploadResponse\"},\ + \"errors\":[\ + {\"shape\":\"AccessDeniedException\"},\ + {\"shape\":\"InvalidRequestException\"},\ + {\"shape\":\"InternalServiceException\"},\ + {\"shape\":\"ThrottlingException\"},\ + {\"shape\":\"ResourceConflictException\"},\ + {\"shape\":\"ServiceQuotaExceededException\"}\ + ],\ + \"documentation\":\"

Provides a pre-signed Amazon S3 URL in response for uploading your content.

You may only use this API to upload attachments to a Connect Case.

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

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

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

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

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

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

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

  • EXTERNAL_OUTBOUND

  • MONITOR

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

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

Updates the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

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

Updates the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

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

Updates specified flow module for the specified Amazon Connect instance.

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

Updates specified flow module for the specified Amazon Connect instance.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

\"\ },\ \"UpdateContactFlowModuleMetadata\":{\ \"name\":\"UpdateContactFlowModuleMetadata\",\ @@ -3645,7 +3766,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"AccessDeniedException\"}\ ],\ - \"documentation\":\"

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

Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). These properties can be used to change a customer's position in the queue. For example, you can move a contact to the back of the queue by setting a lower routing priority relative to other contacts in queue; or you can move a contact to the front of the queue by increasing the routing age which will make the contact look artificially older and therefore higher up in the first-in-first-out routing order. Note that adjusting the routing age of a contact affects only its position in queue, and not its actual queue wait time as reported through metrics. These properties can also be updated by using the Set routing priority / age flow block.

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

Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). These properties can be used to change a customer's position in the queue. For example, you can move a contact to the back of the queue by setting a lower routing priority relative to other contacts in queue; or you can move a contact to the front of the queue by increasing the routing age which will make the contact look artificially older and therefore higher up in the first-in-first-out routing order. Note that adjusting the routing age of a contact affects only its position in queue, and not its actual queue wait time as reported through metrics. These properties can also be updated by using the Set routing priority / age flow block.

Either QueuePriority or QueueTimeAdjustmentInSeconds should be provided within the request body, but not both.

\"\ },\ \"UpdateContactSchedule\":{\ \"name\":\"UpdateContactSchedule\",\ @@ -4291,7 +4412,8 @@ - (NSString *)definitionString { \"SEND_NOTIFICATION\",\ \"CREATE_CASE\",\ \"UPDATE_CASE\",\ - \"END_ASSOCIATED_TASKS\"\ + \"END_ASSOCIATED_TASKS\",\ + \"SUBMIT_AUTO_EVALUATION\"\ ]\ },\ \"ActivateEvaluationFormRequest\":{\ @@ -4405,6 +4527,16 @@ - (NSString *)definitionString { \"min\":1,\ \"sensitive\":true\ },\ + \"AgentHierarchyGroup\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Arn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The Amazon Resource Name (ARN) of the group.

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

Information about an agent hierarchy group.

\"\ + },\ \"AgentHierarchyGroups\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -4445,7 +4577,16 @@ - (NSString *)definitionString { \"AgentPauseDurationInSeconds\":{\ \"shape\":\"AgentPauseDurationInSeconds\",\ \"documentation\":\"

Agent pause duration for a contact in seconds.

\"\ - }\ + },\ + \"HierarchyGroups\":{\ + \"shape\":\"HierarchyGroups\",\ + \"documentation\":\"

The agent hierarchy groups for the agent.

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

Information regarding Agent’s device.

\"\ + },\ + \"Capabilities\":{\"shape\":\"ParticipantCapabilities\"}\ },\ \"documentation\":\"

Information about the agent who accepted the contact.

\"\ },\ @@ -4459,6 +4600,16 @@ - (NSString *)definitionString { \"type\":\"integer\",\ \"min\":0\ },\ + \"AgentQualityMetrics\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Audio\":{\ + \"shape\":\"AudioQualityMetricsInfo\",\ + \"documentation\":\"

Information about the audio quality of the Agent

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

Information about the quality of the Agent's media connection

\"\ + },\ \"AgentResourceId\":{\ \"type\":\"string\",\ \"max\":256,\ @@ -4685,6 +4836,25 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Configuration of the answering machine detection.

\"\ },\ + \"AnsweringMachineDetectionStatus\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"ANSWERED\",\ + \"UNDETECTED\",\ + \"ERROR\",\ + \"HUMAN_ANSWERED\",\ + \"SIT_TONE_DETECTED\",\ + \"SIT_TONE_BUSY\",\ + \"SIT_TONE_INVALID_NUMBER\",\ + \"FAX_MACHINE_DETECTED\",\ + \"VOICEMAIL_BEEP\",\ + \"VOICEMAIL_NO_BEEP\",\ + \"AMD_UNRESOLVED\",\ + \"AMD_UNANSWERED\",\ + \"AMD_ERROR\",\ + \"AMD_NOT_APPLICABLE\"\ + ]\ + },\ \"Application\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -5104,11 +5274,104 @@ - (NSString *)definitionString { }\ }\ },\ + \"AssociatedQueueIdList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"QueueId\"}\ + },\ \"AssociationId\":{\ \"type\":\"string\",\ \"max\":100,\ \"min\":1\ },\ + \"AttachedFile\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"CreationTime\",\ + \"FileArn\",\ + \"FileId\",\ + \"FileName\",\ + \"FileSizeInBytes\",\ + \"FileStatus\"\ + ],\ + \"members\":{\ + \"CreationTime\":{\ + \"shape\":\"ISO8601Datetime\",\ + \"documentation\":\"

The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2024-05-03T02:41:28.172Z.

\"\ + },\ + \"FileArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The unique identifier of the attached file resource (ARN).

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

The unique identifier of the attached file resource.

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

A case-sensitive name of the attached file being uploaded.

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

The size of the attached file in bytes.

\",\ + \"box\":true\ + },\ + \"FileStatus\":{\ + \"shape\":\"FileStatusType\",\ + \"documentation\":\"

The current status of the attached file.

\"\ + },\ + \"CreatedBy\":{\ + \"shape\":\"CreatedByInfo\",\ + \"documentation\":\"

Represents the identity that created the file.

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

The use case for the file.

\"\ + },\ + \"AssociatedResourceArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

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

The tags used to organize, track, or control access for this resource. For example, { \\\"Tags\\\": {\\\"key1\\\":\\\"value1\\\", \\\"key2\\\":\\\"value2\\\"} }.

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

Information about the attached file.

\"\ + },\ + \"AttachedFileError\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ErrorCode\":{\ + \"shape\":\"ErrorCode\",\ + \"documentation\":\"

Status code describing the failure.

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

Why the attached file couldn't be retrieved.

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

The unique identifier of the attached file resource.

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

Error describing a failure to retrieve attached file metadata through BatchGetAttachedFileMetadata action.

\"\ + },\ + \"AttachedFileErrorsList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"AttachedFileError\"}\ + },\ + \"AttachedFileInvalidRequestExceptionReason\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"INVALID_FILE_SIZE\",\ + \"INVALID_FILE_TYPE\",\ + \"INVALID_FILE_NAME\"\ + ]\ + },\ + \"AttachedFilesList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"AttachedFile\"}\ + },\ \"AttachmentName\":{\ \"type\":\"string\",\ \"max\":256,\ @@ -5172,6 +5435,28 @@ - (NSString *)definitionString { },\ \"documentation\":\"

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

\"\ },\ + \"AttributeCondition\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Name\":{\ + \"shape\":\"PredefinedAttributeName\",\ + \"documentation\":\"

The name of predefined attribute.

\"\ + },\ + \"Value\":{\ + \"shape\":\"ProficiencyValue\",\ + \"documentation\":\"

The value of predefined attribute.

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

The proficiency level of the condition.

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

The operator of the condition.

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

An object to specify the predefined attribute condition.

\"\ + },\ \"AttributeName\":{\ \"type\":\"string\",\ \"max\":32767,\ @@ -5205,6 +5490,21 @@ - (NSString *)definitionString { },\ \"documentation\":\"

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

\"\ },\ + \"AudioQualityMetricsInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"QualityScore\":{\ + \"shape\":\"AudioQualityScore\",\ + \"documentation\":\"

Number measuring the estimated quality of the media connection.

\"\ + },\ + \"PotentialQualityIssues\":{\ + \"shape\":\"PotentialAudioQualityIssues\",\ + \"documentation\":\"

List of potential issues causing degradation of quality on a media connection. If the service did not detect any potential quality issues the list is empty.

Valid values: HighPacketLoss | HighRoundTripTime | HighJitterBuffer

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

Contains information for score and potential quality issues for Audio

\"\ + },\ + \"AudioQualityScore\":{\"type\":\"float\"},\ \"AutoAccept\":{\"type\":\"boolean\"},\ \"AvailableNumberSummary\":{\ \"type\":\"structure\",\ @@ -5306,6 +5606,45 @@ - (NSString *)definitionString { }\ }\ },\ + \"BatchGetAttachedFileMetadataRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"FileIds\",\ + \"InstanceId\",\ + \"AssociatedResourceArn\"\ + ],\ + \"members\":{\ + \"FileIds\":{\ + \"shape\":\"FileIdList\",\ + \"documentation\":\"

The unique identifiers of the attached file resource.

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

The unique identifier of the Connect instance.

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

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"associatedResourceArn\"\ + }\ + }\ + },\ + \"BatchGetAttachedFileMetadataResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Files\":{\ + \"shape\":\"AttachedFilesList\",\ + \"documentation\":\"

List of attached files that were successfully retrieved.

\"\ + },\ + \"Errors\":{\ + \"shape\":\"AttachedFileErrorsList\",\ + \"documentation\":\"

List of errors of attached files that could not be retrieved.

\"\ + }\ + }\ + },\ \"BatchGetFlowAssociationRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -5624,6 +5963,46 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\"LT\"]\ },\ + \"ComparisonOperator\":{\ + \"type\":\"string\",\ + \"max\":127,\ + \"min\":1\ + },\ + \"CompleteAttachedFileUploadRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"FileId\",\ + \"AssociatedResourceArn\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

The unique identifier of the Connect instance.

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

The unique identifier of the attached file resource.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"FileId\"\ + },\ + \"AssociatedResourceArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"associatedResourceArn\"\ + }\ + },\ + \"documentation\":\"Request to CompleteAttachedFileUpload API\"\ + },\ + \"CompleteAttachedFileUploadResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"Response from CompleteAttachedFileUpload API\"\ + },\ \"Concurrency\":{\ \"type\":\"integer\",\ \"max\":10,\ @@ -5746,6 +6125,39 @@ - (NSString *)definitionString { \"Tags\":{\ \"shape\":\"ContactTagMap\",\ \"documentation\":\"

Tags associated with the contact. This contains both Amazon Web Services generated and user-defined tags.

\"\ + },\ + \"ConnectedToSystemTimestamp\":{\ + \"shape\":\"timestamp\",\ + \"documentation\":\"

The timestamp when customer endpoint connected to Amazon Connect.

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

Latest routing criteria on the contact.

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

Information about the Customer on the contact.

\"\ + },\ + \"Campaign\":{\"shape\":\"Campaign\"},\ + \"AnsweringMachineDetectionStatus\":{\ + \"shape\":\"AnsweringMachineDetectionStatus\",\ + \"documentation\":\"

Indicates how an outbound campaign call is actually disposed if the contact is connected to Amazon Connect.

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

Information about customer’s voice activity.

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

Information about the quality of the participant's media connection.

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

Information about the call disconnect experience.

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

A set of system defined key-value pairs stored on individual contact segments using an attribute map. The attributes are standard Amazon Connect attributes and can be accessed in flows. Attribute keys can include only alphanumeric, -, and _ characters. This field can be used to show channel subtype. For example, connect:Guide or connect:SMS.

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

Contains information about a contact.

\"\ @@ -5829,6 +6241,10 @@ - (NSString *)definitionString { \"shape\":\"ContactFlowState\",\ \"documentation\":\"

The type of flow.

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

The status of the contact flow.

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

The description of the flow.

\"\ @@ -5910,6 +6326,36 @@ - (NSString *)definitionString { \"min\":1,\ \"pattern\":\".*\\\\S.*\"\ },\ + \"ContactFlowModuleSearchConditionList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ContactFlowModuleSearchCriteria\"}\ + },\ + \"ContactFlowModuleSearchCriteria\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"OrConditions\":{\ + \"shape\":\"ContactFlowModuleSearchConditionList\",\ + \"documentation\":\"

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

\"\ + },\ + \"AndConditions\":{\ + \"shape\":\"ContactFlowModuleSearchConditionList\",\ + \"documentation\":\"

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

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

The search criteria to be used to return flow modules.

\"\ + },\ + \"ContactFlowModuleSearchFilter\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TagFilter\":{\"shape\":\"ControlPlaneTagFilter\"}\ + },\ + \"documentation\":\"

The search criteria to be used to return flow modules.

\"\ + },\ + \"ContactFlowModuleSearchSummaryList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ContactFlowModule\"}\ + },\ \"ContactFlowModuleState\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -5963,6 +6409,48 @@ - (NSString *)definitionString { \"error\":{\"httpStatusCode\":404},\ \"exception\":true\ },\ + \"ContactFlowSearchConditionList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ContactFlowSearchCriteria\"}\ + },\ + \"ContactFlowSearchCriteria\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"OrConditions\":{\ + \"shape\":\"ContactFlowSearchConditionList\",\ + \"documentation\":\"

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

\"\ + },\ + \"AndConditions\":{\ + \"shape\":\"ContactFlowSearchConditionList\",\ + \"documentation\":\"

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

\"\ + },\ + \"StringCondition\":{\"shape\":\"StringCondition\"},\ + \"TypeCondition\":{\ + \"shape\":\"ContactFlowType\",\ + \"documentation\":\"

The type of flow.

\"\ + },\ + \"StateCondition\":{\ + \"shape\":\"ContactFlowState\",\ + \"documentation\":\"

The state of the flow.

\"\ + },\ + \"StatusCondition\":{\ + \"shape\":\"ContactFlowStatus\",\ + \"documentation\":\"

The status of the flow.

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

The search criteria to be used to return contact flows.

\"\ + },\ + \"ContactFlowSearchFilter\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"TagFilter\":{\"shape\":\"ControlPlaneTagFilter\"}\ + },\ + \"documentation\":\"

Filters to be applied to search results.

\"\ + },\ + \"ContactFlowSearchSummaryList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"ContactFlow\"}\ + },\ \"ContactFlowState\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -5970,6 +6458,13 @@ - (NSString *)definitionString { \"ARCHIVED\"\ ]\ },\ + \"ContactFlowStatus\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"PUBLISHED\",\ + \"SAVED\"\ + ]\ + },\ \"ContactFlowSummary\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -5992,6 +6487,10 @@ - (NSString *)definitionString { \"ContactFlowState\":{\ \"shape\":\"ContactFlowState\",\ \"documentation\":\"

The type of flow.

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

The status of the contact flow.

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

Contains summary information about a flow.

You can also create and update flows using the Amazon Connect Flow language.

\"\ @@ -6372,6 +6871,10 @@ - (NSString *)definitionString { \"shape\":\"ContactFlowContent\",\ \"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.

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

Indicates the flow status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content. the SAVED status does not initiate validation of the content. SAVED | PUBLISHED.

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

The tags used to organize, track, or control access for this resource. For example, { \\\"Tags\\\": {\\\"key1\\\":\\\"value1\\\", \\\"key2\\\":\\\"value2\\\"} }.

\"\ @@ -7020,7 +7523,7 @@ - (NSString *)definitionString { },\ \"Applications\":{\ \"shape\":\"Applications\",\ - \"documentation\":\"

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

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

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

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

\"\ },\ \"HierarchyRestrictedResources\":{\ \"shape\":\"HierarchyRestrictedResourceList\",\ @@ -7452,6 +7955,21 @@ - (NSString *)definitionString { }\ }\ },\ + \"CreatedByInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ConnectUserArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

An agent ARN representing a connect user.

\"\ + },\ + \"AWSIdentityArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

STS or IAM ARN representing the identity of API Caller. SDK users cannot populate this and this value is calculated automatically if ConnectUserArn is not provided.

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

Information on the identity that created the file.

\",\ + \"union\":true\ + },\ \"Credentials\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -7577,6 +8095,41 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"CurrentMetric\"}\ },\ + \"Customer\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"DeviceInfo\":{\ + \"shape\":\"DeviceInfo\",\ + \"documentation\":\"

Information regarding Customer’s device.

\"\ + },\ + \"Capabilities\":{\"shape\":\"ParticipantCapabilities\"}\ + },\ + \"documentation\":\"

Information about the Customer on the contact.

\"\ + },\ + \"CustomerQualityMetrics\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Audio\":{\ + \"shape\":\"AudioQualityMetricsInfo\",\ + \"documentation\":\"

Information about the audio quality of the Customer

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

Information about the quality of the Customer's media connection

\"\ + },\ + \"CustomerVoiceActivity\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"GreetingStartTimestamp\":{\ + \"shape\":\"timestamp\",\ + \"documentation\":\"

Timestamp that measures the beginning of the customer greeting from an outbound voice call.

\"\ + },\ + \"GreetingEndTimestamp\":{\ + \"shape\":\"timestamp\",\ + \"documentation\":\"

Timestamp that measures the end of the customer greeting from an outbound voice call.

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

Information about customer’s voice activity.

\"\ + },\ \"DataSetId\":{\ \"type\":\"string\",\ \"max\":255,\ @@ -7685,6 +8238,41 @@ - (NSString *)definitionString { \"max\":9999,\ \"min\":0\ },\ + \"DeleteAttachedFileRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"FileId\",\ + \"AssociatedResourceArn\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

The unique identifier of the Connect instance.

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

The unique identifier of the attached file resource.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"FileId\"\ + },\ + \"AssociatedResourceArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"associatedResourceArn\"\ + }\ + },\ + \"documentation\":\"Request to DeleteAttachedFile API\"\ + },\ + \"DeleteAttachedFileResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + },\ + \"documentation\":\"Response from DeleteAttachedFile API\"\ + },\ \"DeleteContactEvaluationRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -8940,6 +9528,24 @@ - (NSString *)definitionString { \"error\":{\"httpStatusCode\":403},\ \"exception\":true\ },\ + \"DeviceInfo\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"PlatformName\":{\ + \"shape\":\"PlatformName\",\ + \"documentation\":\"

Name of the platform that the participant used for the call.

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

Version of the platform that the participant used for the call.

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

Operating system that the participant used for the call.

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

Information regarding the device.

\"\ + },\ \"Dimensions\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -9312,6 +9918,16 @@ - (NSString *)definitionString { }\ }\ },\ + \"DisconnectDetails\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"PotentialDisconnectIssue\":{\ + \"shape\":\"PotentialDisconnectIssue\",\ + \"documentation\":\"

Indicates the potential disconnection issues for a call. This field is not populated if the service does not detect potential issues.

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

Information about the call disconnect experience.

\"\ + },\ \"DisconnectReason\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -9382,6 +9998,20 @@ - (NSString *)definitionString { \"member\":{\"shape\":\"Distribution\"}\ },\ \"Double\":{\"type\":\"double\"},\ + \"DownloadUrlMetadata\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Url\":{\ + \"shape\":\"MetadataUrl\",\ + \"documentation\":\"

A pre-signed URL that should be used to download the attached file.

\"\ + },\ + \"UrlExpiry\":{\ + \"shape\":\"ISO8601Datetime\",\ + \"documentation\":\"

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

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

Metadata used to download the attached file.

\"\ + },\ \"DuplicateResourceException\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -9391,6 +10021,7 @@ - (NSString *)definitionString { \"error\":{\"httpStatusCode\":409},\ \"exception\":true\ },\ + \"DurationInSeconds\":{\"type\":\"integer\"},\ \"Email\":{\ \"type\":\"string\",\ \"sensitive\":true\ @@ -9470,6 +10101,8 @@ - (NSString *)definitionString { \"CONTACT_FLOW\"\ ]\ },\ + \"ErrorCode\":{\"type\":\"string\"},\ + \"ErrorMessage\":{\"type\":\"string\"},\ \"ErrorResult\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -9726,6 +10359,11 @@ - (NSString *)definitionString { \"max\":1024,\ \"min\":0\ },\ + \"EvaluationFormId\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"min\":1\ + },\ \"EvaluationFormItem\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -10367,6 +11005,42 @@ - (NSString *)definitionString { \"OnCaseUpdate\"\ ]\ },\ + \"Expiry\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"DurationInSeconds\":{\ + \"shape\":\"DurationInSeconds\",\ + \"documentation\":\"

The number of seconds to wait before expiring the routing step.

\"\ + },\ + \"ExpiryTimestamp\":{\ + \"shape\":\"timestamp\",\ + \"documentation\":\"

The timestamp indicating when the routing step expires.

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

An object to specify the expiration of a routing step.

\"\ + },\ + \"Expression\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AttributeCondition\":{\ + \"shape\":\"AttributeCondition\",\ + \"documentation\":\"

An object to specify the predefined attribute condition.

\"\ + },\ + \"AndExpression\":{\ + \"shape\":\"Expressions\",\ + \"documentation\":\"

List of routing expressions which will be AND-ed together.

\"\ + },\ + \"OrExpression\":{\ + \"shape\":\"Expressions\",\ + \"documentation\":\"

List of routing expressions which will be OR-ed together.

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

A tagged union to specify expression for a routing step.

\"\ + },\ + \"Expressions\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"Expression\"}\ + },\ \"FailedRequest\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -10458,6 +11132,40 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"FieldValue\"}\ },\ + \"FileId\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"min\":1\ + },\ + \"FileIdList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"FileId\"},\ + \"min\":1\ + },\ + \"FileName\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"min\":1,\ + \"pattern\":\"^\\\\P{C}*$\"\ + },\ + \"FileSizeInBytes\":{\ + \"type\":\"long\",\ + \"box\":true,\ + \"min\":1\ + },\ + \"FileStatusType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"APPROVED\",\ + \"REJECTED\",\ + \"PROCESSING\",\ + \"FAILED\"\ + ]\ + },\ + \"FileUseCaseType\":{\ + \"type\":\"string\",\ + \"enum\":[\"ATTACHMENT\"]\ + },\ \"FilterV2\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -10517,29 +11225,116 @@ - (NSString *)definitionString { \"shape\":\"ARN\",\ \"documentation\":\"

The identifier of the resource.

\"\ },\ - \"FlowId\":{\ + \"FlowId\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The identifier of the flow.

\"\ + },\ + \"ResourceType\":{\ + \"shape\":\"ListFlowAssociationResourceType\",\ + \"documentation\":\"

The type of resource association.

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

Information about flow associations.

\"\ + },\ + \"FlowAssociationSummaryList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"FlowAssociationSummary\"}\ + },\ + \"FunctionArn\":{\ + \"type\":\"string\",\ + \"max\":140,\ + \"min\":1\ + },\ + \"FunctionArnsList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"FunctionArn\"}\ + },\ + \"GetAttachedFileRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"FileId\",\ + \"AssociatedResourceArn\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

The unique identifier of the Connect instance.

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

The unique identifier of the attached file resource.

\",\ + \"location\":\"uri\",\ + \"locationName\":\"FileId\"\ + },\ + \"UrlExpiryInSeconds\":{\ + \"shape\":\"URLExpiryInSeconds\",\ + \"documentation\":\"

Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is 300.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"urlExpiryInSeconds\"\ + },\ + \"AssociatedResourceArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"associatedResourceArn\"\ + }\ + },\ + \"documentation\":\"Request to GetAttachedFile API.\"\ + },\ + \"GetAttachedFileResponse\":{\ + \"type\":\"structure\",\ + \"required\":[\"FileSizeInBytes\"],\ + \"members\":{\ + \"FileArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The unique identifier of the attached file resource (ARN).

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

The unique identifier of the attached file resource.

\"\ + },\ + \"CreationTime\":{\ + \"shape\":\"ISO8601Datetime\",\ + \"documentation\":\"

The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2024-05-03T02:41:28.172Z.

\"\ + },\ + \"FileStatus\":{\ + \"shape\":\"FileStatusType\",\ + \"documentation\":\"

The current status of the attached file.

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

A case-sensitive name of the attached file being uploaded.

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

The size of the attached file in bytes.

\",\ + \"box\":true\ + },\ + \"AssociatedResourceArn\":{\ \"shape\":\"ARN\",\ - \"documentation\":\"

The identifier of the flow.

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

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

\"\ },\ - \"ResourceType\":{\ - \"shape\":\"ListFlowAssociationResourceType\",\ - \"documentation\":\"

The type of resource association.

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

The use case for the file.

\"\ + },\ + \"CreatedBy\":{\ + \"shape\":\"CreatedByInfo\",\ + \"documentation\":\"

Represents the identity that created the file.

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

URL and expiry to be used when downloading the attached file.

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

The tags used to organize, track, or control access for this resource. For example, { \\\"Tags\\\": {\\\"key1\\\":\\\"value1\\\", \\\"key2\\\":\\\"value2\\\"} }.

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

Information about flow associations.

\"\ - },\ - \"FlowAssociationSummaryList\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"FlowAssociationSummary\"}\ - },\ - \"FunctionArn\":{\ - \"type\":\"string\",\ - \"max\":140,\ - \"min\":1\ - },\ - \"FunctionArnsList\":{\ - \"type\":\"list\",\ - \"member\":{\"shape\":\"FunctionArn\"}\ + \"documentation\":\"Response from GetAttachedFile API.\"\ },\ \"GetContactAttributesRequest\":{\ \"type\":\"structure\",\ @@ -10844,15 +11639,15 @@ - (NSString *)definitionString { },\ \"Filters\":{\ \"shape\":\"FiltersV2List\",\ - \"documentation\":\"

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

  • Queues

  • Routing profiles

  • Agents

  • Channels

  • User hierarchy groups

  • Feature

  • Routing step expression

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

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

Note the following limits:

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

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

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

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

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

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

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

  • Agents

  • Channels

  • Feature

  • Queues

  • Routing profiles

  • Routing step expression

  • User hierarchy groups

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

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

Note the following limits:

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

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

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

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

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

    Q_CONNECT_ENABLED. TRUE and FALSE are the only valid filterValues for the Q_CONNECT_ENABLED filter key.

    • TRUE includes all contacts that had Amazon Q in Connect enabled as part of the flow.

    • FALSE includes all contacts that did not have Amazon Q in Connect enabled as part of the flow

    This filter is available only for contact record-driven metrics.

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

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

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

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

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

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

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

Valid grouping keys: AGENT | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE | CASE_TEMPLATE_ARN | CASE_STATUS | CHANNEL | contact/segmentAttributes/connect:Subtype | FLOWS_RESOURCE_ID | FLOWS_MODULE_RESOURCE_ID | FLOW_TYPE | FLOWS_OUTCOME_TYPE | INITIATION_METHOD | Q_CONNECT_ENABLED | QUEUE | RESOURCE_PUBLISHED_TIMESTAMP | ROUTING_PROFILE | ROUTING_STEP_EXPRESSION

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

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

ABANDONMENT_RATE

Unit: Percent

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

UI name: Abandonment rate

AGENT_ADHERENT_TIME

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

Unit: Seconds

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

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

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

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

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

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

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

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

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

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

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

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

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

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

Unit: Percent

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

UI name: Adherence

AGENT_SCHEDULED_TIME

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

Unit: Seconds

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

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

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

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

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

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

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

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

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

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

UI name: Average agent API connecting time

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

AVG_AGENT_PAUSE_TIME

Unit: Seconds

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

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

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

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

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

UI name: Average conversation duration

AVG_GREETING_TIME_AGENT

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

Unit: Seconds

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

UI name: Average greeting time agent

AVG_HANDLE_TIME

Unit: Seconds

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

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

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

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

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

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

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

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

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

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

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

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

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

Unit: Count

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

UI name: Average interruptions agent

AVG_INTERRUPTION_TIME_AGENT

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

Unit: Seconds

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

UI name: Average interruption time agent

AVG_NON_TALK_TIME

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

Unit: Seconds

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

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

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

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

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

UI name: Average resolution time

AVG_TALK_TIME

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

Unit: Seconds

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

UI name: Average talk time

AVG_TALK_TIME_AGENT

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

Unit: Seconds

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

UI name: Average talk time agent

AVG_TALK_TIME_CUSTOMER

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

Unit: Seconds

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

UI name: Average talk time customer

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_ABANDONED

Unit: Count

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

UI name: Contact abandoned

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

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

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

UI name: Contacts handled by Connected to agent

CONTACTS_HOLD_ABANDONS

Unit: Count

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

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

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

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

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

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

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

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

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

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

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

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

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

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

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

UI name: Contacts queued by Enqueue

CONTACTS_RESOLVED_IN_X

Unit: Count

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

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

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

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

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

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

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

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

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

MAX_QUEUED_TIME

Unit: Seconds

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

UI name: Maximum queued time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_NON_TALK_TIME

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

Unit: Percentage

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

UI name: Non-talk time percent

PERCENT_TALK_TIME

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

Unit: Percentage

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

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

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

Unit: Percentage

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

UI name: Talk time agent percent

PERCENT_TALK_TIME_CUSTOMER

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

Unit: Percentage

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

UI name: Talk time customer percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

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

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

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

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

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

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

UI name: Agent API connecting time

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

SUM_CONTACT_FLOW_TIME

Unit: Seconds

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

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

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

UI name: Agent on contact time

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

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

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

UI name: Contacts answered in X seconds

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

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

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

UI name: Contacts abandoned in X seconds

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

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

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

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

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

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

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

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

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

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

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

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

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

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

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

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

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

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

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

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

UI name: Callback attempts

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

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

ABANDONMENT_RATE

Unit: Percent

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

UI name: Abandonment rate

AGENT_ADHERENT_TIME

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

Unit: Seconds

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

UI name: Adherent time

AGENT_ANSWER_RATE

Unit: Percent

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

UI name: Agent answer rate

AGENT_NON_ADHERENT_TIME

Unit: Seconds

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

UI name: Non-adherent time

AGENT_NON_RESPONSE

Unit: Count

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

UI name: Agent non-response

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

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

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

UI name: Agent non-response without customer abandons

AGENT_OCCUPANCY

Unit: Percentage

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

UI name: Occupancy

AGENT_SCHEDULE_ADHERENCE

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

Unit: Percent

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

UI name: Adherence

AGENT_SCHEDULED_TIME

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

Unit: Seconds

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

UI name: Scheduled time

AVG_ABANDON_TIME

Unit: Seconds

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

UI name: Average queue abandon time

AVG_ACTIVE_TIME

Unit: Seconds

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

UI name: Average active time

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

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

UI name: Average after contact work time

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

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

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

UI name: Average agent API connecting time

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

AVG_AGENT_PAUSE_TIME

Unit: Seconds

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

UI name: Average agent pause time

AVG_CASE_RELATED_CONTACTS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average contacts per case

AVG_CASE_RESOLUTION_TIME

Unit: Seconds

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Average case resolution time

AVG_CONTACT_DURATION

Unit: Seconds

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

UI name: Average contact duration

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

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

UI name: Average conversation duration

AVG_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Average flow time

AVG_GREETING_TIME_AGENT

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

Unit: Seconds

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

UI name: Average agent greeting time

AVG_HANDLE_TIME

Unit: Seconds

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

UI name: Average handle time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

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

UI name: Average customer hold time

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

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

UI name: Average customer hold time all contacts

AVG_HOLDS

Unit: Count

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

UI name: Average holds

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

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

UI name: Average agent interaction and customer hold time

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

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

UI name: Average agent interaction time

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

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

Unit: Count

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

UI name: Average agent interruptions

AVG_INTERRUPTION_TIME_AGENT

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

Unit: Seconds

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

UI name: Average agent interruption time

AVG_NON_TALK_TIME

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

Unit: Seconds

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

UI name: Average non-talk time

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

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

UI name: Average queue answer time

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

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

UI name: Average resolution time

AVG_TALK_TIME

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

Unit: Seconds

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

UI name: Average talk time

AVG_TALK_TIME_AGENT

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

Unit: Seconds

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

UI name: Average agent talk time

AVG_TALK_TIME_CUSTOMER

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

Unit: Seconds

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

UI name: Average customer talk time

CASES_CREATED

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases created

CONTACTS_ABANDONED

Unit: Count

Metric filter:

  • Valid values: API| Incoming | Outbound | Transfer | Callback | Queue_Transfer| Disconnect

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

UI name: Contact abandoned

CONTACTS_ABANDONED_IN_X

Unit: Count

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

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

UI name: Contacts abandoned in X seconds

CONTACTS_ANSWERED_IN_X

Unit: Count

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

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

UI name: Contacts answered in X seconds

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

UI name: Contacts created

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

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

UI name: API contacts handled

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED_BY_CONNECTED_TO_AGENT

Unit: Count

Valid metric filter key: INITIATION_METHOD

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

UI name: Contacts handled (connected to agent timestamp)

CONTACTS_HOLD_ABANDONS

Unit: Count

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

UI name: Contacts hold disconnect

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

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

UI name: Contacts hold agent disconnect

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

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

UI name: Contacts hold customer disconnect

CONTACTS_PUT_ON_HOLD

Unit: Count

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

UI name: Contacts put on hold

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

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

UI name: Contacts transferred out external

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

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

UI name: Contacts transferred out internal

CONTACTS_QUEUED

Unit: Count

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

UI name: Contacts queued

CONTACTS_QUEUED_BY_ENQUEUE

Unit: Count

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

UI name: Contacts queued (enqueue timestamp)

CONTACTS_RESOLVED_IN_X

Unit: Count

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

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

UI name: Contacts resolved in X

CONTACTS_TRANSFERRED_OUT

Unit: Count

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

UI name: Contacts transferred out

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

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

UI name: Contacts transferred out by agent

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

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

UI name: Contacts transferred out queue

CURRENT_CASES

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Current cases

FLOWS_OUTCOME

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome

FLOWS_STARTED

Unit: Count

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows started

MAX_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Maximum flow time

MAX_QUEUED_TIME

Unit: Seconds

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

UI name: Maximum queued time

MIN_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Minimum flow time

PERCENT_CASES_FIRST_CONTACT_RESOLVED

Unit: Percent

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved on first contact

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

PERCENT_FLOWS_OUTCOME

Unit: Percent

Valid metric filter key: FLOWS_OUTCOME_TYPE

Valid groupings and filters: Channel, contact/segmentAttributes/connect:Subtype, Flow type, Flows module resource ID, Flows next resource ID, Flows next resource queue ID, Flows outcome type, Flows resource ID, Initiation method, Resource published timestamp

UI name: Flows outcome percentage.

The FLOWS_OUTCOME_TYPE is not a valid grouping.

PERCENT_NON_TALK_TIME

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

Unit: Percentage

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

UI name: Non-talk time percent

PERCENT_TALK_TIME

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

Unit: Percentage

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

UI name: Talk time percent

PERCENT_TALK_TIME_AGENT

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

Unit: Percentage

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

UI name: Agent talk time percent

PERCENT_TALK_TIME_CUSTOMER

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

Unit: Percentage

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

UI name: Customer talk time percent

REOPENED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases reopened

RESOLVED_CASE_ACTIONS

Unit: Count

Required filter key: CASE_TEMPLATE_ARN

Valid groupings and filters: CASE_TEMPLATE_ARN, CASE_STATUS

UI name: Cases resolved

SERVICE_LEVEL

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

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Q in Connect

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

UI name: Service level X

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

UI name: Not available

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

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

UI name: After contact work time

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

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

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

UI name: Agent API connecting time

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

SUM_CONTACT_FLOW_TIME

Unit: Seconds

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

UI name: Contact flow time

SUM_CONTACT_TIME_AGENT

Unit: Seconds

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

UI name: Agent on contact time

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

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

UI name: Contact disconnected

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

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

UI name: Error status time

SUM_HANDLE_TIME

Unit: Seconds

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

UI name: Contact handle time

SUM_HOLD_TIME

Unit: Count

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

UI name: Customer hold time

SUM_IDLE_TIME_AGENT

Unit: Seconds

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

UI name: Agent idle time

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

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

UI name: Agent interaction and hold time

SUM_INTERACTION_TIME

Unit: Seconds

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

UI name: Agent interaction time

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

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

UI name: Non-Productive Time

SUM_ONLINE_TIME_AGENT

Unit: Seconds

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

UI name: Online time

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

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

UI name: Callback attempts

\"\ },\ \"NextToken\":{\ \"shape\":\"NextToken2500\",\ @@ -11173,6 +11968,32 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Information about the hierarchy group.

\"\ },\ + \"HierarchyGroups\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Level1\":{\ + \"shape\":\"AgentHierarchyGroup\",\ + \"documentation\":\"

The group at level one of the agent hierarchy.

\"\ + },\ + \"Level2\":{\ + \"shape\":\"AgentHierarchyGroup\",\ + \"documentation\":\"

The group at level two of the agent hierarchy.

\"\ + },\ + \"Level3\":{\ + \"shape\":\"AgentHierarchyGroup\",\ + \"documentation\":\"

The group at level three of the agent hierarchy.

\"\ + },\ + \"Level4\":{\ + \"shape\":\"AgentHierarchyGroup\",\ + \"documentation\":\"

The group at level four of the agent hierarchy.

\"\ + },\ + \"Level5\":{\ + \"shape\":\"AgentHierarchyGroup\",\ + \"documentation\":\"

The group at level five of the agent hierarchy.

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

Information about the agent hierarchy. Hierarchies can be configured with up to five levels.

\"\ + },\ \"HierarchyLevel\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -11657,6 +12478,7 @@ - (NSString *)definitionString { }\ },\ \"InboundCallsEnabled\":{\"type\":\"boolean\"},\ + \"Index\":{\"type\":\"integer\"},\ \"InitiationMethodList\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"ContactInitiationMethod\"}\ @@ -12013,12 +12835,24 @@ - (NSString *)definitionString { \"Message\":{\ \"shape\":\"Message\",\ \"documentation\":\"

The message about the request.

\"\ - }\ + },\ + \"Reason\":{\"shape\":\"InvalidRequestExceptionReason\"}\ },\ \"documentation\":\"

The request is not valid.

\",\ \"error\":{\"httpStatusCode\":400},\ \"exception\":true\ },\ + \"InvalidRequestExceptionReason\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"AttachedFileInvalidRequestExceptionReason\":{\ + \"shape\":\"AttachedFileInvalidRequestExceptionReason\",\ + \"documentation\":\"

Reason why the StartAttachedFiledUpload request was invalid.

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

Reason why the request was invalid.

\",\ + \"union\":true\ + },\ \"InvisibleFieldInfo\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -13606,7 +14440,7 @@ - (NSString *)definitionString { \"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.

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

A list of the third-party application's metadata.

\"\ },\ \"NextToken\":{\ \"shape\":\"NextToken\",\ @@ -14280,6 +15114,11 @@ - (NSString *)definitionString { },\ \"MeetingId\":{\"type\":\"string\"},\ \"Message\":{\"type\":\"string\"},\ + \"MetadataUrl\":{\ + \"type\":\"string\",\ + \"max\":2000,\ + \"min\":1\ + },\ \"MetricDataCollectionsV2\":{\ \"type\":\"list\",\ \"member\":{\"shape\":\"MetricDataV2\"}\ @@ -14304,7 +15143,7 @@ - (NSString *)definitionString { \"members\":{\ \"MetricFilterKey\":{\ \"shape\":\"String\",\ - \"documentation\":\"

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.

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

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 Guide.

\"\ },\ \"MetricFilterValues\":{\ \"shape\":\"MetricFilterValueList\",\ @@ -14547,6 +15386,11 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Information about the property value used in automation of a numeric questions. Label values are associated with minimum and maximum values for the numeric question.

  • Sentiment scores have a minimum value of -5 and maximum value of 5.

  • Duration labels, such as NON_TALK_TIME, CONTACT_DURATION, AGENT_INTERACTION_DURATION, CUSTOMER_HOLD_TIME have a minimum value of 0 and maximum value of 28800.

  • Percentages have a minimum value of 0 and maximum value of 100.

  • NUMBER_OF_INTERRUPTIONS has a minimum value of 0 and maximum value of 1000.

\"\ },\ + \"OperatingSystem\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":0\ + },\ \"Origin\":{\ \"type\":\"string\",\ \"max\":267\ @@ -15149,6 +15993,32 @@ - (NSString *)definitionString { \"DESK_PHONE\"\ ]\ },\ + \"PlatformName\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":0\ + },\ + \"PlatformVersion\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":0\ + },\ + \"PotentialAudioQualityIssue\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":0\ + },\ + \"PotentialAudioQualityIssues\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"PotentialAudioQualityIssue\"},\ + \"max\":3,\ + \"min\":0\ + },\ + \"PotentialDisconnectIssue\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":0\ + },\ \"PredefinedAttribute\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -15280,6 +16150,11 @@ - (NSString *)definitionString { \"max\":5.0,\ \"min\":1.0\ },\ + \"ProficiencyValue\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1\ + },\ \"Prompt\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -15477,6 +16352,20 @@ - (NSString *)definitionString { \"members\":{\ }\ },\ + \"QualityMetrics\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Agent\":{\ + \"shape\":\"AgentQualityMetrics\",\ + \"documentation\":\"

Information about the quality of Agent media connection.

\"\ + },\ + \"Customer\":{\ + \"shape\":\"CustomerQualityMetrics\",\ + \"documentation\":\"

Information about the quality of Customer media connection.

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

Information about the quality of the participant's media connection.

\"\ + },\ \"Queue\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -16591,6 +17480,33 @@ - (NSString *)definitionString { \"members\":{\ }\ },\ + \"RoutingCriteria\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Steps\":{\ + \"shape\":\"Steps\",\ + \"documentation\":\"

List of routing steps. When Amazon Connect does not find an available agent meeting the requirements in a step for a given step duration, the routing criteria will move on to the next step sequentially until a join is completed with an agent. When all steps are exhausted, the contact will be offered to any agent in the queue.

\"\ + },\ + \"ActivationTimestamp\":{\ + \"shape\":\"timestamp\",\ + \"documentation\":\"

The timestamp indicating when the routing criteria is set to active. A routing criteria is activated when contact is transferred to a queue. ActivationTimestamp will be set on routing criteria for contacts in agent queue even though Routing criteria is never activated for contacts in agent queue.

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

Information about the index of the routing criteria.

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

Latest routing criteria on the contact.

\"\ + },\ + \"RoutingCriteriaStepStatus\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"ACTIVE\",\ + \"INACTIVE\",\ + \"JOINED\",\ + \"EXPIRED\"\ + ]\ + },\ \"RoutingExpression\":{\ \"type\":\"string\",\ \"max\":3000,\ @@ -16659,6 +17575,10 @@ - (NSString *)definitionString { \"IsDefault\":{\ \"shape\":\"Boolean\",\ \"documentation\":\"

Whether this a default routing profile.

\"\ + },\ + \"AssociatedQueueIds\":{\ + \"shape\":\"AssociatedQueueIdList\",\ + \"documentation\":\"

The IDs of the associated queue.

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

Contains information about a routing profile.

\"\ @@ -16804,7 +17724,7 @@ - (NSString *)definitionString { },\ \"StringCondition\":{\ \"shape\":\"StringCondition\",\ - \"documentation\":\"

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

The currently supported values for FieldName are name, description, and resourceID.

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

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

The currently supported values for FieldName are associatedQueueIds, name, description, and resourceID.

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

The search criteria to be used to return routing profiles.

The name and description fields support \\\"contains\\\" queries with a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths outside of this range will throw invalid results.

\"\ @@ -16949,6 +17869,10 @@ - (NSString *)definitionString { \"EndAssociatedTasksAction\":{\ \"shape\":\"EndAssociatedTasksActionDefinition\",\ \"documentation\":\"

Information about the end associated tasks action.

Supported only for TriggerEventSource values: OnCaseUpdate.

\"\ + },\ + \"SubmitAutoEvaluationAction\":{\ + \"shape\":\"SubmitAutoEvaluationActionDefinition\",\ + \"documentation\":\"

Information about the submit automated evaluation action.

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

Information about the action to be performed when a rule is triggered.

\"\ @@ -17122,6 +18046,94 @@ - (NSString *)definitionString { }\ }\ },\ + \"SearchContactFlowModulesRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"InstanceId\"],\ + \"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.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"NextToken2500\",\ + \"documentation\":\"

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

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"MaxResult100\",\ + \"documentation\":\"

The maximum number of results to return per page.

\",\ + \"box\":true\ + },\ + \"SearchFilter\":{\ + \"shape\":\"ContactFlowModuleSearchFilter\",\ + \"documentation\":\"

Filters to be applied to search results.

\"\ + },\ + \"SearchCriteria\":{\ + \"shape\":\"ContactFlowModuleSearchCriteria\",\ + \"documentation\":\"

The search criteria to be used to return contact flow modules.

The name and description fields support \\\"contains\\\" queries with a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths outside of this range will result in invalid results.

\"\ + }\ + }\ + },\ + \"SearchContactFlowModulesResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ContactFlowModules\":{\ + \"shape\":\"ContactFlowModuleSearchSummaryList\",\ + \"documentation\":\"

The search criteria to be used to return contact flow modules.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"NextToken2500\",\ + \"documentation\":\"

If there are additional results, this is the token for the next set of results.

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

The total number of contact flows which matched your search query.

\"\ + }\ + }\ + },\ + \"SearchContactFlowsRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"InstanceId\"],\ + \"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.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"NextToken2500\",\ + \"documentation\":\"

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

\"\ + },\ + \"MaxResults\":{\ + \"shape\":\"MaxResult100\",\ + \"documentation\":\"

The maximum number of results to return per page.

\",\ + \"box\":true\ + },\ + \"SearchFilter\":{\ + \"shape\":\"ContactFlowSearchFilter\",\ + \"documentation\":\"

Filters to be applied to search results.

\"\ + },\ + \"SearchCriteria\":{\ + \"shape\":\"ContactFlowSearchCriteria\",\ + \"documentation\":\"

The search criteria to be used to return flows.

The name and description fields support \\\"contains\\\" queries with a minimum of 2 characters and a maximum of 25 characters. Any queries with character lengths outside of this range will result in invalid results.

\"\ + }\ + }\ + },\ + \"SearchContactFlowsResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"ContactFlows\":{\ + \"shape\":\"ContactFlowSearchSummaryList\",\ + \"documentation\":\"

Information about the contact flows.

\"\ + },\ + \"NextToken\":{\ + \"shape\":\"NextToken2500\",\ + \"documentation\":\"

If there are additional results, this is the token for the next set of results.

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

The total number of contact flows which matched your search query.

\"\ + }\ + }\ + },\ \"SearchContactsMatchType\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -18182,6 +19194,90 @@ - (NSString *)definitionString { \"CASES\"\ ]\ },\ + \"StartAttachedFileUploadRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"FileName\",\ + \"FileSizeInBytes\",\ + \"FileUseCaseType\",\ + \"AssociatedResourceArn\"\ + ],\ + \"members\":{\ + \"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\ + },\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

The unique identifier of the Connect instance.

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

A case-sensitive name of the attached file being uploaded.

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

The size of the attached file in bytes.

\",\ + \"box\":true\ + },\ + \"UrlExpiryInSeconds\":{\ + \"shape\":\"URLExpiryInSeconds\",\ + \"documentation\":\"

Optional override for the expiry of the pre-signed S3 URL in seconds. The default value is 300.

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

The use case for the file.

\"\ + },\ + \"AssociatedResourceArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The resource to which the attached file is (being) uploaded to. Cases are the only current supported resource.

This value must be a valid ARN.

\",\ + \"location\":\"querystring\",\ + \"locationName\":\"associatedResourceArn\"\ + },\ + \"CreatedBy\":{\ + \"shape\":\"CreatedByInfo\",\ + \"documentation\":\"

Represents the identity that created the file.

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

The tags used to organize, track, or control access for this resource. For example, { \\\"Tags\\\": {\\\"key1\\\":\\\"value1\\\", \\\"key2\\\":\\\"value2\\\"} }.

\"\ + }\ + }\ + },\ + \"StartAttachedFileUploadResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"FileArn\":{\ + \"shape\":\"ARN\",\ + \"documentation\":\"

The unique identifier of the attached file resource (ARN).

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

The unique identifier of the attached file resource.

\"\ + },\ + \"CreationTime\":{\ + \"shape\":\"ISO8601Datetime\",\ + \"documentation\":\"

The time of Creation of the file resource as an ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2024-05-03T02:41:28.172Z.

\"\ + },\ + \"FileStatus\":{\ + \"shape\":\"FileStatusType\",\ + \"documentation\":\"

The current status of the attached file.

\"\ + },\ + \"CreatedBy\":{\ + \"shape\":\"CreatedByInfo\",\ + \"documentation\":\"

Represents the identity that created the file.

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

Information to be used while uploading the attached file.

\"\ + }\ + },\ + \"documentation\":\"Response from StartAttachedFileUpload API.\"\ + },\ \"StartChatContactRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -18590,6 +19686,28 @@ - (NSString *)definitionString { \"AVG\"\ ]\ },\ + \"Step\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Expiry\":{\ + \"shape\":\"Expiry\",\ + \"documentation\":\"

An object to specify the expiration of a routing step.

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

A tagged union to specify expression for a routing step.

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

Represents status of the Routing step.

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

Step signifies the criteria to be used for routing to an agent

\"\ + },\ + \"Steps\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"Step\"}\ + },\ \"StopContactRecordingRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -18730,6 +19848,17 @@ - (NSString *)definitionString { \"max\":200,\ \"min\":1\ },\ + \"SubmitAutoEvaluationActionDefinition\":{\ + \"type\":\"structure\",\ + \"required\":[\"EvaluationFormId\"],\ + \"members\":{\ + \"EvaluationFormId\":{\ + \"shape\":\"EvaluationFormId\",\ + \"documentation\":\"

The identifier of the auto-evaluation enabled form.

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

Information about the submit automated evaluation action.

\"\ + },\ \"SubmitContactEvaluationRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -19511,6 +20640,11 @@ - (NSString *)definitionString { \"max\":2000,\ \"min\":1\ },\ + \"URLExpiryInSeconds\":{\ + \"type\":\"integer\",\ + \"max\":300,\ + \"min\":5\ + },\ \"Unit\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -19649,7 +20783,7 @@ - (NSString *)definitionString { },\ \"Attributes\":{\ \"shape\":\"Attributes\",\ - \"documentation\":\"

The Amazon Connect attributes. These attributes can be accessed in flows just like any other contact attributes.

You can have up to 32,768 UTF-8 bytes across all attributes for a contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

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

The Amazon Connect attributes. These attributes can be accessed in flows just like any other contact attributes.

You can have up to 32,768 UTF-8 bytes across all attributes for a contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

When the attributes for a contact exceed 32 KB, the contact is routed down the Error branch of the flow. As a mitigation, consider the following options:

  • Remove unnecessary attributes by setting their values to empty.

  • If the attributes are only used in one flow and don't need to be referred to outside of that flow (for example, by a Lambda or another flow), then use flow attributes. This way you aren't needlessly persisting the 32 KB of information from one flow to another. For more information, see Flow block: Set contact attributes in the Amazon Connect Administrator Guide.

\"\ }\ }\ },\ @@ -20725,7 +21859,7 @@ - (NSString *)definitionString { },\ \"Applications\":{\ \"shape\":\"Applications\",\ - \"documentation\":\"

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

A list of the third-party application's metadata.

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

A list of the third-party application's metadata.

\"\ },\ \"HierarchyRestrictedResources\":{\ \"shape\":\"HierarchyRestrictedResourceList\",\ @@ -21142,7 +22276,40 @@ - (NSString *)definitionString { \"members\":{\ }\ },\ + \"UploadUrlMetadata\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Url\":{\ + \"shape\":\"MetadataUrl\",\ + \"documentation\":\"

A pre-signed S3 URL that should be used for uploading the attached file.

\"\ + },\ + \"UrlExpiry\":{\ + \"shape\":\"ISO8601Datetime\",\ + \"documentation\":\"

The expiration time of the URL in ISO timestamp. It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

\"\ + },\ + \"HeadersToInclude\":{\ + \"shape\":\"UrlMetadataSignedHeaders\",\ + \"documentation\":\"

A map of headers that should be provided when uploading the attached file.

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

Fields required when uploading an attached file.

\"\ + },\ \"Url\":{\"type\":\"string\"},\ + \"UrlMetadataSignedHeaders\":{\ + \"type\":\"map\",\ + \"key\":{\"shape\":\"UrlMetadataSignedHeadersKey\"},\ + \"value\":{\"shape\":\"UrlMetadataSignedHeadersValue\"}\ + },\ + \"UrlMetadataSignedHeadersKey\":{\ + \"type\":\"string\",\ + \"max\":128,\ + \"min\":1\ + },\ + \"UrlMetadataSignedHeadersValue\":{\ + \"type\":\"string\",\ + \"max\":256,\ + \"min\":1\ + },\ \"UrlReference\":{\ \"type\":\"structure\",\ \"members\":{\ diff --git a/AWSConnect/AWSConnectService.h b/AWSConnect/AWSConnectService.h index 0d1d4e5f897..bf3f7f7ba97 100644 --- a/AWSConnect/AWSConnectService.h +++ b/AWSConnect/AWSConnectService.h @@ -575,6 +575,31 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)batchDisassociateAnalyticsDataSet:(AWSConnectBatchDisassociateAnalyticsDataSetRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectBatchDisassociateAnalyticsDataSetResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Allows you to retrieve metadata about multiple attached files on an associated resource. Each attached file provided in the input list must be associated with the input AssociatedResourceArn.

+ + @param request A container for the necessary parameters to execute the BatchGetAttachedFileMetadata service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectBatchGetAttachedFileMetadataResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInternalService`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`. + + @see AWSConnectBatchGetAttachedFileMetadataRequest + @see AWSConnectBatchGetAttachedFileMetadataResponse + */ +- (AWSTask *)batchGetAttachedFileMetadata:(AWSConnectBatchGetAttachedFileMetadataRequest *)request; + +/** +

Allows you to retrieve metadata about multiple attached files on an associated resource. Each attached file provided in the input list must be associated with the input AssociatedResourceArn.

+ + @param request A container for the necessary parameters to execute the BatchGetAttachedFileMetadata 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`, `AWSConnectErrorInternalService`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`. + + @see AWSConnectBatchGetAttachedFileMetadataRequest + @see AWSConnectBatchGetAttachedFileMetadataResponse + */ +- (void)batchGetAttachedFileMetadata:(AWSConnectBatchGetAttachedFileMetadataRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectBatchGetAttachedFileMetadataResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Retrieve the flow associations for the given resources.

@@ -626,7 +651,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)batchPutContact:(AWSConnectBatchPutContactRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectBatchPutContactResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Claims an available phone number to your Amazon Connect instance or traffic distribution group. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group was created.

For more information about how to use this operation, see Claim a phone number in your country and Claim phone numbers to traffic distribution groups in the Amazon Connect Administrator Guide.

You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber operation.

If you plan to claim and release numbers frequently during a 30 day period, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until 30 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers during any 30 day period. If you claim and release phone numbers using the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 30 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

+

Claims an available phone number to your Amazon Connect instance or traffic distribution group. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group was created.

For more information about how to use this operation, see Claim a phone number in your country and Claim phone numbers to traffic distribution groups in the Amazon Connect Administrator Guide.

You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber operation.

If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

@param request A container for the necessary parameters to execute the ClaimPhoneNumber service method. @@ -638,7 +663,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)claimPhoneNumber:(AWSConnectClaimPhoneNumberRequest *)request; /** -

Claims an available phone number to your Amazon Connect instance or traffic distribution group. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group was created.

For more information about how to use this operation, see Claim a phone number in your country and Claim phone numbers to traffic distribution groups in the Amazon Connect Administrator Guide.

You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber operation.

If you plan to claim and release numbers frequently during a 30 day period, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until 30 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers during any 30 day period. If you claim and release phone numbers using the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 30 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

+

Claims an available phone number to your Amazon Connect instance or traffic distribution group. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group was created.

For more information about how to use this operation, see Claim a phone number in your country and Claim phone numbers to traffic distribution groups in the Amazon Connect Administrator Guide.

You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber operation.

If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

@param request A container for the necessary parameters to execute the ClaimPhoneNumber service method. @param completionHandler The completion handler to call when the load request is complete. @@ -650,6 +675,31 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)claimPhoneNumber:(AWSConnectClaimPhoneNumberRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectClaimPhoneNumberResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Allows you to confirm that the attached file has been uploaded using the pre-signed URL provided in the StartAttachedFileUpload API.

+ + @param request A container for the necessary parameters to execute the CompleteAttachedFileUpload service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectCompleteAttachedFileUploadResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInternalService`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`. + + @see AWSConnectCompleteAttachedFileUploadRequest + @see AWSConnectCompleteAttachedFileUploadResponse + */ +- (AWSTask *)completeAttachedFileUpload:(AWSConnectCompleteAttachedFileUploadRequest *)request; + +/** +

Allows you to confirm that the attached file has been uploaded using the pre-signed URL provided in the StartAttachedFileUpload API.

+ + @param request A container for the necessary parameters to execute the CompleteAttachedFileUpload 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`, `AWSConnectErrorInternalService`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`. + + @see AWSConnectCompleteAttachedFileUploadRequest + @see AWSConnectCompleteAttachedFileUploadResponse + */ +- (void)completeAttachedFileUpload:(AWSConnectCompleteAttachedFileUploadRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectCompleteAttachedFileUploadResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

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

Creates an agent status for the specified Amazon Connect instance.

@@ -898,7 +948,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)createPredefinedAttribute:(AWSConnectCreatePredefinedAttributeRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Creates a prompt. For more information about prompts, such as supported file types and maximum length, see Create prompts in the Amazon Connect Administrator's Guide.

+

Creates a prompt. For more information about prompts, such as supported file types and maximum length, see Create prompts in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the CreatePrompt service method. @@ -910,7 +960,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)createPrompt:(AWSConnectCreatePromptRequest *)request; /** -

Creates a prompt. For more information about prompts, such as supported file types and maximum length, see Create prompts in the Amazon Connect Administrator's Guide.

+

Creates a prompt. For more information about prompts, such as supported file types and maximum length, see Create prompts in the Amazon Connect Administrator Guide.

@param request A container for the necessary parameters to execute the CreatePrompt service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1272,6 +1322,31 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)deactivateEvaluationForm:(AWSConnectDeactivateEvaluationFormRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDeactivateEvaluationFormResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Deletes an attached file along with the underlying S3 Object.

The attached file is permanently deleted if S3 bucket versioning is not enabled.

+ + @param request A container for the necessary parameters to execute the DeleteAttachedFile service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectDeleteAttachedFileResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInternalService`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`. + + @see AWSConnectDeleteAttachedFileRequest + @see AWSConnectDeleteAttachedFileResponse + */ +- (AWSTask *)deleteAttachedFile:(AWSConnectDeleteAttachedFileRequest *)request; + +/** +

Deletes an attached file along with the underlying S3 Object.

The attached file is permanently deleted if S3 bucket versioning is not enabled.

+ + @param request A container for the necessary parameters to execute the DeleteAttachedFile 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`, `AWSConnectErrorInternalService`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`. + + @see AWSConnectDeleteAttachedFileRequest + @see AWSConnectDeleteAttachedFileResponse + */ +- (void)deleteAttachedFile:(AWSConnectDeleteAttachedFileRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDeleteAttachedFileResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Deletes a contact evaluation in the specified Amazon Connect instance.

@@ -1853,7 +1928,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)describeContactEvaluation:(AWSConnectDescribeContactEvaluationRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDescribeContactEvaluationResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

+

Describes the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

In the response, Status indicates the flow status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content. SAVED does not initiate validation of the content. SAVED | PUBLISHED

@param request A container for the necessary parameters to execute the DescribeContactFlow service method. @@ -1865,7 +1940,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)describeContactFlow:(AWSConnectDescribeContactFlowRequest *)request; /** -

Describes the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

+

Describes the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

In the response, Status indicates the flow status as either SAVED or PUBLISHED. The PUBLISHED status will initiate validation on the content. SAVED does not initiate validation of the content. SAVED | PUBLISHED

@param request A container for the necessary parameters to execute the DescribeContactFlow service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1878,7 +1953,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)describeContactFlow:(AWSConnectDescribeContactFlowRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDescribeContactFlowResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified flow module.

+

Describes the specified flow module.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

@param request A container for the necessary parameters to execute the DescribeContactFlowModule service method. @@ -1890,7 +1965,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)describeContactFlowModule:(AWSConnectDescribeContactFlowModuleRequest *)request; /** -

Describes the specified flow module.

+

Describes the specified flow module.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

@param request A container for the necessary parameters to execute the DescribeContactFlowModule service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2694,6 +2769,31 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)dismissUserContact:(AWSConnectDismissUserContactRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectDismissUserContactResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Provides a pre-signed URL for download of an approved attached file. This API also returns metadata about the attached file. It will only return a downloadURL if the status of the attached file is APPROVED.

+ + @param request A container for the necessary parameters to execute the GetAttachedFile service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectGetAttachedFileResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInternalService`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`. + + @see AWSConnectGetAttachedFileRequest + @see AWSConnectGetAttachedFileResponse + */ +- (AWSTask *)getAttachedFile:(AWSConnectGetAttachedFileRequest *)request; + +/** +

Provides a pre-signed URL for download of an approved attached file. This API also returns metadata about the attached file. It will only return a downloadURL if the status of the attached file is APPROVED.

+ + @param request A container for the necessary parameters to execute the GetAttachedFile 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`, `AWSConnectErrorInternalService`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`. + + @see AWSConnectGetAttachedFileRequest + @see AWSConnectGetAttachedFileResponse + */ +- (void)getAttachedFile:(AWSConnectGetAttachedFileRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectGetAttachedFileResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Retrieves the contact attributes for the specified contact.

@@ -2845,7 +2945,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 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.

+

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 Guide.

@param request A container for the necessary parameters to execute the GetMetricDataV2 service method. @@ -2857,7 +2957,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 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.

+

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 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. @@ -4145,7 +4245,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)putUserStatus:(AWSConnectPutUserStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectPutUserStatusResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed.

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website.

After releasing a phone number, the phone number enters into a cooldown period of 30 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support.

If you plan to claim and release numbers frequently during a 30 day period, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until 30 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers during any 30 day period. If you claim and release phone numbers using the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 30 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

+

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed.

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website.

After releasing a phone number, the phone number enters into a cooldown period for up to 180 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support.

If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

@param request A container for the necessary parameters to execute the ReleasePhoneNumber service method. @@ -4156,7 +4256,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)releasePhoneNumber:(AWSConnectReleasePhoneNumberRequest *)request; /** -

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed.

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website.

After releasing a phone number, the phone number enters into a cooldown period of 30 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support.

If you plan to claim and release numbers frequently during a 30 day period, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until 30 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers during any 30 day period. If you claim and release phone numbers using the UI or API during a rolling 30 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 30 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

+

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed.

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website.

After releasing a phone number, the phone number enters into a cooldown period for up to 180 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support.

If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired.

By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired.

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket.

@param request A container for the necessary parameters to execute the ReleasePhoneNumber service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4266,6 +4366,56 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)searchAvailablePhoneNumbers:(AWSConnectSearchAvailablePhoneNumbersRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectSearchAvailablePhoneNumbersResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Searches the flow modules in an Amazon Connect instance, with optional filtering.

+ + @param request A container for the necessary parameters to execute the SearchContactFlowModules service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectSearchContactFlowModulesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`, `AWSConnectErrorInternalService`. + + @see AWSConnectSearchContactFlowModulesRequest + @see AWSConnectSearchContactFlowModulesResponse + */ +- (AWSTask *)searchContactFlowModules:(AWSConnectSearchContactFlowModulesRequest *)request; + +/** +

Searches the flow modules in an Amazon Connect instance, with optional filtering.

+ + @param request A container for the necessary parameters to execute the SearchContactFlowModules 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 AWSConnectSearchContactFlowModulesRequest + @see AWSConnectSearchContactFlowModulesResponse + */ +- (void)searchContactFlowModules:(AWSConnectSearchContactFlowModulesRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectSearchContactFlowModulesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Searches the contact flows in an Amazon Connect instance, with optional filtering.

+ + @param request A container for the necessary parameters to execute the SearchContactFlows service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectSearchContactFlowsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInvalidParameter`, `AWSConnectErrorResourceNotFound`, `AWSConnectErrorThrottling`, `AWSConnectErrorInternalService`. + + @see AWSConnectSearchContactFlowsRequest + @see AWSConnectSearchContactFlowsResponse + */ +- (AWSTask *)searchContactFlows:(AWSConnectSearchContactFlowsRequest *)request; + +/** +

Searches the contact flows in an Amazon Connect instance, with optional filtering.

+ + @param request A container for the necessary parameters to execute the SearchContactFlows 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 AWSConnectSearchContactFlowsRequest + @see AWSConnectSearchContactFlowsResponse + */ +- (void)searchContactFlows:(AWSConnectSearchContactFlowsRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectSearchContactFlowsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Searches contacts in an Amazon Connect instance.

@@ -4566,6 +4716,31 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; */ - (void)sendChatIntegrationEvent:(AWSConnectSendChatIntegrationEventRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectSendChatIntegrationEventResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Provides a pre-signed Amazon S3 URL in response for uploading your content.

You may only use this API to upload attachments to a Connect Case.

+ + @param request A container for the necessary parameters to execute the StartAttachedFileUpload service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSConnectStartAttachedFileUploadResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSConnectErrorDomain` domain and the following error code: `AWSConnectErrorAccessDenied`, `AWSConnectErrorInvalidRequest`, `AWSConnectErrorInternalService`, `AWSConnectErrorThrottling`, `AWSConnectErrorResourceConflict`, `AWSConnectErrorServiceQuotaExceeded`. + + @see AWSConnectStartAttachedFileUploadRequest + @see AWSConnectStartAttachedFileUploadResponse + */ +- (AWSTask *)startAttachedFileUpload:(AWSConnectStartAttachedFileUploadRequest *)request; + +/** +

Provides a pre-signed Amazon S3 URL in response for uploading your content.

You may only use this API to upload attachments to a Connect Case.

+ + @param request A container for the necessary parameters to execute the StartAttachedFileUpload 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`, `AWSConnectErrorInternalService`, `AWSConnectErrorThrottling`, `AWSConnectErrorResourceConflict`, `AWSConnectErrorServiceQuotaExceeded`. + + @see AWSConnectStartAttachedFileUploadRequest + @see AWSConnectStartAttachedFileUploadResponse + */ +- (void)startAttachedFileUpload:(AWSConnectStartAttachedFileUploadRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectStartAttachedFileUploadResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

A 429 error occurs in the following situations:

  • API rate limit is exceeded. API TPS throttling returns a TooManyRequests exception.

  • The quota for concurrent active chats is exceeded. Active chat throttling returns a LimitExceededException.

If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support.

For more information about chat, see Chat in the Amazon Connect Administrator Guide.

@@ -4742,7 +4917,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)startWebRTCContact:(AWSConnectStartWebRTCContactRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectStartWebRTCContactResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

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

+

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

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

  • EXTERNAL_OUTBOUND

  • MONITOR

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

@param request A container for the necessary parameters to execute the StopContact service method. @@ -4754,7 +4929,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)stopContact:(AWSConnectStopContactRequest *)request; /** -

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

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

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

+

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

  • DISCONNECT

  • TRANSFER

  • QUEUE_TRANSFER

  • EXTERNAL_OUTBOUND

  • MONITOR

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

@param request A container for the necessary parameters to execute the StopContact service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5083,7 +5258,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)updateContactEvaluation:(AWSConnectUpdateContactEvaluationRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectUpdateContactEvaluationResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

+

Updates the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

@param request A container for the necessary parameters to execute the UpdateContactFlowContent service method. @@ -5095,7 +5270,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)updateContactFlowContent:(AWSConnectUpdateContactFlowContentRequest *)request; /** -

Updates the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

+

Updates the specified flow.

You can also create and update flows using the Amazon Connect Flow language.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

@param request A container for the necessary parameters to execute the UpdateContactFlowContent service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5133,7 +5308,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)updateContactFlowMetadata:(AWSConnectUpdateContactFlowMetadataRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectUpdateContactFlowMetadataResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates specified flow module for the specified Amazon Connect instance.

+

Updates specified flow module for the specified Amazon Connect instance.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

@param request A container for the necessary parameters to execute the UpdateContactFlowModuleContent service method. @@ -5145,7 +5320,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)updateContactFlowModuleContent:(AWSConnectUpdateContactFlowModuleContentRequest *)request; /** -

Updates specified flow module for the specified Amazon Connect instance.

+

Updates specified flow module for the specified Amazon Connect instance.

Use the $SAVED alias in the request to describe the SAVED content of a Flow. For example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, $SAVED needs to be supplied to view saved content that has not been published.

@param request A container for the necessary parameters to execute the UpdateContactFlowModuleContent service method. @param completionHandler The completion handler to call when the load request is complete. @@ -5208,7 +5383,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (void)updateContactFlowName:(AWSConnectUpdateContactFlowNameRequest *)request completionHandler:(void (^ _Nullable)(AWSConnectUpdateContactFlowNameResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -

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

Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). These properties can be used to change a customer's position in the queue. For example, you can move a contact to the back of the queue by setting a lower routing priority relative to other contacts in queue; or you can move a contact to the front of the queue by increasing the routing age which will make the contact look artificially older and therefore higher up in the first-in-first-out routing order. Note that adjusting the routing age of a contact affects only its position in queue, and not its actual queue wait time as reported through metrics. These properties can also be updated by using the Set routing priority / age flow block.

+

Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). These properties can be used to change a customer's position in the queue. For example, you can move a contact to the back of the queue by setting a lower routing priority relative to other contacts in queue; or you can move a contact to the front of the queue by increasing the routing age which will make the contact look artificially older and therefore higher up in the first-in-first-out routing order. Note that adjusting the routing age of a contact affects only its position in queue, and not its actual queue wait time as reported through metrics. These properties can also be updated by using the Set routing priority / age flow block.

Either QueuePriority or QueueTimeAdjustmentInSeconds should be provided within the request body, but not both.

@param request A container for the necessary parameters to execute the UpdateContactRoutingData service method. @@ -5220,7 +5395,7 @@ FOUNDATION_EXPORT NSString *const AWSConnectSDKVersion; - (AWSTask *)updateContactRoutingData:(AWSConnectUpdateContactRoutingDataRequest *)request; /** -

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

Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). These properties can be used to change a customer's position in the queue. For example, you can move a contact to the back of the queue by setting a lower routing priority relative to other contacts in queue; or you can move a contact to the front of the queue by increasing the routing age which will make the contact look artificially older and therefore higher up in the first-in-first-out routing order. Note that adjusting the routing age of a contact affects only its position in queue, and not its actual queue wait time as reported through metrics. These properties can also be updated by using the Set routing priority / age flow block.

+

Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). These properties can be used to change a customer's position in the queue. For example, you can move a contact to the back of the queue by setting a lower routing priority relative to other contacts in queue; or you can move a contact to the front of the queue by increasing the routing age which will make the contact look artificially older and therefore higher up in the first-in-first-out routing order. Note that adjusting the routing age of a contact affects only its position in queue, and not its actual queue wait time as reported through metrics. These properties can also be updated by using the Set routing priority / age flow block.

Either QueuePriority or QueueTimeAdjustmentInSeconds should be provided within the request body, but not both.

@param request A container for the necessary parameters to execute the UpdateContactRoutingData service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSConnect/AWSConnectService.m b/AWSConnect/AWSConnectService.m index 30c3aa6bb39..45f4f54a775 100644 --- a/AWSConnect/AWSConnectService.m +++ b/AWSConnect/AWSConnectService.m @@ -683,6 +683,29 @@ - (void)batchDisassociateAnalyticsDataSet:(AWSConnectBatchDisassociateAnalyticsD }]; } +- (AWSTask *)batchGetAttachedFileMetadata:(AWSConnectBatchGetAttachedFileMetadataRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"/attached-files/{InstanceId}" + targetPrefix:@"" + operationName:@"BatchGetAttachedFileMetadata" + outputClass:[AWSConnectBatchGetAttachedFileMetadataResponse class]]; +} + +- (void)batchGetAttachedFileMetadata:(AWSConnectBatchGetAttachedFileMetadataRequest *)request + completionHandler:(void (^)(AWSConnectBatchGetAttachedFileMetadataResponse *response, NSError *error))completionHandler { + [[self batchGetAttachedFileMetadata:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectBatchGetAttachedFileMetadataResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)batchGetFlowAssociation:(AWSConnectBatchGetFlowAssociationRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -752,6 +775,29 @@ - (void)claimPhoneNumber:(AWSConnectClaimPhoneNumberRequest *)request }]; } +- (AWSTask *)completeAttachedFileUpload:(AWSConnectCompleteAttachedFileUploadRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"/attached-files/{InstanceId}/{FileId}" + targetPrefix:@"" + operationName:@"CompleteAttachedFileUpload" + outputClass:[AWSConnectCompleteAttachedFileUploadResponse class]]; +} + +- (void)completeAttachedFileUpload:(AWSConnectCompleteAttachedFileUploadRequest *)request + completionHandler:(void (^)(AWSConnectCompleteAttachedFileUploadResponse *response, NSError *error))completionHandler { + [[self completeAttachedFileUpload:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectCompleteAttachedFileUploadResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)createAgentStatus:(AWSConnectCreateAgentStatusRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPUT @@ -1326,6 +1372,29 @@ - (void)deactivateEvaluationForm:(AWSConnectDeactivateEvaluationFormRequest *)re }]; } +- (AWSTask *)deleteAttachedFile:(AWSConnectDeleteAttachedFileRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodDELETE + URLString:@"/attached-files/{InstanceId}/{FileId}" + targetPrefix:@"" + operationName:@"DeleteAttachedFile" + outputClass:[AWSConnectDeleteAttachedFileResponse class]]; +} + +- (void)deleteAttachedFile:(AWSConnectDeleteAttachedFileRequest *)request + completionHandler:(void (^)(AWSConnectDeleteAttachedFileResponse *response, NSError *error))completionHandler { + [[self deleteAttachedFile:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectDeleteAttachedFileResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)deleteContactEvaluation:(AWSConnectDeleteContactEvaluationRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodDELETE @@ -2680,6 +2749,29 @@ - (void)dismissUserContact:(AWSConnectDismissUserContactRequest *)request }]; } +- (AWSTask *)getAttachedFile:(AWSConnectGetAttachedFileRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodGET + URLString:@"/attached-files/{InstanceId}/{FileId}" + targetPrefix:@"" + operationName:@"GetAttachedFile" + outputClass:[AWSConnectGetAttachedFileResponse class]]; +} + +- (void)getAttachedFile:(AWSConnectGetAttachedFileRequest *)request + completionHandler:(void (^)(AWSConnectGetAttachedFileResponse *response, NSError *error))completionHandler { + [[self getAttachedFile:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectGetAttachedFileResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getContactAttributes:(AWSConnectGetContactAttributesRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodGET @@ -4128,6 +4220,52 @@ - (void)searchAvailablePhoneNumbers:(AWSConnectSearchAvailablePhoneNumbersReques }]; } +- (AWSTask *)searchContactFlowModules:(AWSConnectSearchContactFlowModulesRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"/search-contact-flow-modules" + targetPrefix:@"" + operationName:@"SearchContactFlowModules" + outputClass:[AWSConnectSearchContactFlowModulesResponse class]]; +} + +- (void)searchContactFlowModules:(AWSConnectSearchContactFlowModulesRequest *)request + completionHandler:(void (^)(AWSConnectSearchContactFlowModulesResponse *response, NSError *error))completionHandler { + [[self searchContactFlowModules:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectSearchContactFlowModulesResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + +- (AWSTask *)searchContactFlows:(AWSConnectSearchContactFlowsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"/search-contact-flows" + targetPrefix:@"" + operationName:@"SearchContactFlows" + outputClass:[AWSConnectSearchContactFlowsResponse class]]; +} + +- (void)searchContactFlows:(AWSConnectSearchContactFlowsRequest *)request + completionHandler:(void (^)(AWSConnectSearchContactFlowsResponse *response, NSError *error))completionHandler { + [[self searchContactFlows:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectSearchContactFlowsResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)searchContacts:(AWSConnectSearchContactsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -4404,6 +4542,29 @@ - (void)sendChatIntegrationEvent:(AWSConnectSendChatIntegrationEventRequest *)re }]; } +- (AWSTask *)startAttachedFileUpload:(AWSConnectStartAttachedFileUploadRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPUT + URLString:@"/attached-files/{InstanceId}" + targetPrefix:@"" + operationName:@"StartAttachedFileUpload" + outputClass:[AWSConnectStartAttachedFileUploadResponse class]]; +} + +- (void)startAttachedFileUpload:(AWSConnectStartAttachedFileUploadRequest *)request + completionHandler:(void (^)(AWSConnectStartAttachedFileUploadResponse *response, NSError *error))completionHandler { + [[self startAttachedFileUpload:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSConnectStartAttachedFileUploadResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)startChatContact:(AWSConnectStartChatContactRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPUT diff --git a/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m b/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m index 196682cc9fb..7d91b8d8d5a 100644 --- a/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m +++ b/AWSConnectUnitTests/AWSConnectNSSecureCodingTests.m @@ -24,8 +24,10 @@ - (void) test_AWSConnectActivateEvaluationFormRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectActivateEvaluationFormResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentConfig API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentContactReference API_AVAILABLE(ios(11)); +- (void) test_AWSConnectAgentHierarchyGroup API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentHierarchyGroups API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentInfo API_AVAILABLE(ios(11)); +- (void) test_AWSConnectAgentQualityMetrics API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentStatus API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentStatusReference API_AVAILABLE(ios(11)); - (void) test_AWSConnectAgentStatusSummary API_AVAILABLE(ios(11)); @@ -54,16 +56,22 @@ - (void) test_AWSConnectAssociateSecurityKeyResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectAssociateTrafficDistributionGroupUserRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectAssociateTrafficDistributionGroupUserResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectAssociateUserProficienciesRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectAttachedFile API_AVAILABLE(ios(11)); +- (void) test_AWSConnectAttachedFileError API_AVAILABLE(ios(11)); - (void) test_AWSConnectAttachmentReference API_AVAILABLE(ios(11)); - (void) test_AWSConnectAttendee API_AVAILABLE(ios(11)); - (void) test_AWSConnectAttribute API_AVAILABLE(ios(11)); - (void) test_AWSConnectAttributeAndCondition API_AVAILABLE(ios(11)); +- (void) test_AWSConnectAttributeCondition API_AVAILABLE(ios(11)); - (void) test_AWSConnectAudioFeatures API_AVAILABLE(ios(11)); +- (void) test_AWSConnectAudioQualityMetricsInfo API_AVAILABLE(ios(11)); - (void) test_AWSConnectAvailableNumberSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectBatchAssociateAnalyticsDataSetRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectBatchAssociateAnalyticsDataSetResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectBatchDisassociateAnalyticsDataSetRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectBatchDisassociateAnalyticsDataSetResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectBatchGetAttachedFileMetadataRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectBatchGetAttachedFileMetadataResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectBatchGetFlowAssociationRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectBatchGetFlowAssociationResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectBatchPutContactRequest API_AVAILABLE(ios(11)); @@ -76,6 +84,8 @@ - (void) test_AWSConnectChatStreamingConfiguration API_AVAILABLE(ios(11)); - (void) test_AWSConnectClaimPhoneNumberRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectClaimPhoneNumberResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectClaimedPhoneNumberSummary API_AVAILABLE(ios(11)); +- (void) test_AWSConnectCompleteAttachedFileUploadRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectCompleteAttachedFileUploadResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectConnectionData API_AVAILABLE(ios(11)); - (void) test_AWSConnectContact API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactAnalysis API_AVAILABLE(ios(11)); @@ -83,7 +93,11 @@ - (void) test_AWSConnectContactDataRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactFilter API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactFlow API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactFlowModule API_AVAILABLE(ios(11)); +- (void) test_AWSConnectContactFlowModuleSearchCriteria API_AVAILABLE(ios(11)); +- (void) test_AWSConnectContactFlowModuleSearchFilter API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactFlowModuleSummary API_AVAILABLE(ios(11)); +- (void) test_AWSConnectContactFlowSearchCriteria API_AVAILABLE(ios(11)); +- (void) test_AWSConnectContactFlowSearchFilter API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactFlowSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactSearchSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectContactSearchSummaryAgentInfo API_AVAILABLE(ios(11)); @@ -138,16 +152,22 @@ - (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_AWSConnectCreatedByInfo API_AVAILABLE(ios(11)); - (void) test_AWSConnectCredentials API_AVAILABLE(ios(11)); - (void) test_AWSConnectCrossChannelBehavior API_AVAILABLE(ios(11)); - (void) test_AWSConnectCurrentMetric API_AVAILABLE(ios(11)); - (void) test_AWSConnectCurrentMetricData API_AVAILABLE(ios(11)); - (void) test_AWSConnectCurrentMetricResult API_AVAILABLE(ios(11)); - (void) test_AWSConnectCurrentMetricSortCriteria API_AVAILABLE(ios(11)); +- (void) test_AWSConnectCustomer API_AVAILABLE(ios(11)); +- (void) test_AWSConnectCustomerQualityMetrics API_AVAILABLE(ios(11)); +- (void) test_AWSConnectCustomerVoiceActivity API_AVAILABLE(ios(11)); - (void) test_AWSConnectDateReference API_AVAILABLE(ios(11)); - (void) test_AWSConnectDeactivateEvaluationFormRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDeactivateEvaluationFormResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectDefaultVocabulary API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDeleteAttachedFileRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDeleteAttachedFileResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectDeleteContactEvaluationRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDeleteContactFlowModuleRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDeleteContactFlowModuleResponse API_AVAILABLE(ios(11)); @@ -225,6 +245,7 @@ - (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_AWSConnectDeviceInfo API_AVAILABLE(ios(11)); - (void) test_AWSConnectDimensions API_AVAILABLE(ios(11)); - (void) test_AWSConnectDisassociateAnalyticsDataSetRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDisassociateApprovedOriginRequest API_AVAILABLE(ios(11)); @@ -241,10 +262,12 @@ - (void) test_AWSConnectDisassociateSecurityKeyRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDisassociateTrafficDistributionGroupUserRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDisassociateTrafficDistributionGroupUserResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectDisassociateUserProficienciesRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDisconnectDetails API_AVAILABLE(ios(11)); - (void) test_AWSConnectDisconnectReason API_AVAILABLE(ios(11)); - (void) test_AWSConnectDismissUserContactRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectDismissUserContactResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectDistribution API_AVAILABLE(ios(11)); +- (void) test_AWSConnectDownloadUrlMetadata API_AVAILABLE(ios(11)); - (void) test_AWSConnectEmailReference API_AVAILABLE(ios(11)); - (void) test_AWSConnectEmptyFieldValue API_AVAILABLE(ios(11)); - (void) test_AWSConnectEncryptionConfig API_AVAILABLE(ios(11)); @@ -276,12 +299,16 @@ - (void) test_AWSConnectEvaluationNote API_AVAILABLE(ios(11)); - (void) test_AWSConnectEvaluationScore API_AVAILABLE(ios(11)); - (void) test_AWSConnectEvaluationSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectEventBridgeActionDefinition API_AVAILABLE(ios(11)); +- (void) test_AWSConnectExpiry API_AVAILABLE(ios(11)); +- (void) test_AWSConnectExpression API_AVAILABLE(ios(11)); - (void) test_AWSConnectFailedRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectFieldValue API_AVAILABLE(ios(11)); - (void) test_AWSConnectFieldValueUnion API_AVAILABLE(ios(11)); - (void) test_AWSConnectFilterV2 API_AVAILABLE(ios(11)); - (void) test_AWSConnectFilters API_AVAILABLE(ios(11)); - (void) test_AWSConnectFlowAssociationSummary API_AVAILABLE(ios(11)); +- (void) test_AWSConnectGetAttachedFileRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectGetAttachedFileResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectGetContactAttributesRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectGetContactAttributesResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectGetCurrentMetricDataRequest API_AVAILABLE(ios(11)); @@ -306,6 +333,7 @@ - (void) test_AWSConnectHierarchyGroup API_AVAILABLE(ios(11)); - (void) test_AWSConnectHierarchyGroupCondition API_AVAILABLE(ios(11)); - (void) test_AWSConnectHierarchyGroupSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectHierarchyGroupSummaryReference API_AVAILABLE(ios(11)); +- (void) test_AWSConnectHierarchyGroups API_AVAILABLE(ios(11)); - (void) test_AWSConnectHierarchyLevel API_AVAILABLE(ios(11)); - (void) test_AWSConnectHierarchyLevelUpdate API_AVAILABLE(ios(11)); - (void) test_AWSConnectHierarchyPath API_AVAILABLE(ios(11)); @@ -329,6 +357,7 @@ - (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_AWSConnectInvalidRequestExceptionReason 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)); @@ -465,6 +494,7 @@ - (void) test_AWSConnectPromptSummary API_AVAILABLE(ios(11)); - (void) test_AWSConnectPropertyValidationExceptionProperty API_AVAILABLE(ios(11)); - (void) test_AWSConnectPutUserStatusRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectPutUserStatusResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectQualityMetrics API_AVAILABLE(ios(11)); - (void) test_AWSConnectQueue API_AVAILABLE(ios(11)); - (void) test_AWSConnectQueueInfo API_AVAILABLE(ios(11)); - (void) test_AWSConnectQueueQuickConnectConfig API_AVAILABLE(ios(11)); @@ -504,6 +534,7 @@ - (void) test_AWSConnectResumeContactRecordingRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectResumeContactRecordingResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectResumeContactRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectResumeContactResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectRoutingCriteria API_AVAILABLE(ios(11)); - (void) test_AWSConnectRoutingProfile API_AVAILABLE(ios(11)); - (void) test_AWSConnectRoutingProfileQueueConfig API_AVAILABLE(ios(11)); - (void) test_AWSConnectRoutingProfileQueueConfigSummary API_AVAILABLE(ios(11)); @@ -519,6 +550,10 @@ - (void) test_AWSConnectRuleTriggerEventSource API_AVAILABLE(ios(11)); - (void) test_AWSConnectS3Config API_AVAILABLE(ios(11)); - (void) test_AWSConnectSearchAvailablePhoneNumbersRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectSearchAvailablePhoneNumbersResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectSearchContactFlowModulesRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectSearchContactFlowModulesResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectSearchContactFlowsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectSearchContactFlowsResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectSearchContactsRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectSearchContactsResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectSearchContactsTimeRange API_AVAILABLE(ios(11)); @@ -559,6 +594,8 @@ - (void) test_AWSConnectSignInConfig API_AVAILABLE(ios(11)); - (void) test_AWSConnectSignInDistribution API_AVAILABLE(ios(11)); - (void) test_AWSConnectSingleSelectQuestionRuleCategoryAutomation API_AVAILABLE(ios(11)); - (void) test_AWSConnectSort API_AVAILABLE(ios(11)); +- (void) test_AWSConnectStartAttachedFileUploadRequest API_AVAILABLE(ios(11)); +- (void) test_AWSConnectStartAttachedFileUploadResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectStartChatContactRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectStartChatContactResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectStartContactEvaluationRequest API_AVAILABLE(ios(11)); @@ -573,6 +610,7 @@ - (void) test_AWSConnectStartTaskContactRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectStartTaskContactResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectStartWebRTCContactRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectStartWebRTCContactResponse API_AVAILABLE(ios(11)); +- (void) test_AWSConnectStep API_AVAILABLE(ios(11)); - (void) test_AWSConnectStopContactRecordingRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectStopContactRecordingResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectStopContactRequest API_AVAILABLE(ios(11)); @@ -581,6 +619,7 @@ - (void) test_AWSConnectStopContactStreamingRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectStopContactStreamingResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectStringCondition API_AVAILABLE(ios(11)); - (void) test_AWSConnectStringReference API_AVAILABLE(ios(11)); +- (void) test_AWSConnectSubmitAutoEvaluationActionDefinition API_AVAILABLE(ios(11)); - (void) test_AWSConnectSubmitContactEvaluationRequest API_AVAILABLE(ios(11)); - (void) test_AWSConnectSubmitContactEvaluationResponse API_AVAILABLE(ios(11)); - (void) test_AWSConnectSuccessfulRequest API_AVAILABLE(ios(11)); @@ -678,6 +717,7 @@ - (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_AWSConnectUploadUrlMetadata 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)); @@ -728,6 +768,10 @@ - (void) test_AWSConnectAgentContactReference { [self validateSecureCodingForClass:[AWSConnectAgentContactReference class]]; } +- (void) test_AWSConnectAgentHierarchyGroup { + [self validateSecureCodingForClass:[AWSConnectAgentHierarchyGroup class]]; +} + - (void) test_AWSConnectAgentHierarchyGroups { [self validateSecureCodingForClass:[AWSConnectAgentHierarchyGroups class]]; } @@ -736,6 +780,10 @@ - (void) test_AWSConnectAgentInfo { [self validateSecureCodingForClass:[AWSConnectAgentInfo class]]; } +- (void) test_AWSConnectAgentQualityMetrics { + [self validateSecureCodingForClass:[AWSConnectAgentQualityMetrics class]]; +} + - (void) test_AWSConnectAgentStatus { [self validateSecureCodingForClass:[AWSConnectAgentStatus class]]; } @@ -848,6 +896,14 @@ - (void) test_AWSConnectAssociateUserProficienciesRequest { [self validateSecureCodingForClass:[AWSConnectAssociateUserProficienciesRequest class]]; } +- (void) test_AWSConnectAttachedFile { + [self validateSecureCodingForClass:[AWSConnectAttachedFile class]]; +} + +- (void) test_AWSConnectAttachedFileError { + [self validateSecureCodingForClass:[AWSConnectAttachedFileError class]]; +} + - (void) test_AWSConnectAttachmentReference { [self validateSecureCodingForClass:[AWSConnectAttachmentReference class]]; } @@ -864,10 +920,18 @@ - (void) test_AWSConnectAttributeAndCondition { [self validateSecureCodingForClass:[AWSConnectAttributeAndCondition class]]; } +- (void) test_AWSConnectAttributeCondition { + [self validateSecureCodingForClass:[AWSConnectAttributeCondition class]]; +} + - (void) test_AWSConnectAudioFeatures { [self validateSecureCodingForClass:[AWSConnectAudioFeatures class]]; } +- (void) test_AWSConnectAudioQualityMetricsInfo { + [self validateSecureCodingForClass:[AWSConnectAudioQualityMetricsInfo class]]; +} + - (void) test_AWSConnectAvailableNumberSummary { [self validateSecureCodingForClass:[AWSConnectAvailableNumberSummary class]]; } @@ -888,6 +952,14 @@ - (void) test_AWSConnectBatchDisassociateAnalyticsDataSetResponse { [self validateSecureCodingForClass:[AWSConnectBatchDisassociateAnalyticsDataSetResponse class]]; } +- (void) test_AWSConnectBatchGetAttachedFileMetadataRequest { + [self validateSecureCodingForClass:[AWSConnectBatchGetAttachedFileMetadataRequest class]]; +} + +- (void) test_AWSConnectBatchGetAttachedFileMetadataResponse { + [self validateSecureCodingForClass:[AWSConnectBatchGetAttachedFileMetadataResponse class]]; +} + - (void) test_AWSConnectBatchGetFlowAssociationRequest { [self validateSecureCodingForClass:[AWSConnectBatchGetFlowAssociationRequest class]]; } @@ -936,6 +1008,14 @@ - (void) test_AWSConnectClaimedPhoneNumberSummary { [self validateSecureCodingForClass:[AWSConnectClaimedPhoneNumberSummary class]]; } +- (void) test_AWSConnectCompleteAttachedFileUploadRequest { + [self validateSecureCodingForClass:[AWSConnectCompleteAttachedFileUploadRequest class]]; +} + +- (void) test_AWSConnectCompleteAttachedFileUploadResponse { + [self validateSecureCodingForClass:[AWSConnectCompleteAttachedFileUploadResponse class]]; +} + - (void) test_AWSConnectConnectionData { [self validateSecureCodingForClass:[AWSConnectConnectionData class]]; } @@ -964,10 +1044,26 @@ - (void) test_AWSConnectContactFlowModule { [self validateSecureCodingForClass:[AWSConnectContactFlowModule class]]; } +- (void) test_AWSConnectContactFlowModuleSearchCriteria { + [self validateSecureCodingForClass:[AWSConnectContactFlowModuleSearchCriteria class]]; +} + +- (void) test_AWSConnectContactFlowModuleSearchFilter { + [self validateSecureCodingForClass:[AWSConnectContactFlowModuleSearchFilter class]]; +} + - (void) test_AWSConnectContactFlowModuleSummary { [self validateSecureCodingForClass:[AWSConnectContactFlowModuleSummary class]]; } +- (void) test_AWSConnectContactFlowSearchCriteria { + [self validateSecureCodingForClass:[AWSConnectContactFlowSearchCriteria class]]; +} + +- (void) test_AWSConnectContactFlowSearchFilter { + [self validateSecureCodingForClass:[AWSConnectContactFlowSearchFilter class]]; +} + - (void) test_AWSConnectContactFlowSummary { [self validateSecureCodingForClass:[AWSConnectContactFlowSummary class]]; } @@ -1184,6 +1280,10 @@ - (void) test_AWSConnectCreateVocabularyResponse { [self validateSecureCodingForClass:[AWSConnectCreateVocabularyResponse class]]; } +- (void) test_AWSConnectCreatedByInfo { + [self validateSecureCodingForClass:[AWSConnectCreatedByInfo class]]; +} + - (void) test_AWSConnectCredentials { [self validateSecureCodingForClass:[AWSConnectCredentials class]]; } @@ -1208,6 +1308,18 @@ - (void) test_AWSConnectCurrentMetricSortCriteria { [self validateSecureCodingForClass:[AWSConnectCurrentMetricSortCriteria class]]; } +- (void) test_AWSConnectCustomer { + [self validateSecureCodingForClass:[AWSConnectCustomer class]]; +} + +- (void) test_AWSConnectCustomerQualityMetrics { + [self validateSecureCodingForClass:[AWSConnectCustomerQualityMetrics class]]; +} + +- (void) test_AWSConnectCustomerVoiceActivity { + [self validateSecureCodingForClass:[AWSConnectCustomerVoiceActivity class]]; +} + - (void) test_AWSConnectDateReference { [self validateSecureCodingForClass:[AWSConnectDateReference class]]; } @@ -1224,6 +1336,14 @@ - (void) test_AWSConnectDefaultVocabulary { [self validateSecureCodingForClass:[AWSConnectDefaultVocabulary class]]; } +- (void) test_AWSConnectDeleteAttachedFileRequest { + [self validateSecureCodingForClass:[AWSConnectDeleteAttachedFileRequest class]]; +} + +- (void) test_AWSConnectDeleteAttachedFileResponse { + [self validateSecureCodingForClass:[AWSConnectDeleteAttachedFileResponse class]]; +} + - (void) test_AWSConnectDeleteContactEvaluationRequest { [self validateSecureCodingForClass:[AWSConnectDeleteContactEvaluationRequest class]]; } @@ -1532,6 +1652,10 @@ - (void) test_AWSConnectDescribeVocabularyResponse { [self validateSecureCodingForClass:[AWSConnectDescribeVocabularyResponse class]]; } +- (void) test_AWSConnectDeviceInfo { + [self validateSecureCodingForClass:[AWSConnectDeviceInfo class]]; +} + - (void) test_AWSConnectDimensions { [self validateSecureCodingForClass:[AWSConnectDimensions class]]; } @@ -1596,6 +1720,10 @@ - (void) test_AWSConnectDisassociateUserProficienciesRequest { [self validateSecureCodingForClass:[AWSConnectDisassociateUserProficienciesRequest class]]; } +- (void) test_AWSConnectDisconnectDetails { + [self validateSecureCodingForClass:[AWSConnectDisconnectDetails class]]; +} + - (void) test_AWSConnectDisconnectReason { [self validateSecureCodingForClass:[AWSConnectDisconnectReason class]]; } @@ -1612,6 +1740,10 @@ - (void) test_AWSConnectDistribution { [self validateSecureCodingForClass:[AWSConnectDistribution class]]; } +- (void) test_AWSConnectDownloadUrlMetadata { + [self validateSecureCodingForClass:[AWSConnectDownloadUrlMetadata class]]; +} + - (void) test_AWSConnectEmailReference { [self validateSecureCodingForClass:[AWSConnectEmailReference class]]; } @@ -1736,6 +1868,14 @@ - (void) test_AWSConnectEventBridgeActionDefinition { [self validateSecureCodingForClass:[AWSConnectEventBridgeActionDefinition class]]; } +- (void) test_AWSConnectExpiry { + [self validateSecureCodingForClass:[AWSConnectExpiry class]]; +} + +- (void) test_AWSConnectExpression { + [self validateSecureCodingForClass:[AWSConnectExpression class]]; +} + - (void) test_AWSConnectFailedRequest { [self validateSecureCodingForClass:[AWSConnectFailedRequest class]]; } @@ -1760,6 +1900,14 @@ - (void) test_AWSConnectFlowAssociationSummary { [self validateSecureCodingForClass:[AWSConnectFlowAssociationSummary class]]; } +- (void) test_AWSConnectGetAttachedFileRequest { + [self validateSecureCodingForClass:[AWSConnectGetAttachedFileRequest class]]; +} + +- (void) test_AWSConnectGetAttachedFileResponse { + [self validateSecureCodingForClass:[AWSConnectGetAttachedFileResponse class]]; +} + - (void) test_AWSConnectGetContactAttributesRequest { [self validateSecureCodingForClass:[AWSConnectGetContactAttributesRequest class]]; } @@ -1856,6 +2004,10 @@ - (void) test_AWSConnectHierarchyGroupSummaryReference { [self validateSecureCodingForClass:[AWSConnectHierarchyGroupSummaryReference class]]; } +- (void) test_AWSConnectHierarchyGroups { + [self validateSecureCodingForClass:[AWSConnectHierarchyGroups class]]; +} + - (void) test_AWSConnectHierarchyLevel { [self validateSecureCodingForClass:[AWSConnectHierarchyLevel class]]; } @@ -1948,6 +2100,10 @@ - (void) test_AWSConnectIntervalDetails { [self validateSecureCodingForClass:[AWSConnectIntervalDetails class]]; } +- (void) test_AWSConnectInvalidRequestExceptionReason { + [self validateSecureCodingForClass:[AWSConnectInvalidRequestExceptionReason class]]; +} + - (void) test_AWSConnectInvisibleFieldInfo { [self validateSecureCodingForClass:[AWSConnectInvisibleFieldInfo class]]; } @@ -2492,6 +2648,10 @@ - (void) test_AWSConnectPutUserStatusResponse { [self validateSecureCodingForClass:[AWSConnectPutUserStatusResponse class]]; } +- (void) test_AWSConnectQualityMetrics { + [self validateSecureCodingForClass:[AWSConnectQualityMetrics class]]; +} + - (void) test_AWSConnectQueue { [self validateSecureCodingForClass:[AWSConnectQueue class]]; } @@ -2648,6 +2808,10 @@ - (void) test_AWSConnectResumeContactResponse { [self validateSecureCodingForClass:[AWSConnectResumeContactResponse class]]; } +- (void) test_AWSConnectRoutingCriteria { + [self validateSecureCodingForClass:[AWSConnectRoutingCriteria class]]; +} + - (void) test_AWSConnectRoutingProfile { [self validateSecureCodingForClass:[AWSConnectRoutingProfile class]]; } @@ -2708,6 +2872,22 @@ - (void) test_AWSConnectSearchAvailablePhoneNumbersResponse { [self validateSecureCodingForClass:[AWSConnectSearchAvailablePhoneNumbersResponse class]]; } +- (void) test_AWSConnectSearchContactFlowModulesRequest { + [self validateSecureCodingForClass:[AWSConnectSearchContactFlowModulesRequest class]]; +} + +- (void) test_AWSConnectSearchContactFlowModulesResponse { + [self validateSecureCodingForClass:[AWSConnectSearchContactFlowModulesResponse class]]; +} + +- (void) test_AWSConnectSearchContactFlowsRequest { + [self validateSecureCodingForClass:[AWSConnectSearchContactFlowsRequest class]]; +} + +- (void) test_AWSConnectSearchContactFlowsResponse { + [self validateSecureCodingForClass:[AWSConnectSearchContactFlowsResponse class]]; +} + - (void) test_AWSConnectSearchContactsRequest { [self validateSecureCodingForClass:[AWSConnectSearchContactsRequest class]]; } @@ -2868,6 +3048,14 @@ - (void) test_AWSConnectSort { [self validateSecureCodingForClass:[AWSConnectSort class]]; } +- (void) test_AWSConnectStartAttachedFileUploadRequest { + [self validateSecureCodingForClass:[AWSConnectStartAttachedFileUploadRequest class]]; +} + +- (void) test_AWSConnectStartAttachedFileUploadResponse { + [self validateSecureCodingForClass:[AWSConnectStartAttachedFileUploadResponse class]]; +} + - (void) test_AWSConnectStartChatContactRequest { [self validateSecureCodingForClass:[AWSConnectStartChatContactRequest class]]; } @@ -2924,6 +3112,10 @@ - (void) test_AWSConnectStartWebRTCContactResponse { [self validateSecureCodingForClass:[AWSConnectStartWebRTCContactResponse class]]; } +- (void) test_AWSConnectStep { + [self validateSecureCodingForClass:[AWSConnectStep class]]; +} + - (void) test_AWSConnectStopContactRecordingRequest { [self validateSecureCodingForClass:[AWSConnectStopContactRecordingRequest class]]; } @@ -2956,6 +3148,10 @@ - (void) test_AWSConnectStringReference { [self validateSecureCodingForClass:[AWSConnectStringReference class]]; } +- (void) test_AWSConnectSubmitAutoEvaluationActionDefinition { + [self validateSecureCodingForClass:[AWSConnectSubmitAutoEvaluationActionDefinition class]]; +} + - (void) test_AWSConnectSubmitContactEvaluationRequest { [self validateSecureCodingForClass:[AWSConnectSubmitContactEvaluationRequest class]]; } @@ -3344,6 +3540,10 @@ - (void) test_AWSConnectUpdateViewMetadataResponse { [self validateSecureCodingForClass:[AWSConnectUpdateViewMetadataResponse class]]; } +- (void) test_AWSConnectUploadUrlMetadata { + [self validateSecureCodingForClass:[AWSConnectUploadUrlMetadata class]]; +} + - (void) test_AWSConnectUrlReference { [self validateSecureCodingForClass:[AWSConnectUrlReference class]]; } diff --git a/AWSConnectUnitTests/AWSGeneralConnectTests.m b/AWSConnectUnitTests/AWSGeneralConnectTests.m index 62a613627d2..6d52f63610e 100644 --- a/AWSConnectUnitTests/AWSGeneralConnectTests.m +++ b/AWSConnectUnitTests/AWSGeneralConnectTests.m @@ -865,6 +865,54 @@ - (void)testBatchDisassociateAnalyticsDataSetCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testBatchGetAttachedFileMetadata { + NSString *key = @"testBatchGetAttachedFileMetadata"; + 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] batchGetAttachedFileMetadata:[AWSConnectBatchGetAttachedFileMetadataRequest 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)testBatchGetAttachedFileMetadataCompletionHandler { + NSString *key = @"testBatchGetAttachedFileMetadata"; + 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] batchGetAttachedFileMetadata:[AWSConnectBatchGetAttachedFileMetadataRequest new] completionHandler:^(AWSConnectBatchGetAttachedFileMetadataResponse* _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)testBatchGetFlowAssociation { NSString *key = @"testBatchGetFlowAssociation"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -1009,6 +1057,54 @@ - (void)testClaimPhoneNumberCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testCompleteAttachedFileUpload { + NSString *key = @"testCompleteAttachedFileUpload"; + 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] completeAttachedFileUpload:[AWSConnectCompleteAttachedFileUploadRequest 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)testCompleteAttachedFileUploadCompletionHandler { + NSString *key = @"testCompleteAttachedFileUpload"; + 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] completeAttachedFileUpload:[AWSConnectCompleteAttachedFileUploadRequest new] completionHandler:^(AWSConnectCompleteAttachedFileUploadResponse* _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)testCreateAgentStatus { NSString *key = @"testCreateAgentStatus"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -2208,6 +2304,54 @@ - (void)testDeactivateEvaluationFormCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testDeleteAttachedFile { + NSString *key = @"testDeleteAttachedFile"; + 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] deleteAttachedFile:[AWSConnectDeleteAttachedFileRequest 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)testDeleteAttachedFileCompletionHandler { + NSString *key = @"testDeleteAttachedFile"; + 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] deleteAttachedFile:[AWSConnectDeleteAttachedFileRequest new] completionHandler:^(AWSConnectDeleteAttachedFileResponse* _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)testDeleteContactEvaluation { NSString *key = @"testDeleteContactEvaluation"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -5062,6 +5206,54 @@ - (void)testDismissUserContactCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testGetAttachedFile { + NSString *key = @"testGetAttachedFile"; + 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] getAttachedFile:[AWSConnectGetAttachedFileRequest 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)testGetAttachedFileCompletionHandler { + NSString *key = @"testGetAttachedFile"; + 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] getAttachedFile:[AWSConnectGetAttachedFileRequest new] completionHandler:^(AWSConnectGetAttachedFileResponse* _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)testGetContactAttributes { NSString *key = @"testGetContactAttributes"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -8085,6 +8277,102 @@ - (void)testSearchAvailablePhoneNumbersCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testSearchContactFlowModules { + NSString *key = @"testSearchContactFlowModules"; + 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] searchContactFlowModules:[AWSConnectSearchContactFlowModulesRequest 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)testSearchContactFlowModulesCompletionHandler { + NSString *key = @"testSearchContactFlowModules"; + 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] searchContactFlowModules:[AWSConnectSearchContactFlowModulesRequest new] completionHandler:^(AWSConnectSearchContactFlowModulesResponse* _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)testSearchContactFlows { + NSString *key = @"testSearchContactFlows"; + 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] searchContactFlows:[AWSConnectSearchContactFlowsRequest 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)testSearchContactFlowsCompletionHandler { + NSString *key = @"testSearchContactFlows"; + 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] searchContactFlows:[AWSConnectSearchContactFlowsRequest new] completionHandler:^(AWSConnectSearchContactFlowsResponse* _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)testSearchContacts { NSString *key = @"testSearchContacts"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -8661,6 +8949,54 @@ - (void)testSendChatIntegrationEventCompletionHandler { [AWSConnect removeConnectForKey:key]; } +- (void)testStartAttachedFileUpload { + NSString *key = @"testStartAttachedFileUpload"; + 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] startAttachedFileUpload:[AWSConnectStartAttachedFileUploadRequest 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)testStartAttachedFileUploadCompletionHandler { + NSString *key = @"testStartAttachedFileUpload"; + 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] startAttachedFileUpload:[AWSConnectStartAttachedFileUploadRequest new] completionHandler:^(AWSConnectStartAttachedFileUploadResponse* _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)testStartChatContact { NSString *key = @"testStartChatContact"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; From 7e7b076c0681db7d4825fe1e4567dc69c09b0430 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:26:38 -0700 Subject: [PATCH 06/14] feat(AWSKMS): update models to latest (#5348) --- AWSKMS/AWSKMSModel.h | 150 +++++++++++++++- AWSKMS/AWSKMSModel.m | 140 +++++++++++++++ AWSKMS/AWSKMSResources.m | 186 ++++++++++++++++++-- AWSKMS/AWSKMSService.h | 66 ++++++- AWSKMS/AWSKMSService.m | 47 +++++ AWSKMSUnitTests/AWSGeneralKMSTests.m | 96 ++++++++++ AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m | 25 +++ 7 files changed, 680 insertions(+), 30 deletions(-) diff --git a/AWSKMS/AWSKMSModel.h b/AWSKMS/AWSKMSModel.h index a0e1096e44b..51fc8b34cdd 100644 --- a/AWSKMS/AWSKMSModel.h +++ b/AWSKMS/AWSKMSModel.h @@ -29,6 +29,7 @@ typedef NS_ENUM(NSInteger, AWSKMSErrorType) { AWSKMSErrorCloudHsmClusterNotActive, AWSKMSErrorCloudHsmClusterNotFound, AWSKMSErrorCloudHsmClusterNotRelated, + AWSKMSErrorConflict, AWSKMSErrorCustomKeyStoreHasCMKs, AWSKMSErrorCustomKeyStoreInvalidState, AWSKMSErrorCustomKeyStoreNameInUse, @@ -79,6 +80,7 @@ typedef NS_ENUM(NSInteger, AWSKMSAlgorithmSpec) { AWSKMSAlgorithmSpecRsaesOaepSha256, AWSKMSAlgorithmSpecRsaAesKeyWrapSha1, AWSKMSAlgorithmSpecRsaAesKeyWrapSha256, + AWSKMSAlgorithmSpecSm2pke, }; typedef NS_ENUM(NSInteger, AWSKMSConnectionErrorCodeType) { @@ -262,6 +264,12 @@ typedef NS_ENUM(NSInteger, AWSKMSOriginType) { AWSKMSOriginTypeExternalKeyStore, }; +typedef NS_ENUM(NSInteger, AWSKMSRotationType) { + AWSKMSRotationTypeUnknown, + AWSKMSRotationTypeAutomatic, + AWSKMSRotationTypeOnDemand, +}; + typedef NS_ENUM(NSInteger, AWSKMSSigningAlgorithmSpec) { AWSKMSSigningAlgorithmSpecUnknown, AWSKMSSigningAlgorithmSpecRsassaPssSha256, @@ -281,6 +289,7 @@ typedef NS_ENUM(NSInteger, AWSKMSWrappingKeySpec) { AWSKMSWrappingKeySpecRsa2048, AWSKMSWrappingKeySpecRsa3072, AWSKMSWrappingKeySpecRsa4096, + AWSKMSWrappingKeySpecSm2, }; typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @@ -352,6 +361,8 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @class AWSKMSListGrantsResponse; @class AWSKMSListKeyPoliciesRequest; @class AWSKMSListKeyPoliciesResponse; +@class AWSKMSListKeyRotationsRequest; +@class AWSKMSListKeyRotationsResponse; @class AWSKMSListKeysRequest; @class AWSKMSListKeysResponse; @class AWSKMSListResourceTagsRequest; @@ -367,6 +378,9 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @class AWSKMSReplicateKeyResponse; @class AWSKMSRetireGrantRequest; @class AWSKMSRevokeGrantRequest; +@class AWSKMSRotateKeyOnDemandRequest; +@class AWSKMSRotateKeyOnDemandResponse; +@class AWSKMSRotationsListEntry; @class AWSKMSScheduleKeyDeletionRequest; @class AWSKMSScheduleKeyDeletionResponse; @class AWSKMSSignRequest; @@ -914,7 +928,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSString * _Nullable nextMarker; /** -

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

+

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

*/ @property (nonatomic, strong) NSNumber * _Nullable truncated; @@ -1022,6 +1036,11 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { */ @property (nonatomic, strong) NSString * _Nullable keyId; +/** +

Use this parameter to specify a custom period of time between each rotation date. If no value is specified, the default value is 365 days.

The rotation period defines the number of days after you enable automatic key rotation that KMS will rotate your key material, and the number of days between each automatic rotation thereafter.

You can use the kms:RotationPeriodInDays condition key to further constrain the values that principals can specify in the RotationPeriodInDays parameter.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable rotationPeriodInDays; + @end /** @@ -1501,11 +1520,31 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @interface AWSKMSGetKeyRotationStatusResponse : AWSModel +/** +

Identifies the specified symmetric encryption KMS key.

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

A Boolean value that specifies whether key rotation is enabled.

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

The next date that KMS will automatically rotate the key material.

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

Identifies the date and time that an in progress on-demand rotation was initiated.

The KMS API follows an eventual consistency model due to the distributed nature of the system. As a result, there might be a slight delay between initiating on-demand key rotation and the rotation's completion. Once the on-demand rotation is complete, use ListKeyRotations to view the details of the on-demand rotation.

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

The number of days between each automatic rotation. The default value is 365 days.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable rotationPeriodInDays; + @end /** @@ -1520,12 +1559,12 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSString * _Nullable keyId; /** -

The algorithm you will use with the RSA public key (PublicKey) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.

For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS.

The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm.

  • RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.

  • RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.

  • RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.

+

The algorithm you will use with the asymmetric public key (PublicKey) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.

For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS. For SM2PKE wrapping algorithms, you encrypt your key material directly with the SM2 public key from KMS.

The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm, except in China Regions, where you must use the SM2PKE wrapping algorithm to import an RSA private key.

The SM2PKE wrapping algorithm is available only in China Regions. The RSA_AES_KEY_WRAP_SHA_256 and RSA_AES_KEY_WRAP_SHA_1 wrapping algorithms are not supported in China Regions.

  • RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.

  • RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.

  • RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.

  • SM2PKE (China Regions only) — supported for wrapping RSA, ECC, and SM2 key material.

*/ @property (nonatomic, assign) AWSKMSAlgorithmSpec wrappingAlgorithm; /** -

The type of RSA public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.

Use the longest RSA wrapping key that is practical.

You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.

+

The type of public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.

Use the longest wrapping key that is practical.

You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.

The SM2 wrapping key spec is available only in China Regions.

*/ @property (nonatomic, assign) AWSKMSWrappingKeySpec wrappingKeySpec; @@ -1919,7 +1958,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSString * _Nullable nextMarker; /** -

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

+

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

*/ @property (nonatomic, strong) NSNumber * _Nullable truncated; @@ -1975,7 +2014,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSString * _Nullable nextMarker; /** -

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

+

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

*/ @property (nonatomic, strong) NSNumber * _Nullable truncated; @@ -2021,7 +2060,53 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSArray * _Nullable policyNames; /** -

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

+

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable truncated; + +@end + +/** + + */ +@interface AWSKMSListKeyRotationsRequest : AWSRequest + + +/** +

Gets the key rotations for the specified KMS key.

Specify the key ID or key ARN of the KMS key.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

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

Use this parameter to specify the maximum number of items to return. When this value is present, KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

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

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

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

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

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

A list of completed key material rotations.

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

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

*/ @property (nonatomic, strong) NSNumber * _Nullable truncated; @@ -2062,7 +2147,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSString * _Nullable nextMarker; /** -

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

+

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

*/ @property (nonatomic, strong) NSNumber * _Nullable truncated; @@ -2108,7 +2193,7 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @property (nonatomic, strong) NSArray * _Nullable tags; /** -

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

+

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

*/ @property (nonatomic, strong) NSNumber * _Nullable truncated; @@ -2422,6 +2507,55 @@ typedef NS_ENUM(NSInteger, AWSKMSXksProxyConnectivityType) { @end +/** + + */ +@interface AWSKMSRotateKeyOnDemandRequest : AWSRequest + + +/** +

Identifies a symmetric encryption KMS key. You cannot perform on-demand rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To perform on-demand rotation of a set of related multi-Region keys, invoke the on-demand rotation on the primary key.

Specify the key ID or key ARN of the KMS key.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

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

Identifies the symmetric encryption KMS key that you initiated on-demand rotation on.

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

Contains information about completed key material rotations.

+ */ +@interface AWSKMSRotationsListEntry : AWSModel + + +/** +

Unique identifier of the key.

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

Date and time that the key material rotation completed. Formatted as Unix time.

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

Identifies whether the key material rotation was a scheduled automatic rotation or an on-demand rotation.

+ */ +@property (nonatomic, assign) AWSKMSRotationType rotationType; + +@end + /** */ diff --git a/AWSKMS/AWSKMSModel.m b/AWSKMS/AWSKMSModel.m index 2789858412f..dfa31f0ce52 100644 --- a/AWSKMS/AWSKMSModel.m +++ b/AWSKMS/AWSKMSModel.m @@ -983,6 +983,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"keyId" : @"KeyId", + @"rotationPeriodInDays" : @"RotationPeriodInDays", }; } @@ -1666,10 +1667,30 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"keyId" : @"KeyId", @"keyRotationEnabled" : @"KeyRotationEnabled", + @"nextRotationDate" : @"NextRotationDate", + @"onDemandRotationStartDate" : @"OnDemandRotationStartDate", + @"rotationPeriodInDays" : @"RotationPeriodInDays", }; } ++ (NSValueTransformer *)nextRotationDateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)onDemandRotationStartDateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + @end @implementation AWSKMSGetParametersForImportRequest @@ -1703,6 +1724,9 @@ + (NSValueTransformer *)wrappingAlgorithmJSONTransformer { if ([value caseInsensitiveCompare:@"RSA_AES_KEY_WRAP_SHA_256"] == NSOrderedSame) { return @(AWSKMSAlgorithmSpecRsaAesKeyWrapSha256); } + if ([value caseInsensitiveCompare:@"SM2PKE"] == NSOrderedSame) { + return @(AWSKMSAlgorithmSpecSm2pke); + } return @(AWSKMSAlgorithmSpecUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -1716,6 +1740,8 @@ + (NSValueTransformer *)wrappingAlgorithmJSONTransformer { return @"RSA_AES_KEY_WRAP_SHA_1"; case AWSKMSAlgorithmSpecRsaAesKeyWrapSha256: return @"RSA_AES_KEY_WRAP_SHA_256"; + case AWSKMSAlgorithmSpecSm2pke: + return @"SM2PKE"; default: return nil; } @@ -1733,6 +1759,9 @@ + (NSValueTransformer *)wrappingKeySpecJSONTransformer { if ([value caseInsensitiveCompare:@"RSA_4096"] == NSOrderedSame) { return @(AWSKMSWrappingKeySpecRsa4096); } + if ([value caseInsensitiveCompare:@"SM2"] == NSOrderedSame) { + return @(AWSKMSWrappingKeySpecSm2); + } return @(AWSKMSWrappingKeySpecUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -1742,6 +1771,8 @@ + (NSValueTransformer *)wrappingKeySpecJSONTransformer { return @"RSA_3072"; case AWSKMSWrappingKeySpecRsa4096: return @"RSA_4096"; + case AWSKMSWrappingKeySpecSm2: + return @"SM2"; default: return nil; } @@ -2584,6 +2615,42 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSKMSListKeyRotationsRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"keyId" : @"KeyId", + @"limit" : @"Limit", + @"marker" : @"Marker", + }; +} + +@end + +@implementation AWSKMSListKeyRotationsResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"nextMarker" : @"NextMarker", + @"rotations" : @"Rotations", + @"truncated" : @"Truncated", + }; +} + ++ (NSValueTransformer *)rotationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSKMSRotationsListEntry class]]; +} + +@end + @implementation AWSKMSListKeysRequest + (BOOL)supportsSecureCoding { @@ -3023,6 +3090,79 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSKMSRotateKeyOnDemandRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"keyId" : @"KeyId", + }; +} + +@end + +@implementation AWSKMSRotateKeyOnDemandResponse + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"keyId" : @"KeyId", + }; +} + +@end + +@implementation AWSKMSRotationsListEntry + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"keyId" : @"KeyId", + @"rotationDate" : @"RotationDate", + @"rotationType" : @"RotationType", + }; +} + ++ (NSValueTransformer *)rotationDateJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSNumber *number) { + return [NSDate dateWithTimeIntervalSince1970:[number doubleValue]]; + } reverseBlock:^id(NSDate *date) { + return [NSString stringWithFormat:@"%f", [date timeIntervalSince1970]]; + }]; +} + ++ (NSValueTransformer *)rotationTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"AUTOMATIC"] == NSOrderedSame) { + return @(AWSKMSRotationTypeAutomatic); + } + if ([value caseInsensitiveCompare:@"ON_DEMAND"] == NSOrderedSame) { + return @(AWSKMSRotationTypeOnDemand); + } + return @(AWSKMSRotationTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSKMSRotationTypeAutomatic: + return @"AUTOMATIC"; + case AWSKMSRotationTypeOnDemand: + return @"ON_DEMAND"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSKMSScheduleKeyDeletionRequest + (BOOL)supportsSecureCoding { diff --git a/AWSKMS/AWSKMSResources.m b/AWSKMS/AWSKMSResources.m index 694ce47249f..1a79a897f84 100644 --- a/AWSKMS/AWSKMSResources.m +++ b/AWSKMS/AWSKMSResources.m @@ -63,6 +63,7 @@ - (NSString *)definitionString { \"endpointPrefix\":\"kms\",\ \"jsonVersion\":\"1.1\",\ \"protocol\":\"json\",\ + \"protocols\":[\"json\"],\ \"serviceAbbreviation\":\"KMS\",\ \"serviceFullName\":\"AWS Key Management Service\",\ \"serviceId\":\"KMS\",\ @@ -332,7 +333,7 @@ - (NSString *)definitionString { {\"shape\":\"KMSInvalidStateException\"},\ {\"shape\":\"UnsupportedOperationException\"}\ ],\ - \"documentation\":\"

Disables automatic rotation of the key material of the specified symmetric encryption KMS key.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You can enable (EnableKeyRotation) and disable automatic rotation of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material for every year. Rotation of Amazon Web Services owned KMS keys varies.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

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

Required permissions: kms:DisableKeyRotation (key policy)

Related operations:

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

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

Disables automatic rotation of the key material of the specified symmetric encryption KMS key.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You can enable (EnableKeyRotation) and disable automatic rotation of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material for every year. Rotation of Amazon Web Services owned KMS keys varies.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

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

Required permissions: kms:DisableKeyRotation (key policy)

Related operations:

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

\"\ },\ \"DisconnectCustomKeyStore\":{\ \"name\":\"DisconnectCustomKeyStore\",\ @@ -382,7 +383,7 @@ - (NSString *)definitionString { {\"shape\":\"KMSInvalidStateException\"},\ {\"shape\":\"UnsupportedOperationException\"}\ ],\ - \"documentation\":\"

Enables automatic rotation of the key material of the specified symmetric encryption KMS key.

When you enable automatic rotation of a customer managed KMS key, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer managed KMS key, use the DisableKeyRotation operation.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You cannot enable or disable automatic rotation Amazon Web Services managed KMS keys. KMS always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS keys varies.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years (approximately 1,095 days) to every year (approximately 365 days).

New Amazon Web Services managed keys are automatically rotated one year after they are created, and approximately every year thereafter.

Existing Amazon Web Services managed keys are automatically rotated one year after their most recent rotation, and every year thereafter.

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

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

Required permissions: kms:EnableKeyRotation (key policy)

Related operations:

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

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

Enables automatic rotation of the key material of the specified symmetric encryption KMS key.

By default, when you enable automatic rotation of a customer managed KMS key, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can use the optional RotationPeriodInDays parameter to specify a custom rotation period when you enable key rotation, or you can use RotationPeriodInDays to modify the rotation period of a key that you previously enabled automatic key rotation on.

You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer managed KMS key, use the DisableKeyRotation operation. You can use the GetKeyRotationStatus operation to identify any in progress rotations. You can use the ListKeyRotations operation to view the details of completed rotations.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You cannot enable or disable automatic rotation of Amazon Web Services managed KMS keys. KMS always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS keys is managed by the Amazon Web Services service that owns the key.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years (approximately 1,095 days) to every year (approximately 365 days).

New Amazon Web Services managed keys are automatically rotated one year after they are created, and approximately every year thereafter.

Existing Amazon Web Services managed keys are automatically rotated one year after their most recent rotation, and every year thereafter.

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

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

Required permissions: kms:EnableKeyRotation (key policy)

Related operations:

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

\"\ },\ \"Encrypt\":{\ \"name\":\"Encrypt\",\ @@ -561,7 +562,7 @@ - (NSString *)definitionString { {\"shape\":\"KMSInvalidStateException\"},\ {\"shape\":\"UnsupportedOperationException\"}\ ],\ - \"documentation\":\"

Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified KMS key.

When you enable automatic rotation for customer managed KMS keys, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..

You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The key rotation status for Amazon Web Services managed KMS keys is always true.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

  • Disabled: The key rotation status does not change when you disable a KMS key. However, while the KMS key is disabled, KMS does not rotate the key material. When you re-enable the KMS key, rotation resumes. If the key material in the re-enabled KMS key hasn't been rotated in one year, KMS rotates it immediately, and every year thereafter. If it's been less than a year since the key material in the re-enabled KMS key was rotated, the KMS key resumes its prior rotation schedule.

  • Pending deletion: While a KMS key is pending deletion, its key rotation status is false and KMS does not rotate the key material. If you cancel the deletion, the original key rotation status returns to true.

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

Required permissions: kms:GetKeyRotationStatus (key policy)

Related operations:

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

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

Provides detailed information about the rotation status for a KMS key, including whether automatic rotation of the key material is enabled for the specified KMS key, the rotation period, and the next scheduled rotation date.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..

You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The key rotation status for Amazon Web Services managed KMS keys is always true.

You can perform on-demand (RotateKeyOnDemand) rotation of the key material in customer managed KMS keys, regardless of whether or not automatic key rotation is enabled. You can use GetKeyRotationStatus to identify the date and time that an in progress on-demand rotation was initiated. You can use ListKeyRotations to view the details of completed rotations.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

  • Disabled: The key rotation status does not change when you disable a KMS key. However, while the KMS key is disabled, KMS does not rotate the key material. When you re-enable the KMS key, rotation resumes. If the key material in the re-enabled KMS key hasn't been rotated in one year, KMS rotates it immediately, and every year thereafter. If it's been less than a year since the key material in the re-enabled KMS key was rotated, the KMS key resumes its prior rotation schedule.

  • Pending deletion: While a KMS key is pending deletion, its key rotation status is false and KMS does not rotate the key material. If you cancel the deletion, the original key rotation status returns to true.

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

Required permissions: kms:GetKeyRotationStatus (key policy)

Related operations:

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

\"\ },\ \"GetParametersForImport\":{\ \"name\":\"GetParametersForImport\",\ @@ -579,7 +580,7 @@ - (NSString *)definitionString { {\"shape\":\"KMSInternalException\"},\ {\"shape\":\"KMSInvalidStateException\"}\ ],\ - \"documentation\":\"

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or \\\"wrapping key\\\") of an RSA key pair that KMS generates.

    You will use this public key to encrypt (\\\"wrap\\\") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key (\\\"wrapping key\\\") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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

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

Required permissions: kms:GetParametersForImport (key policy)

Related operations:

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

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

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or \\\"wrapping key\\\") of an asymmetric key pair that KMS generates.

    You will use this public key to encrypt (\\\"wrap\\\") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key (\\\"wrapping key\\\") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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

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

Required permissions: kms:GetParametersForImport (key policy)

Related operations:

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

\"\ },\ \"GetPublicKey\":{\ \"name\":\"GetPublicKey\",\ @@ -678,6 +679,24 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

Gets the names of the key policies that are attached to a KMS key. This operation is designed to get policy names that you can use in a GetKeyPolicy operation. However, the only valid policy name is default.

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

Required permissions: kms:ListKeyPolicies (key policy)

Related operations:

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

\"\ },\ + \"ListKeyRotations\":{\ + \"name\":\"ListKeyRotations\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"ListKeyRotationsRequest\"},\ + \"output\":{\"shape\":\"ListKeyRotationsResponse\"},\ + \"errors\":[\ + {\"shape\":\"NotFoundException\"},\ + {\"shape\":\"InvalidArnException\"},\ + {\"shape\":\"InvalidMarkerException\"},\ + {\"shape\":\"KMSInternalException\"},\ + {\"shape\":\"KMSInvalidStateException\"},\ + {\"shape\":\"UnsupportedOperationException\"}\ + ],\ + \"documentation\":\"

Returns information about all completed key material rotations for the specified KMS key.

You must specify the KMS key in all requests. You can refine the key rotations list by limiting the number of rotations returned.

For detailed information about automatic and on-demand key rotations, see Rotating KMS keys in the Key Management Service Developer Guide.

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

Required permissions: kms:ListKeyRotations (key policy)

Related operations:

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

\"\ + },\ \"ListKeys\":{\ \"name\":\"ListKeys\",\ \"http\":{\ @@ -827,6 +846,27 @@ - (NSString *)definitionString { ],\ \"documentation\":\"

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

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

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

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

Required permissions: kms:RevokeGrant (key policy).

Related operations:

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

\"\ },\ + \"RotateKeyOnDemand\":{\ + \"name\":\"RotateKeyOnDemand\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"RotateKeyOnDemandRequest\"},\ + \"output\":{\"shape\":\"RotateKeyOnDemandResponse\"},\ + \"errors\":[\ + {\"shape\":\"NotFoundException\"},\ + {\"shape\":\"DisabledException\"},\ + {\"shape\":\"InvalidArnException\"},\ + {\"shape\":\"DependencyTimeoutException\"},\ + {\"shape\":\"KMSInternalException\"},\ + {\"shape\":\"KMSInvalidStateException\"},\ + {\"shape\":\"UnsupportedOperationException\"},\ + {\"shape\":\"LimitExceededException\"},\ + {\"shape\":\"ConflictException\"}\ + ],\ + \"documentation\":\"

Immediately initiates rotation of the key material of the specified symmetric encryption KMS key.

You can perform on-demand rotation of the key material in customer managed KMS keys, regardless of whether or not automatic key rotation is enabled. On-demand rotations do not change existing automatic rotation schedules. For example, consider a KMS key that has automatic key rotation enabled with a rotation period of 730 days. If the key is scheduled to automatically rotate on April 14, 2024, and you perform an on-demand rotation on April 10, 2024, the key will automatically rotate, as scheduled, on April 14, 2024 and every 730 days thereafter.

You can perform on-demand key rotation a maximum of 10 times per KMS key. You can use the KMS console to view the number of remaining on-demand rotations available for a KMS key.

You can use GetKeyRotationStatus to identify any in progress on-demand rotations. You can use ListKeyRotations to identify the date that completed on-demand rotations were performed. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch.

On-demand key rotation is supported only on symmetric encryption KMS keys. You cannot perform on-demand rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To perform on-demand rotation of a set of related multi-Region keys, invoke the on-demand rotation on the primary key.

You cannot initiate on-demand rotation of Amazon Web Services managed KMS keys. KMS always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS keys is managed by the Amazon Web Services service that owns the key.

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

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

Required permissions: kms:RotateKeyOnDemand (key policy)

Related operations:

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

\"\ + },\ \"ScheduleKeyDeletion\":{\ \"name\":\"ScheduleKeyDeletion\",\ \"http\":{\ @@ -1029,7 +1069,8 @@ - (NSString *)definitionString { \"RSAES_OAEP_SHA_1\",\ \"RSAES_OAEP_SHA_256\",\ \"RSA_AES_KEY_WRAP_SHA_1\",\ - \"RSA_AES_KEY_WRAP_SHA_256\"\ + \"RSA_AES_KEY_WRAP_SHA_256\",\ + \"SM2PKE\"\ ]\ },\ \"AliasList\":{\ @@ -1157,6 +1198,14 @@ - (NSString *)definitionString { \"documentation\":\"

The request was rejected because the specified CloudHSM cluster has a different cluster certificate than the original cluster. You cannot use the operation to specify an unrelated cluster for an CloudHSM key store.

Specify an CloudHSM cluster that shares a backup history with the original cluster. This includes clusters that were created from a backup of the current cluster, and clusters that were created from the same backup that produced the current cluster.

CloudHSM clusters that share a backup history have the same cluster certificate. To view the cluster certificate of an CloudHSM cluster, use the DescribeClusters operation.

\",\ \"exception\":true\ },\ + \"ConflictException\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"message\":{\"shape\":\"ErrorMessageType\"}\ + },\ + \"documentation\":\"

The request was rejected because an automatic rotation of this key is currently in progress or scheduled to begin within the next 20 minutes.

\",\ + \"exception\":true\ + },\ \"ConnectCustomKeyStoreRequest\":{\ \"type\":\"structure\",\ \"required\":[\"CustomKeyStoreId\"],\ @@ -1661,7 +1710,7 @@ - (NSString *)definitionString { },\ \"Truncated\":{\ \"shape\":\"BooleanType\",\ - \"documentation\":\"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

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

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

\"\ }\ }\ },\ @@ -1761,6 +1810,10 @@ - (NSString *)definitionString { \"KeyId\":{\ \"shape\":\"KeyIdType\",\ \"documentation\":\"

Identifies a symmetric encryption KMS key. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

Specify the key ID or key ARN of the KMS key.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

\"\ + },\ + \"RotationPeriodInDays\":{\ + \"shape\":\"RotationPeriodInDaysType\",\ + \"documentation\":\"

Use this parameter to specify a custom period of time between each rotation date. If no value is specified, the default value is 365 days.

The rotation period defines the number of days after you enable automatic key rotation that KMS will rotate your key material, and the number of days between each automatic rotation thereafter.

You can use the kms:RotationPeriodInDays condition key to further constrain the values that principals can specify in the RotationPeriodInDays parameter.

\"\ }\ }\ },\ @@ -2180,6 +2233,22 @@ - (NSString *)definitionString { \"KeyRotationEnabled\":{\ \"shape\":\"BooleanType\",\ \"documentation\":\"

A Boolean value that specifies whether key rotation is enabled.

\"\ + },\ + \"KeyId\":{\ + \"shape\":\"KeyIdType\",\ + \"documentation\":\"

Identifies the specified symmetric encryption KMS key.

\"\ + },\ + \"RotationPeriodInDays\":{\ + \"shape\":\"RotationPeriodInDaysType\",\ + \"documentation\":\"

The number of days between each automatic rotation. The default value is 365 days.

\"\ + },\ + \"NextRotationDate\":{\ + \"shape\":\"DateType\",\ + \"documentation\":\"

The next date that KMS will automatically rotate the key material.

\"\ + },\ + \"OnDemandRotationStartDate\":{\ + \"shape\":\"DateType\",\ + \"documentation\":\"

Identifies the date and time that an in progress on-demand rotation was initiated.

The KMS API follows an eventual consistency model due to the distributed nature of the system. As a result, there might be a slight delay between initiating on-demand key rotation and the rotation's completion. Once the on-demand rotation is complete, use ListKeyRotations to view the details of the on-demand rotation.

\"\ }\ }\ },\ @@ -2197,11 +2266,11 @@ - (NSString *)definitionString { },\ \"WrappingAlgorithm\":{\ \"shape\":\"AlgorithmSpec\",\ - \"documentation\":\"

The algorithm you will use with the RSA public key (PublicKey) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.

For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS.

The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm.

  • RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.

  • RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.

  • RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.

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

The algorithm you will use with the asymmetric public key (PublicKey) in the response to protect your key material during import. For more information, see Select a wrapping algorithm in the Key Management Service Developer Guide.

For RSA_AES wrapping algorithms, you encrypt your key material with an AES key that you generate, then encrypt your AES key with the RSA public key from KMS. For RSAES wrapping algorithms, you encrypt your key material directly with the RSA public key from KMS. For SM2PKE wrapping algorithms, you encrypt your key material directly with the SM2 public key from KMS.

The wrapping algorithms that you can use depend on the type of key material that you are importing. To import an RSA private key, you must use an RSA_AES wrapping algorithm, except in China Regions, where you must use the SM2PKE wrapping algorithm to import an RSA private key.

The SM2PKE wrapping algorithm is available only in China Regions. The RSA_AES_KEY_WRAP_SHA_256 and RSA_AES_KEY_WRAP_SHA_1 wrapping algorithms are not supported in China Regions.

  • RSA_AES_KEY_WRAP_SHA_256 — Supported for wrapping RSA and ECC key material.

  • RSA_AES_KEY_WRAP_SHA_1 — Supported for wrapping RSA and ECC key material.

  • RSAES_OAEP_SHA_256 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_256 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_OAEP_SHA_1 — Supported for all types of key material, except RSA key material (private key).

    You cannot use the RSAES_OAEP_SHA_1 wrapping algorithm with the RSA_2048 wrapping key spec to wrap ECC_NIST_P521 key material.

  • RSAES_PKCS1_V1_5 (Deprecated) — As of October 10, 2023, KMS does not support the RSAES_PKCS1_V1_5 wrapping algorithm.

  • SM2PKE (China Regions only) — supported for wrapping RSA, ECC, and SM2 key material.

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

The type of RSA public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.

Use the longest RSA wrapping key that is practical.

You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.

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

The type of public key to return in the response. You will use this wrapping key with the specified wrapping algorithm to protect your key material during import.

Use the longest wrapping key that is practical.

You cannot use an RSA_2048 public key to directly wrap an ECC_NIST_P521 private key. Instead, use an RSA_AES wrapping algorithm or choose a longer RSA public key.

The SM2 wrapping key spec is available only in China Regions.

\"\ }\ }\ },\ @@ -2774,7 +2843,7 @@ - (NSString *)definitionString { },\ \"Truncated\":{\ \"shape\":\"BooleanType\",\ - \"documentation\":\"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

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

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

\"\ }\ }\ },\ @@ -2817,7 +2886,7 @@ - (NSString *)definitionString { },\ \"Truncated\":{\ \"shape\":\"BooleanType\",\ - \"documentation\":\"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

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

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

\"\ }\ }\ },\ @@ -2852,7 +2921,42 @@ - (NSString *)definitionString { },\ \"Truncated\":{\ \"shape\":\"BooleanType\",\ - \"documentation\":\"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

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

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

\"\ + }\ + }\ + },\ + \"ListKeyRotationsRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"KeyId\"],\ + \"members\":{\ + \"KeyId\":{\ + \"shape\":\"KeyIdType\",\ + \"documentation\":\"

Gets the key rotations for the specified KMS key.

Specify the key ID or key ARN of the KMS key.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

\"\ + },\ + \"Limit\":{\ + \"shape\":\"LimitType\",\ + \"documentation\":\"

Use this parameter to specify the maximum number of items to return. When this value is present, KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

\"\ + },\ + \"Marker\":{\ + \"shape\":\"MarkerType\",\ + \"documentation\":\"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

\"\ + }\ + }\ + },\ + \"ListKeyRotationsResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Rotations\":{\ + \"shape\":\"RotationsList\",\ + \"documentation\":\"

A list of completed key material rotations.

\"\ + },\ + \"NextMarker\":{\ + \"shape\":\"MarkerType\",\ + \"documentation\":\"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

\"\ + },\ + \"Truncated\":{\ + \"shape\":\"BooleanType\",\ + \"documentation\":\"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

\"\ }\ }\ },\ @@ -2882,7 +2986,7 @@ - (NSString *)definitionString { },\ \"Truncated\":{\ \"shape\":\"BooleanType\",\ - \"documentation\":\"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

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

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

\"\ }\ }\ },\ @@ -2917,7 +3021,7 @@ - (NSString *)definitionString { },\ \"Truncated\":{\ \"shape\":\"BooleanType\",\ - \"documentation\":\"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

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

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in this response to the Marker parameter in a subsequent request.

\"\ }\ }\ },\ @@ -3284,6 +3388,59 @@ - (NSString *)definitionString { }\ }\ },\ + \"RotateKeyOnDemandRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"KeyId\"],\ + \"members\":{\ + \"KeyId\":{\ + \"shape\":\"KeyIdType\",\ + \"documentation\":\"

Identifies a symmetric encryption KMS key. You cannot perform on-demand rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To perform on-demand rotation of a set of related multi-Region keys, invoke the on-demand rotation on the primary key.

Specify the key ID or key ARN of the KMS key.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a KMS key, use ListKeys or DescribeKey.

\"\ + }\ + }\ + },\ + \"RotateKeyOnDemandResponse\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"KeyId\":{\ + \"shape\":\"KeyIdType\",\ + \"documentation\":\"

Identifies the symmetric encryption KMS key that you initiated on-demand rotation on.

\"\ + }\ + }\ + },\ + \"RotationPeriodInDaysType\":{\ + \"type\":\"integer\",\ + \"max\":2560,\ + \"min\":90\ + },\ + \"RotationType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"AUTOMATIC\",\ + \"ON_DEMAND\"\ + ]\ + },\ + \"RotationsList\":{\ + \"type\":\"list\",\ + \"member\":{\"shape\":\"RotationsListEntry\"}\ + },\ + \"RotationsListEntry\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"KeyId\":{\ + \"shape\":\"KeyIdType\",\ + \"documentation\":\"

Unique identifier of the key.

\"\ + },\ + \"RotationDate\":{\ + \"shape\":\"DateType\",\ + \"documentation\":\"

Date and time that the key material rotation completed. Formatted as Unix time.

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

Identifies whether the key material rotation was a scheduled automatic rotation or an on-demand rotation.

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

Contains information about completed key material rotations.

\"\ + },\ \"ScheduleKeyDeletionRequest\":{\ \"type\":\"structure\",\ \"required\":[\"KeyId\"],\ @@ -3691,7 +3848,8 @@ - (NSString *)definitionString { \"enum\":[\ \"RSA_2048\",\ \"RSA_3072\",\ - \"RSA_4096\"\ + \"RSA_4096\",\ + \"SM2\"\ ]\ },\ \"XksKeyAlreadyInUseException\":{\ diff --git a/AWSKMS/AWSKMSService.h b/AWSKMS/AWSKMSService.h index d5f73bb1271..5cea6a0d38b 100644 --- a/AWSKMS/AWSKMSService.h +++ b/AWSKMS/AWSKMSService.h @@ -488,7 +488,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (void)disableKey:(AWSKMSDisableKeyRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; /** -

Disables automatic rotation of the key material of the specified symmetric encryption KMS key.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You can enable (EnableKeyRotation) and disable automatic rotation of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material for every year. Rotation of Amazon Web Services owned KMS keys varies.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

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

Required permissions: kms:DisableKeyRotation (key policy)

Related operations:

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

+

Disables automatic rotation of the key material of the specified symmetric encryption KMS key.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You can enable (EnableKeyRotation) and disable automatic rotation of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material for every year. Rotation of Amazon Web Services owned KMS keys varies.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

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

Required permissions: kms:DisableKeyRotation (key policy)

Related operations:

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

@param request A container for the necessary parameters to execute the DisableKeyRotation service method. @@ -499,7 +499,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (AWSTask *)disableKeyRotation:(AWSKMSDisableKeyRotationRequest *)request; /** -

Disables automatic rotation of the key material of the specified symmetric encryption KMS key.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You can enable (EnableKeyRotation) and disable automatic rotation of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material for every year. Rotation of Amazon Web Services owned KMS keys varies.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

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

Required permissions: kms:DisableKeyRotation (key policy)

Related operations:

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

+

Disables automatic rotation of the key material of the specified symmetric encryption KMS key.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You can enable (EnableKeyRotation) and disable automatic rotation of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material for every year. Rotation of Amazon Web Services owned KMS keys varies.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

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

Required permissions: kms:DisableKeyRotation (key policy)

Related operations:

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

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

Enables automatic rotation of the key material of the specified symmetric encryption KMS key.

When you enable automatic rotation of a customer managed KMS key, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer managed KMS key, use the DisableKeyRotation operation.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You cannot enable or disable automatic rotation Amazon Web Services managed KMS keys. KMS always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS keys varies.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years (approximately 1,095 days) to every year (approximately 365 days).

New Amazon Web Services managed keys are automatically rotated one year after they are created, and approximately every year thereafter.

Existing Amazon Web Services managed keys are automatically rotated one year after their most recent rotation, and every year thereafter.

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

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

Required permissions: kms:EnableKeyRotation (key policy)

Related operations:

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

+

Enables automatic rotation of the key material of the specified symmetric encryption KMS key.

By default, when you enable automatic rotation of a customer managed KMS key, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can use the optional RotationPeriodInDays parameter to specify a custom rotation period when you enable key rotation, or you can use RotationPeriodInDays to modify the rotation period of a key that you previously enabled automatic key rotation on.

You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer managed KMS key, use the DisableKeyRotation operation. You can use the GetKeyRotationStatus operation to identify any in progress rotations. You can use the ListKeyRotations operation to view the details of completed rotations.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You cannot enable or disable automatic rotation of Amazon Web Services managed KMS keys. KMS always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS keys is managed by the Amazon Web Services service that owns the key.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years (approximately 1,095 days) to every year (approximately 365 days).

New Amazon Web Services managed keys are automatically rotated one year after they are created, and approximately every year thereafter.

Existing Amazon Web Services managed keys are automatically rotated one year after their most recent rotation, and every year thereafter.

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

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

Required permissions: kms:EnableKeyRotation (key policy)

Related operations:

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

@param request A container for the necessary parameters to execute the EnableKeyRotation service method. @@ -568,7 +568,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (AWSTask *)enableKeyRotation:(AWSKMSEnableKeyRotationRequest *)request; /** -

Enables automatic rotation of the key material of the specified symmetric encryption KMS key.

When you enable automatic rotation of a customer managed KMS key, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer managed KMS key, use the DisableKeyRotation operation.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You cannot enable or disable automatic rotation Amazon Web Services managed KMS keys. KMS always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS keys varies.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years (approximately 1,095 days) to every year (approximately 365 days).

New Amazon Web Services managed keys are automatically rotated one year after they are created, and approximately every year thereafter.

Existing Amazon Web Services managed keys are automatically rotated one year after their most recent rotation, and every year thereafter.

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

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

Required permissions: kms:EnableKeyRotation (key policy)

Related operations:

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

+

Enables automatic rotation of the key material of the specified symmetric encryption KMS key.

By default, when you enable automatic rotation of a customer managed KMS key, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can use the optional RotationPeriodInDays parameter to specify a custom rotation period when you enable key rotation, or you can use RotationPeriodInDays to modify the rotation period of a key that you previously enabled automatic key rotation on.

You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch. To disable rotation of the key material in a customer managed KMS key, use the DisableKeyRotation operation. You can use the GetKeyRotationStatus operation to identify any in progress rotations. You can use the ListKeyRotations operation to view the details of completed rotations.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key.

You cannot enable or disable automatic rotation of Amazon Web Services managed KMS keys. KMS always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS keys is managed by the Amazon Web Services service that owns the key.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years (approximately 1,095 days) to every year (approximately 365 days).

New Amazon Web Services managed keys are automatically rotated one year after they are created, and approximately every year thereafter.

Existing Amazon Web Services managed keys are automatically rotated one year after their most recent rotation, and every year thereafter.

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

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

Required permissions: kms:EnableKeyRotation (key policy)

Related operations:

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

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

Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified KMS key.

When you enable automatic rotation for customer managed KMS keys, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..

You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The key rotation status for Amazon Web Services managed KMS keys is always true.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

  • Disabled: The key rotation status does not change when you disable a KMS key. However, while the KMS key is disabled, KMS does not rotate the key material. When you re-enable the KMS key, rotation resumes. If the key material in the re-enabled KMS key hasn't been rotated in one year, KMS rotates it immediately, and every year thereafter. If it's been less than a year since the key material in the re-enabled KMS key was rotated, the KMS key resumes its prior rotation schedule.

  • Pending deletion: While a KMS key is pending deletion, its key rotation status is false and KMS does not rotate the key material. If you cancel the deletion, the original key rotation status returns to true.

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

Required permissions: kms:GetKeyRotationStatus (key policy)

Related operations:

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

+

Provides detailed information about the rotation status for a KMS key, including whether automatic rotation of the key material is enabled for the specified KMS key, the rotation period, and the next scheduled rotation date.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..

You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The key rotation status for Amazon Web Services managed KMS keys is always true.

You can perform on-demand (RotateKeyOnDemand) rotation of the key material in customer managed KMS keys, regardless of whether or not automatic key rotation is enabled. You can use GetKeyRotationStatus to identify the date and time that an in progress on-demand rotation was initiated. You can use ListKeyRotations to view the details of completed rotations.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

  • Disabled: The key rotation status does not change when you disable a KMS key. However, while the KMS key is disabled, KMS does not rotate the key material. When you re-enable the KMS key, rotation resumes. If the key material in the re-enabled KMS key hasn't been rotated in one year, KMS rotates it immediately, and every year thereafter. If it's been less than a year since the key material in the re-enabled KMS key was rotated, the KMS key resumes its prior rotation schedule.

  • Pending deletion: While a KMS key is pending deletion, its key rotation status is false and KMS does not rotate the key material. If you cancel the deletion, the original key rotation status returns to true.

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

Required permissions: kms:GetKeyRotationStatus (key policy)

Related operations:

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

@param request A container for the necessary parameters to execute the GetKeyRotationStatus service method. @@ -791,7 +791,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (AWSTask *)getKeyRotationStatus:(AWSKMSGetKeyRotationStatusRequest *)request; /** -

Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified KMS key.

When you enable automatic rotation for customer managed KMS keys, KMS rotates the key material of the KMS key one year (approximately 365 days) from the enable date and every year thereafter. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..

You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The key rotation status for Amazon Web Services managed KMS keys is always true.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

  • Disabled: The key rotation status does not change when you disable a KMS key. However, while the KMS key is disabled, KMS does not rotate the key material. When you re-enable the KMS key, rotation resumes. If the key material in the re-enabled KMS key hasn't been rotated in one year, KMS rotates it immediately, and every year thereafter. If it's been less than a year since the key material in the re-enabled KMS key was rotated, the KMS key resumes its prior rotation schedule.

  • Pending deletion: While a KMS key is pending deletion, its key rotation status is false and KMS does not rotate the key material. If you cancel the deletion, the original key rotation status returns to true.

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

Required permissions: kms:GetKeyRotationStatus (key policy)

Related operations:

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

+

Provides detailed information about the rotation status for a KMS key, including whether automatic rotation of the key material is enabled for the specified KMS key, the rotation period, and the next scheduled rotation date.

Automatic key rotation is supported only on symmetric encryption KMS keys. You cannot enable automatic rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To enable or disable automatic rotation of a set of related multi-Region keys, set the property on the primary key..

You can enable (EnableKeyRotation) and disable automatic rotation (DisableKeyRotation) of the key material in customer managed KMS keys. Key material rotation of Amazon Web Services managed KMS keys is not configurable. KMS always rotates the key material in Amazon Web Services managed KMS keys every year. The key rotation status for Amazon Web Services managed KMS keys is always true.

You can perform on-demand (RotateKeyOnDemand) rotation of the key material in customer managed KMS keys, regardless of whether or not automatic key rotation is enabled. You can use GetKeyRotationStatus to identify the date and time that an in progress on-demand rotation was initiated. You can use ListKeyRotations to view the details of completed rotations.

In May 2022, KMS changed the rotation schedule for Amazon Web Services managed keys from every three years to every year. For details, see EnableKeyRotation.

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

  • Disabled: The key rotation status does not change when you disable a KMS key. However, while the KMS key is disabled, KMS does not rotate the key material. When you re-enable the KMS key, rotation resumes. If the key material in the re-enabled KMS key hasn't been rotated in one year, KMS rotates it immediately, and every year thereafter. If it's been less than a year since the key material in the re-enabled KMS key was rotated, the KMS key resumes its prior rotation schedule.

  • Pending deletion: While a KMS key is pending deletion, its key rotation status is false and KMS does not rotate the key material. If you cancel the deletion, the original key rotation status returns to true.

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

Required permissions: kms:GetKeyRotationStatus (key policy)

Related operations:

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

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

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or "wrapping key") of an RSA key pair that KMS generates.

    You will use this public key to encrypt ("wrap") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key ("wrapping key") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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

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

Required permissions: kms:GetParametersForImport (key policy)

Related operations:

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

+

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or "wrapping key") of an asymmetric key pair that KMS generates.

    You will use this public key to encrypt ("wrap") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key ("wrapping key") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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

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

Required permissions: kms:GetParametersForImport (key policy)

Related operations:

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

@param request A container for the necessary parameters to execute the GetParametersForImport service method. @@ -816,7 +816,7 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; - (AWSTask *)getParametersForImport:(AWSKMSGetParametersForImportRequest *)request; /** -

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or "wrapping key") of an RSA key pair that KMS generates.

    You will use this public key to encrypt ("wrap") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key ("wrapping key") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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

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

Required permissions: kms:GetParametersForImport (key policy)

Related operations:

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

+

Returns the public key and an import token you need to import or reimport key material for a KMS key.

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

Before calling GetParametersForImport, use the CreateKey operation with an Origin value of EXTERNAL to create a KMS key with no key material. You can import key material for a symmetric encryption KMS key, HMAC KMS key, asymmetric encryption KMS key, or asymmetric signing KMS key. You can also import key material into a multi-Region key of any supported type. However, you can't import key material into a KMS key in a custom key store. You can also use GetParametersForImport to get a public key and import token to reimport the original key material into a KMS key whose key material expired or was deleted.

GetParametersForImport returns the items that you need to import your key material.

  • The public key (or "wrapping key") of an asymmetric key pair that KMS generates.

    You will use this public key to encrypt ("wrap") your key material while it's in transit to KMS.

  • A import token that ensures that KMS can decrypt your key material and associate it with the correct KMS key.

The public key and its import token are permanently linked and must be used together. Each public key and import token set is valid for 24 hours. The expiration date and time appear in the ParametersValidTo field in the GetParametersForImport response. You cannot use an expired public key or import token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

GetParametersForImport requires the following information:

  • The key ID of the KMS key for which you are importing the key material.

  • The key spec of the public key ("wrapping key") that you will use to encrypt your key material during import.

  • The wrapping algorithm that you will use with the public key to encrypt your key material.

You can use the same or a different public key spec and wrapping algorithm each time you import or reimport the same key material.

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

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

Required permissions: kms:GetParametersForImport (key policy)

Related operations:

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

@param request A container for the necessary parameters to execute the GetParametersForImport service method. @param completionHandler The completion handler to call when the load request is complete. @@ -953,6 +953,31 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; */ - (void)listKeyPolicies:(AWSKMSListKeyPoliciesRequest *)request completionHandler:(void (^ _Nullable)(AWSKMSListKeyPoliciesResponse * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Returns information about all completed key material rotations for the specified KMS key.

You must specify the KMS key in all requests. You can refine the key rotations list by limiting the number of rotations returned.

For detailed information about automatic and on-demand key rotations, see Rotating KMS keys in the Key Management Service Developer Guide.

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

Required permissions: kms:ListKeyRotations (key policy)

Related operations:

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

+ + @param request A container for the necessary parameters to execute the ListKeyRotations service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSKMSListKeyRotationsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSKMSErrorDomain` domain and the following error code: `AWSKMSErrorNotFound`, `AWSKMSErrorInvalidArn`, `AWSKMSErrorInvalidMarker`, `AWSKMSErrorKMSInternal`, `AWSKMSErrorKMSInvalidState`, `AWSKMSErrorUnsupportedOperation`. + + @see AWSKMSListKeyRotationsRequest + @see AWSKMSListKeyRotationsResponse + */ +- (AWSTask *)listKeyRotations:(AWSKMSListKeyRotationsRequest *)request; + +/** +

Returns information about all completed key material rotations for the specified KMS key.

You must specify the KMS key in all requests. You can refine the key rotations list by limiting the number of rotations returned.

For detailed information about automatic and on-demand key rotations, see Rotating KMS keys in the Key Management Service Developer Guide.

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

Required permissions: kms:ListKeyRotations (key policy)

Related operations:

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

+ + @param request A container for the necessary parameters to execute the ListKeyRotations service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSKMSErrorDomain` domain and the following error code: `AWSKMSErrorNotFound`, `AWSKMSErrorInvalidArn`, `AWSKMSErrorInvalidMarker`, `AWSKMSErrorKMSInternal`, `AWSKMSErrorKMSInvalidState`, `AWSKMSErrorUnsupportedOperation`. + + @see AWSKMSListKeyRotationsRequest + @see AWSKMSListKeyRotationsResponse + */ +- (void)listKeyRotations:(AWSKMSListKeyRotationsRequest *)request completionHandler:(void (^ _Nullable)(AWSKMSListKeyRotationsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Gets a list of all KMS keys in the caller's Amazon Web Services account and Region.

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

Required permissions: kms:ListKeys (IAM policy)

Related operations:

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

@@ -1144,6 +1169,31 @@ FOUNDATION_EXPORT NSString *const AWSKMSSDKVersion; */ - (void)revokeGrant:(AWSKMSRevokeGrantRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; +/** +

Immediately initiates rotation of the key material of the specified symmetric encryption KMS key.

You can perform on-demand rotation of the key material in customer managed KMS keys, regardless of whether or not automatic key rotation is enabled. On-demand rotations do not change existing automatic rotation schedules. For example, consider a KMS key that has automatic key rotation enabled with a rotation period of 730 days. If the key is scheduled to automatically rotate on April 14, 2024, and you perform an on-demand rotation on April 10, 2024, the key will automatically rotate, as scheduled, on April 14, 2024 and every 730 days thereafter.

You can perform on-demand key rotation a maximum of 10 times per KMS key. You can use the KMS console to view the number of remaining on-demand rotations available for a KMS key.

You can use GetKeyRotationStatus to identify any in progress on-demand rotations. You can use ListKeyRotations to identify the date that completed on-demand rotations were performed. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch.

On-demand key rotation is supported only on symmetric encryption KMS keys. You cannot perform on-demand rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To perform on-demand rotation of a set of related multi-Region keys, invoke the on-demand rotation on the primary key.

You cannot initiate on-demand rotation of Amazon Web Services managed KMS keys. KMS always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS keys is managed by the Amazon Web Services service that owns the key.

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

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

Required permissions: kms:RotateKeyOnDemand (key policy)

Related operations:

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

+ + @param request A container for the necessary parameters to execute the RotateKeyOnDemand service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSKMSRotateKeyOnDemandResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSKMSErrorDomain` domain and the following error code: `AWSKMSErrorNotFound`, `AWSKMSErrorDisabled`, `AWSKMSErrorInvalidArn`, `AWSKMSErrorDependencyTimeout`, `AWSKMSErrorKMSInternal`, `AWSKMSErrorKMSInvalidState`, `AWSKMSErrorUnsupportedOperation`, `AWSKMSErrorLimitExceeded`, `AWSKMSErrorConflict`. + + @see AWSKMSRotateKeyOnDemandRequest + @see AWSKMSRotateKeyOnDemandResponse + */ +- (AWSTask *)rotateKeyOnDemand:(AWSKMSRotateKeyOnDemandRequest *)request; + +/** +

Immediately initiates rotation of the key material of the specified symmetric encryption KMS key.

You can perform on-demand rotation of the key material in customer managed KMS keys, regardless of whether or not automatic key rotation is enabled. On-demand rotations do not change existing automatic rotation schedules. For example, consider a KMS key that has automatic key rotation enabled with a rotation period of 730 days. If the key is scheduled to automatically rotate on April 14, 2024, and you perform an on-demand rotation on April 10, 2024, the key will automatically rotate, as scheduled, on April 14, 2024 and every 730 days thereafter.

You can perform on-demand key rotation a maximum of 10 times per KMS key. You can use the KMS console to view the number of remaining on-demand rotations available for a KMS key.

You can use GetKeyRotationStatus to identify any in progress on-demand rotations. You can use ListKeyRotations to identify the date that completed on-demand rotations were performed. You can monitor rotation of the key material for your KMS keys in CloudTrail and Amazon CloudWatch.

On-demand key rotation is supported only on symmetric encryption KMS keys. You cannot perform on-demand rotation of asymmetric KMS keys, HMAC KMS keys, KMS keys with imported key material, or KMS keys in a custom key store. To perform on-demand rotation of a set of related multi-Region keys, invoke the on-demand rotation on the primary key.

You cannot initiate on-demand rotation of Amazon Web Services managed KMS keys. KMS always rotates the key material of Amazon Web Services managed keys every year. Rotation of Amazon Web Services owned KMS keys is managed by the Amazon Web Services service that owns the key.

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

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

Required permissions: kms:RotateKeyOnDemand (key policy)

Related operations:

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

+ + @param request A container for the necessary parameters to execute the RotateKeyOnDemand service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSKMSErrorDomain` domain and the following error code: `AWSKMSErrorNotFound`, `AWSKMSErrorDisabled`, `AWSKMSErrorInvalidArn`, `AWSKMSErrorDependencyTimeout`, `AWSKMSErrorKMSInternal`, `AWSKMSErrorKMSInvalidState`, `AWSKMSErrorUnsupportedOperation`, `AWSKMSErrorLimitExceeded`, `AWSKMSErrorConflict`. + + @see AWSKMSRotateKeyOnDemandRequest + @see AWSKMSRotateKeyOnDemandResponse + */ +- (void)rotateKeyOnDemand:(AWSKMSRotateKeyOnDemandRequest *)request completionHandler:(void (^ _Nullable)(AWSKMSRotateKeyOnDemandResponse * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Schedules the deletion of a KMS key. By default, KMS applies a waiting period of 30 days, but you can specify a waiting period of 7-30 days. When this operation is successful, the key state of the KMS key changes to PendingDeletion and the key can't be used in any cryptographic operations. It remains in this state for the duration of the waiting period. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the KMS key. After the waiting period ends, KMS deletes the KMS key, its key material, and all KMS data associated with it, including all aliases that refer to it.

Deleting a KMS key is a destructive and potentially dangerous operation. When a KMS key is deleted, all data that was encrypted under the KMS key is unrecoverable. (The only exception is a multi-Region replica key, or an asymmetric or HMAC KMS key with imported key material.) To prevent the use of a KMS key without deleting it, use DisableKey.

You can schedule the deletion of a multi-Region primary key and its replica keys at any time. However, KMS will not delete a multi-Region primary key with existing replica keys. If you schedule the deletion of a primary key with replicas, its key state changes to PendingReplicaDeletion and it cannot be replicated or used in cryptographic operations. This status can continue indefinitely. When the last of its replicas keys is deleted (not just scheduled), the key state of the primary key changes to PendingDeletion and its waiting period (PendingWindowInDays) begins. For details, see Deleting multi-Region keys in the Key Management Service Developer Guide.

When KMS deletes a KMS key from an CloudHSM key store, it makes a best effort to delete the associated key material from the associated CloudHSM cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups. Deleting a KMS key from an external key store has no effect on the associated external key. However, for both types of custom key stores, deleting a KMS key is destructive and irreversible. You cannot decrypt ciphertext encrypted under the KMS key by using only its associated external key or CloudHSM key. Also, you cannot recreate a KMS key in an external key store by creating a new KMS key with the same key material.

For more information about scheduling a KMS key for deletion, see Deleting KMS keys in the Key Management Service Developer Guide.

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

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

Required permissions: kms:ScheduleKeyDeletion (key policy)

Related operations

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

diff --git a/AWSKMS/AWSKMSService.m b/AWSKMS/AWSKMSService.m index 6749709203b..d7b3ac9ba01 100644 --- a/AWSKMS/AWSKMSService.m +++ b/AWSKMS/AWSKMSService.m @@ -45,6 +45,7 @@ + (void)initialize { @"CloudHsmClusterNotActiveException" : @(AWSKMSErrorCloudHsmClusterNotActive), @"CloudHsmClusterNotFoundException" : @(AWSKMSErrorCloudHsmClusterNotFound), @"CloudHsmClusterNotRelatedException" : @(AWSKMSErrorCloudHsmClusterNotRelated), + @"ConflictException" : @(AWSKMSErrorConflict), @"CustomKeyStoreHasCMKsException" : @(AWSKMSErrorCustomKeyStoreHasCMKs), @"CustomKeyStoreInvalidStateException" : @(AWSKMSErrorCustomKeyStoreInvalidState), @"CustomKeyStoreNameInUseException" : @(AWSKMSErrorCustomKeyStoreNameInUse), @@ -1049,6 +1050,29 @@ - (void)listKeyPolicies:(AWSKMSListKeyPoliciesRequest *)request }]; } +- (AWSTask *)listKeyRotations:(AWSKMSListKeyRotationsRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"TrentService" + operationName:@"ListKeyRotations" + outputClass:[AWSKMSListKeyRotationsResponse class]]; +} + +- (void)listKeyRotations:(AWSKMSListKeyRotationsRequest *)request + completionHandler:(void (^)(AWSKMSListKeyRotationsResponse *response, NSError *error))completionHandler { + [[self listKeyRotations:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSKMSListKeyRotationsResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)listKeys:(AWSKMSListKeysRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -1230,6 +1254,29 @@ - (void)revokeGrant:(AWSKMSRevokeGrantRequest *)request }]; } +- (AWSTask *)rotateKeyOnDemand:(AWSKMSRotateKeyOnDemandRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"TrentService" + operationName:@"RotateKeyOnDemand" + outputClass:[AWSKMSRotateKeyOnDemandResponse class]]; +} + +- (void)rotateKeyOnDemand:(AWSKMSRotateKeyOnDemandRequest *)request + completionHandler:(void (^)(AWSKMSRotateKeyOnDemandResponse *response, NSError *error))completionHandler { + [[self rotateKeyOnDemand:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSKMSRotateKeyOnDemandResponse *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)scheduleKeyDeletion:(AWSKMSScheduleKeyDeletionRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSKMSUnitTests/AWSGeneralKMSTests.m b/AWSKMSUnitTests/AWSGeneralKMSTests.m index d5586733128..544e1281e68 100644 --- a/AWSKMSUnitTests/AWSGeneralKMSTests.m +++ b/AWSKMSUnitTests/AWSGeneralKMSTests.m @@ -1586,6 +1586,54 @@ - (void)testListKeyPoliciesCompletionHandler { [AWSKMS removeKMSForKey:key]; } +- (void)testListKeyRotations { + NSString *key = @"testListKeyRotations"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSKMS registerKMSWithConfiguration:configuration forKey:key]; + + AWSKMS *awsClient = [AWSKMS KMSForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSKMS KMSForKey:key] listKeyRotations:[AWSKMSListKeyRotationsRequest new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSKMS removeKMSForKey:key]; +} + +- (void)testListKeyRotationsCompletionHandler { + NSString *key = @"testListKeyRotations"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSKMS registerKMSWithConfiguration:configuration forKey:key]; + + AWSKMS *awsClient = [AWSKMS KMSForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSKMS KMSForKey:key] listKeyRotations:[AWSKMSListKeyRotationsRequest new] completionHandler:^(AWSKMSListKeyRotationsResponse* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSKMS removeKMSForKey:key]; +} + - (void)testListKeys { NSString *key = @"testListKeys"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -1967,6 +2015,54 @@ - (void)testRevokeGrantCompletionHandler { [AWSKMS removeKMSForKey:key]; } +- (void)testRotateKeyOnDemand { + NSString *key = @"testRotateKeyOnDemand"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSKMS registerKMSWithConfiguration:configuration forKey:key]; + + AWSKMS *awsClient = [AWSKMS KMSForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + [[[[AWSKMS KMSForKey:key] rotateKeyOnDemand:[AWSKMSRotateKeyOnDemandRequest new]] continueWithBlock:^id(AWSTask *task) { + XCTAssertNotNil(task.error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", task.error.domain); + XCTAssertEqual(8848, task.error.code); + XCTAssertNil(task.result); + return nil; + }] waitUntilFinished]; + + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSKMS removeKMSForKey:key]; +} + +- (void)testRotateKeyOnDemandCompletionHandler { + NSString *key = @"testRotateKeyOnDemand"; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; + [AWSKMS registerKMSWithConfiguration:configuration forKey:key]; + + AWSKMS *awsClient = [AWSKMS KMSForKey:key]; + XCTAssertNotNil(awsClient); + XCTAssertNotNil(mockNetworking); + [awsClient setValue:mockNetworking forKey:@"networking"]; + + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + + [[AWSKMS KMSForKey:key] rotateKeyOnDemand:[AWSKMSRotateKeyOnDemandRequest new] completionHandler:^(AWSKMSRotateKeyOnDemandResponse* _Nullable response, NSError * _Nullable error) { + XCTAssertNotNil(error); + XCTAssertEqualObjects(@"OCMockExpectedNetworkingError", error.domain); + XCTAssertEqual(8848, error.code); + XCTAssertNil(response); + dispatch_semaphore_signal(semaphore); + }]; + + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, (int)(2.0 * NSEC_PER_SEC))); + OCMVerify([mockNetworking sendRequest:[OCMArg isNotNil]]); + + [AWSKMS removeKMSForKey:key]; +} + - (void)testScheduleKeyDeletion { NSString *key = @"testScheduleKeyDeletion"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; diff --git a/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m b/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m index 6c7eb0db16e..e2c930bd4db 100644 --- a/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m +++ b/AWSKMSUnitTests/AWSKMSNSSecureCodingTests.m @@ -82,6 +82,8 @@ - (void) test_AWSKMSListGrantsRequest API_AVAILABLE(ios(11)); - (void) test_AWSKMSListGrantsResponse API_AVAILABLE(ios(11)); - (void) test_AWSKMSListKeyPoliciesRequest API_AVAILABLE(ios(11)); - (void) test_AWSKMSListKeyPoliciesResponse API_AVAILABLE(ios(11)); +- (void) test_AWSKMSListKeyRotationsRequest API_AVAILABLE(ios(11)); +- (void) test_AWSKMSListKeyRotationsResponse API_AVAILABLE(ios(11)); - (void) test_AWSKMSListKeysRequest API_AVAILABLE(ios(11)); - (void) test_AWSKMSListKeysResponse API_AVAILABLE(ios(11)); - (void) test_AWSKMSListResourceTagsRequest API_AVAILABLE(ios(11)); @@ -97,6 +99,9 @@ - (void) test_AWSKMSReplicateKeyRequest API_AVAILABLE(ios(11)); - (void) test_AWSKMSReplicateKeyResponse API_AVAILABLE(ios(11)); - (void) test_AWSKMSRetireGrantRequest API_AVAILABLE(ios(11)); - (void) test_AWSKMSRevokeGrantRequest API_AVAILABLE(ios(11)); +- (void) test_AWSKMSRotateKeyOnDemandRequest API_AVAILABLE(ios(11)); +- (void) test_AWSKMSRotateKeyOnDemandResponse API_AVAILABLE(ios(11)); +- (void) test_AWSKMSRotationsListEntry API_AVAILABLE(ios(11)); - (void) test_AWSKMSScheduleKeyDeletionRequest API_AVAILABLE(ios(11)); - (void) test_AWSKMSScheduleKeyDeletionResponse API_AVAILABLE(ios(11)); - (void) test_AWSKMSSignRequest API_AVAILABLE(ios(11)); @@ -373,6 +378,14 @@ - (void) test_AWSKMSListKeyPoliciesResponse { [self validateSecureCodingForClass:[AWSKMSListKeyPoliciesResponse class]]; } +- (void) test_AWSKMSListKeyRotationsRequest { + [self validateSecureCodingForClass:[AWSKMSListKeyRotationsRequest class]]; +} + +- (void) test_AWSKMSListKeyRotationsResponse { + [self validateSecureCodingForClass:[AWSKMSListKeyRotationsResponse class]]; +} + - (void) test_AWSKMSListKeysRequest { [self validateSecureCodingForClass:[AWSKMSListKeysRequest class]]; } @@ -433,6 +446,18 @@ - (void) test_AWSKMSRevokeGrantRequest { [self validateSecureCodingForClass:[AWSKMSRevokeGrantRequest class]]; } +- (void) test_AWSKMSRotateKeyOnDemandRequest { + [self validateSecureCodingForClass:[AWSKMSRotateKeyOnDemandRequest class]]; +} + +- (void) test_AWSKMSRotateKeyOnDemandResponse { + [self validateSecureCodingForClass:[AWSKMSRotateKeyOnDemandResponse class]]; +} + +- (void) test_AWSKMSRotationsListEntry { + [self validateSecureCodingForClass:[AWSKMSRotationsListEntry class]]; +} + - (void) test_AWSKMSScheduleKeyDeletionRequest { [self validateSecureCodingForClass:[AWSKMSScheduleKeyDeletionRequest class]]; } From cecfdf92f8d3cc384da473c35547c56f0dd60faa Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:35:37 -0700 Subject: [PATCH 07/14] feat(AWSDynamoDB): update models to latest (#5353) --- AWSDynamoDB/AWSDynamoDBModel.h | 156 +++++++++++++++--- AWSDynamoDB/AWSDynamoDBModel.m | 114 +++++++++++++ AWSDynamoDB/AWSDynamoDBResources.m | 147 +++++++++++++---- AWSDynamoDB/AWSDynamoDBService.h | 56 +++---- .../AWSDynamoDBNSSecureCodingTests.m | 10 ++ 5 files changed, 400 insertions(+), 83 deletions(-) diff --git a/AWSDynamoDB/AWSDynamoDBModel.h b/AWSDynamoDB/AWSDynamoDBModel.h index 05ec042a677..08719241127 100644 --- a/AWSDynamoDB/AWSDynamoDBModel.h +++ b/AWSDynamoDB/AWSDynamoDBModel.h @@ -492,6 +492,8 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @class AWSDynamoDBLocalSecondaryIndex; @class AWSDynamoDBLocalSecondaryIndexDescription; @class AWSDynamoDBLocalSecondaryIndexInfo; +@class AWSDynamoDBOnDemandThroughput; +@class AWSDynamoDBOnDemandThroughputOverride; @class AWSDynamoDBParameterizedStatement; @class AWSDynamoDBPointInTimeRecoveryDescription; @class AWSDynamoDBPointInTimeRecoverySpecification; @@ -1300,7 +1302,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @end /** -

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

+

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned capacity mode in the Amazon DynamoDB Developer Guide.

*/ @interface AWSDynamoDBConsumedCapacity : AWSModel @@ -1432,6 +1434,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable keySchema; +/** +

The maximum number of read and write units for the global secondary index being created. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

*/ @@ -1506,6 +1513,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSString * _Nullable KMSMasterKeyId; +/** +

The maximum on-demand throughput settings for the specified replica table being created. You can only modify MaxReadRequestUnits, because you can't modify MaxWriteRequestUnits for individual replica tables.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughputOverride * _Nullable onDemandThroughputOverride; + /**

Replica-specific provisioned throughput. If not specified, uses the source table's provisioned throughput settings.

*/ @@ -1536,7 +1548,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSArray * _Nullable attributeDefinitions; /** -

Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

+

Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned capacity mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-demand capacity mode.

*/ @property (nonatomic, assign) AWSDynamoDBBillingMode billingMode; @@ -1560,13 +1572,18 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable localSecondaryIndexes; +/** +

Sets the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.

For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) AWSDynamoDBProvisionedThroughput * _Nullable provisionedThroughput; /** -

An Amazon Web Services resource-based policy document in JSON format that will be attached to the table.

When you attach a resource-based policy while creating a table, the policy creation is strongly consistent.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. You can’t request an increase for this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.

+

An Amazon Web Services resource-based policy document in JSON format that will be attached to the table.

When you attach a resource-based policy while creating a table, the policy application is strongly consistent.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see Resource-based policy considerations.

You need to specify the CreateTable and PutResourcePolicy IAM actions for authorizing a user to create a table with a resource-based policy.

*/ @property (nonatomic, strong) NSString * _Nullable resourcePolicy; @@ -1783,7 +1800,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSDictionary * _Nullable attributes; /** -

The capacity units consumed by the DeleteItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

+

The capacity units consumed by the DeleteItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned capacity mode in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) AWSDynamoDBConsumedCapacity * _Nullable consumedCapacity; @@ -1861,7 +1878,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

This value will be empty if you make a request against a resource without a policy.

+

A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.

This value will be empty if you make a request against a resource without a policy.

*/ @property (nonatomic, strong) NSString * _Nullable revisionId; @@ -2360,7 +2377,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

+

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned capacity mode in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) AWSDynamoDBConsumedCapacity * _Nullable consumedCapacity; @@ -2760,7 +2777,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The capacity units consumed by the GetItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

+

The capacity units consumed by the GetItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unit consumption for read operations in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) AWSDynamoDBConsumedCapacity * _Nullable consumedCapacity; @@ -2796,7 +2813,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSString * _Nullable policy; /** -

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

+

A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.

*/ @property (nonatomic, strong) NSString * _Nullable revisionId; @@ -2819,6 +2836,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable keySchema; +/** +

The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

*/ @@ -2890,6 +2912,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable keySchema; +/** +

The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

*/ @@ -2918,6 +2945,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable keySchema; +/** +

Sets the maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

*/ @@ -3806,6 +3838,37 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @end +/** +

Sets the maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@interface AWSDynamoDBOnDemandThroughput : AWSModel + + +/** +

Maximum number of read request units for the specified table.

To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.

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

Maximum number of write request units for the specified table.

To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.

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

Overrides the on-demand throughput settings for this replica table. If you don't specify a value for this parameter, it uses the source table's on-demand throughput settings.

+ */ +@interface AWSDynamoDBOnDemandThroughputOverride : AWSModel + + +/** +

Maximum number of read request units for the specified replica table.

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

Represents a PartiQL statement that uses parameters.

Required parameters: [Statement] @@ -4065,7 +4128,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSDictionary * _Nullable attributes; /** -

The capacity units consumed by the PutItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

+

The capacity units consumed by the PutItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unity consumption for write operations in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) AWSDynamoDBConsumedCapacity * _Nullable consumedCapacity; @@ -4102,12 +4165,12 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSNumber * _Nullable confirmRemoveSelfResourceAccess; /** -

A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, your request will be rejected with a PolicyNotFoundException.

To conditionally put a policy when no policy exists for the resource, specify NO_POLICY for the revision ID.

+

A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy.

When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, your request will be rejected with a PolicyNotFoundException.

To conditionally attach a policy when no policy exists for the resource, specify NO_POLICY for the revision ID.

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

An Amazon Web Services resource-based policy document in JSON format.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.

+

An Amazon Web Services resource-based policy document in JSON format.

  • The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit.

  • Within a resource-based policy, if the action for a DynamoDB service-linked role (SLR) to replicate data for a global table is denied, adding or deleting a replica will fail with an error.

For a full list of all considerations that apply while attaching a resource-based policy, see Resource-based policy considerations.

*/ @property (nonatomic, strong) NSString * _Nullable policy; @@ -4125,7 +4188,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

+

A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.

*/ @property (nonatomic, strong) NSString * _Nullable revisionId; @@ -4232,7 +4295,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

+

The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unit consumption for read operations in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) AWSDynamoDBConsumedCapacity * _Nullable consumedCapacity; @@ -4344,6 +4407,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSString * _Nullable KMSMasterKeyId; +/** +

Overrides the maximum on-demand throughput settings for the specified replica table.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughputOverride * _Nullable onDemandThroughputOverride; + /**

Replica-specific provisioned throughput. If not described, uses the source table's provisioned throughput settings.

*/ @@ -4393,6 +4461,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSString * _Nullable indexName; +/** +

Overrides the maximum on-demand throughput settings for the specified global secondary index in the specified replica table.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughputOverride * _Nullable onDemandThroughputOverride; + /**

Replica table GSI-specific provisioned throughput. If not specified, uses the source table GSI's read capacity settings.

*/ @@ -4457,6 +4530,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSString * _Nullable indexName; +/** +

Overrides the maximum on-demand throughput for the specified global secondary index in the specified replica table.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughputOverride * _Nullable onDemandThroughputOverride; + /**

If not described, uses the source table GSI's read capacity settings.

*/ @@ -4711,6 +4789,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable localSecondaryIndexOverride; +/** +

Sets the maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughputOverride; + /**

Provisioned throughput settings for the restored table.

*/ @@ -4762,6 +4845,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable localSecondaryIndexOverride; +/** +

Sets the maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughputOverride; + /**

Provisioned throughput settings for the restored table.

*/ @@ -4983,7 +5071,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The capacity units consumed by the Scan operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

+

The capacity units consumed by the Scan operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unit consumption for read operations in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) AWSDynamoDBConsumedCapacity * _Nullable consumedCapacity; @@ -5031,6 +5119,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable keySchema; +/** +

Sets the maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

Read IOPs and Write IOPS on the table when the backup was created.

*/ @@ -5183,6 +5276,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable keySchema; +/** +

Sets the maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

*/ @@ -5266,6 +5364,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable localSecondaryIndexes; +/** +

The maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.

*/ @@ -5662,7 +5765,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /**

Represents the new provisioned throughput settings to be applied to a global secondary index.

- Required parameters: [IndexName, ProvisionedThroughput] + Required parameters: [IndexName] */ @interface AWSDynamoDBUpdateGlobalSecondaryIndexAction : AWSModel @@ -5672,6 +5775,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSString * _Nullable indexName; +/** +

Updates the maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

*/ @@ -5717,7 +5825,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { /** -

The billing mode of the global table. If GlobalTableBillingMode is not specified, the global table defaults to PROVISIONED capacity billing mode.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

+

The billing mode of the global table. If GlobalTableBillingMode is not specified, the global table defaults to PROVISIONED capacity billing mode.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned capacity mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-demand capacity mode.

*/ @property (nonatomic, assign) AWSDynamoDBBillingMode globalTableBillingMode; @@ -5852,7 +5960,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSDictionary * _Nullable attributes; /** -

The capacity units consumed by the UpdateItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

+

The capacity units consumed by the UpdateItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unity consumption for write operations in the Amazon DynamoDB Developer Guide.

*/ @property (nonatomic, strong) AWSDynamoDBConsumedCapacity * _Nullable consumedCapacity; @@ -5944,6 +6052,11 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSString * _Nullable KMSMasterKeyId; +/** +

Overrides the maximum on-demand throughput for the replica table.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughputOverride * _Nullable onDemandThroughputOverride; + /**

Replica-specific provisioned throughput. If not specified, uses the source table's provisioned throughput settings.

*/ @@ -5974,7 +6087,7 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { @property (nonatomic, strong) NSArray * _Nullable attributeDefinitions; /** -

Controls how you are charged for read and write throughput and how you manage capacity. When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial provisioned capacity values are estimated based on the consumed read and write capacity of your table and global secondary indexes over the past 30 minutes.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

+

Controls how you are charged for read and write throughput and how you manage capacity. When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial provisioned capacity values are estimated based on the consumed read and write capacity of your table and global secondary indexes over the past 30 minutes.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned capacity mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-demand capacity mode.

*/ @property (nonatomic, assign) AWSDynamoDBBillingMode billingMode; @@ -5988,13 +6101,18 @@ typedef NS_ENUM(NSInteger, AWSDynamoDBTimeToLiveStatus) { */ @property (nonatomic, strong) NSArray * _Nullable globalSecondaryIndexUpdates; +/** +

Updates the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

+ */ +@property (nonatomic, strong) AWSDynamoDBOnDemandThroughput * _Nullable onDemandThroughput; + /**

The new provisioned throughput settings for the specified table or index.

*/ @property (nonatomic, strong) AWSDynamoDBProvisionedThroughput * _Nullable provisionedThroughput; /** -

A list of replica update actions (create, delete, or update) for the table.

This property only applies to Version 2019.11.21 (Current) of global tables.

+

A list of replica update actions (create, delete, or update) for the table.

For global tables, this property only applies to global tables using Version 2019.11.21 (Current version).

*/ @property (nonatomic, strong) NSArray * _Nullable replicaUpdates; diff --git a/AWSDynamoDB/AWSDynamoDBModel.m b/AWSDynamoDB/AWSDynamoDBModel.m index 82584602373..d581710c534 100644 --- a/AWSDynamoDB/AWSDynamoDBModel.m +++ b/AWSDynamoDB/AWSDynamoDBModel.m @@ -1316,6 +1316,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"indexName" : @"IndexName", @"keySchema" : @"KeySchema", + @"onDemandThroughput" : @"OnDemandThroughput", @"projection" : @"Projection", @"provisionedThroughput" : @"ProvisionedThroughput", }; @@ -1325,6 +1326,10 @@ + (NSValueTransformer *)keySchemaJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBKeySchemaElement class]]; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)projectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProjection class]]; } @@ -1396,6 +1401,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"globalSecondaryIndexes" : @"GlobalSecondaryIndexes", @"KMSMasterKeyId" : @"KMSMasterKeyId", + @"onDemandThroughputOverride" : @"OnDemandThroughputOverride", @"provisionedThroughputOverride" : @"ProvisionedThroughputOverride", @"regionName" : @"RegionName", @"tableClassOverride" : @"TableClassOverride", @@ -1406,6 +1412,10 @@ + (NSValueTransformer *)globalSecondaryIndexesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBReplicaGlobalSecondaryIndex class]]; } ++ (NSValueTransformer *)onDemandThroughputOverrideJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughputOverride class]]; +} + + (NSValueTransformer *)provisionedThroughputOverrideJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughputOverride class]]; } @@ -1447,6 +1457,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"globalSecondaryIndexes" : @"GlobalSecondaryIndexes", @"keySchema" : @"KeySchema", @"localSecondaryIndexes" : @"LocalSecondaryIndexes", + @"onDemandThroughput" : @"OnDemandThroughput", @"provisionedThroughput" : @"ProvisionedThroughput", @"resourcePolicy" : @"ResourcePolicy", @"SSESpecification" : @"SSESpecification", @@ -1494,6 +1505,10 @@ + (NSValueTransformer *)localSecondaryIndexesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBLocalSecondaryIndex class]]; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)provisionedThroughputJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughput class]]; } @@ -3258,6 +3273,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"indexName" : @"IndexName", @"keySchema" : @"KeySchema", + @"onDemandThroughput" : @"OnDemandThroughput", @"projection" : @"Projection", @"provisionedThroughput" : @"ProvisionedThroughput", }; @@ -3267,6 +3283,10 @@ + (NSValueTransformer *)keySchemaJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBKeySchemaElement class]]; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)projectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProjection class]]; } @@ -3311,6 +3331,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"indexStatus" : @"IndexStatus", @"itemCount" : @"ItemCount", @"keySchema" : @"KeySchema", + @"onDemandThroughput" : @"OnDemandThroughput", @"projection" : @"Projection", @"provisionedThroughput" : @"ProvisionedThroughput", }; @@ -3351,6 +3372,10 @@ + (NSValueTransformer *)keySchemaJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBKeySchemaElement class]]; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)projectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProjection class]]; } @@ -3371,6 +3396,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"indexName" : @"IndexName", @"keySchema" : @"KeySchema", + @"onDemandThroughput" : @"OnDemandThroughput", @"projection" : @"Projection", @"provisionedThroughput" : @"ProvisionedThroughput", }; @@ -3380,6 +3406,10 @@ + (NSValueTransformer *)keySchemaJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBKeySchemaElement class]]; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)projectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProjection class]]; } @@ -4573,6 +4603,35 @@ + (NSValueTransformer *)projectionJSONTransformer { @end +@implementation AWSDynamoDBOnDemandThroughput + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"maxReadRequestUnits" : @"MaxReadRequestUnits", + @"maxWriteRequestUnits" : @"MaxWriteRequestUnits", + }; +} + +@end + +@implementation AWSDynamoDBOnDemandThroughputOverride + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"maxReadRequestUnits" : @"MaxReadRequestUnits", + }; +} + +@end + @implementation AWSDynamoDBParameterizedStatement + (BOOL)supportsSecureCoding { @@ -5401,6 +5460,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"globalSecondaryIndexes" : @"GlobalSecondaryIndexes", @"KMSMasterKeyId" : @"KMSMasterKeyId", + @"onDemandThroughputOverride" : @"OnDemandThroughputOverride", @"provisionedThroughputOverride" : @"ProvisionedThroughputOverride", @"regionName" : @"RegionName", @"replicaInaccessibleDateTime" : @"ReplicaInaccessibleDateTime", @@ -5415,6 +5475,10 @@ + (NSValueTransformer *)globalSecondaryIndexesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBReplicaGlobalSecondaryIndexDescription class]]; } ++ (NSValueTransformer *)onDemandThroughputOverrideJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughputOverride class]]; +} + + (NSValueTransformer *)provisionedThroughputOverrideJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughputOverride class]]; } @@ -5488,10 +5552,15 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"indexName" : @"IndexName", + @"onDemandThroughputOverride" : @"OnDemandThroughputOverride", @"provisionedThroughputOverride" : @"ProvisionedThroughputOverride", }; } ++ (NSValueTransformer *)onDemandThroughputOverrideJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughputOverride class]]; +} + + (NSValueTransformer *)provisionedThroughputOverrideJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughputOverride class]]; } @@ -5582,10 +5651,15 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"indexName" : @"IndexName", + @"onDemandThroughputOverride" : @"OnDemandThroughputOverride", @"provisionedThroughputOverride" : @"ProvisionedThroughputOverride", }; } ++ (NSValueTransformer *)onDemandThroughputOverrideJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughputOverride class]]; +} + + (NSValueTransformer *)provisionedThroughputOverrideJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughputOverride class]]; } @@ -5893,6 +5967,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"billingModeOverride" : @"BillingModeOverride", @"globalSecondaryIndexOverride" : @"GlobalSecondaryIndexOverride", @"localSecondaryIndexOverride" : @"LocalSecondaryIndexOverride", + @"onDemandThroughputOverride" : @"OnDemandThroughputOverride", @"provisionedThroughputOverride" : @"ProvisionedThroughputOverride", @"SSESpecificationOverride" : @"SSESpecificationOverride", @"targetTableName" : @"TargetTableName", @@ -5928,6 +6003,10 @@ + (NSValueTransformer *)localSecondaryIndexOverrideJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBLocalSecondaryIndex class]]; } ++ (NSValueTransformer *)onDemandThroughputOverrideJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)provisionedThroughputOverrideJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughput class]]; } @@ -5967,6 +6046,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"billingModeOverride" : @"BillingModeOverride", @"globalSecondaryIndexOverride" : @"GlobalSecondaryIndexOverride", @"localSecondaryIndexOverride" : @"LocalSecondaryIndexOverride", + @"onDemandThroughputOverride" : @"OnDemandThroughputOverride", @"provisionedThroughputOverride" : @"ProvisionedThroughputOverride", @"restoreDateTime" : @"RestoreDateTime", @"SSESpecificationOverride" : @"SSESpecificationOverride", @@ -6006,6 +6086,10 @@ + (NSValueTransformer *)localSecondaryIndexOverrideJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBLocalSecondaryIndex class]]; } ++ (NSValueTransformer *)onDemandThroughputOverrideJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)provisionedThroughputOverrideJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughput class]]; } @@ -6357,6 +6441,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"billingMode" : @"BillingMode", @"itemCount" : @"ItemCount", @"keySchema" : @"KeySchema", + @"onDemandThroughput" : @"OnDemandThroughput", @"provisionedThroughput" : @"ProvisionedThroughput", @"tableArn" : @"TableArn", @"tableCreationDateTime" : @"TableCreationDateTime", @@ -6391,6 +6476,10 @@ + (NSValueTransformer *)keySchemaJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBKeySchemaElement class]]; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)provisionedThroughputJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughput class]]; } @@ -6611,6 +6700,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"billingMode" : @"BillingMode", @"globalSecondaryIndexes" : @"GlobalSecondaryIndexes", @"keySchema" : @"KeySchema", + @"onDemandThroughput" : @"OnDemandThroughput", @"provisionedThroughput" : @"ProvisionedThroughput", @"SSESpecification" : @"SSESpecification", @"tableName" : @"TableName", @@ -6650,6 +6740,10 @@ + (NSValueTransformer *)keySchemaJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBKeySchemaElement class]]; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)provisionedThroughputJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughput class]]; } @@ -6680,6 +6774,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"latestStreamArn" : @"LatestStreamArn", @"latestStreamLabel" : @"LatestStreamLabel", @"localSecondaryIndexes" : @"LocalSecondaryIndexes", + @"onDemandThroughput" : @"OnDemandThroughput", @"provisionedThroughput" : @"ProvisionedThroughput", @"replicas" : @"Replicas", @"restoreSummary" : @"RestoreSummary", @@ -6726,6 +6821,10 @@ + (NSValueTransformer *)localSecondaryIndexesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBLocalSecondaryIndexDescription class]]; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)provisionedThroughputJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughputDescription class]]; } @@ -7314,10 +7413,15 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"indexName" : @"IndexName", + @"onDemandThroughput" : @"OnDemandThroughput", @"provisionedThroughput" : @"ProvisionedThroughput", }; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)provisionedThroughputJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughput class]]; } @@ -7774,6 +7878,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"globalSecondaryIndexes" : @"GlobalSecondaryIndexes", @"KMSMasterKeyId" : @"KMSMasterKeyId", + @"onDemandThroughputOverride" : @"OnDemandThroughputOverride", @"provisionedThroughputOverride" : @"ProvisionedThroughputOverride", @"regionName" : @"RegionName", @"tableClassOverride" : @"TableClassOverride", @@ -7784,6 +7889,10 @@ + (NSValueTransformer *)globalSecondaryIndexesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBReplicaGlobalSecondaryIndex class]]; } ++ (NSValueTransformer *)onDemandThroughputOverrideJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughputOverride class]]; +} + + (NSValueTransformer *)provisionedThroughputOverrideJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughputOverride class]]; } @@ -7823,6 +7932,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"billingMode" : @"BillingMode", @"deletionProtectionEnabled" : @"DeletionProtectionEnabled", @"globalSecondaryIndexUpdates" : @"GlobalSecondaryIndexUpdates", + @"onDemandThroughput" : @"OnDemandThroughput", @"provisionedThroughput" : @"ProvisionedThroughput", @"replicaUpdates" : @"ReplicaUpdates", @"SSESpecification" : @"SSESpecification", @@ -7861,6 +7971,10 @@ + (NSValueTransformer *)globalSecondaryIndexUpdatesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSDynamoDBGlobalSecondaryIndexUpdate class]]; } ++ (NSValueTransformer *)onDemandThroughputJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBOnDemandThroughput class]]; +} + + (NSValueTransformer *)provisionedThroughputJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSDynamoDBProvisionedThroughput class]]; } diff --git a/AWSDynamoDB/AWSDynamoDBResources.m b/AWSDynamoDB/AWSDynamoDBResources.m index 38a84a03abb..de4340793d9 100644 --- a/AWSDynamoDB/AWSDynamoDBResources.m +++ b/AWSDynamoDB/AWSDynamoDBResources.m @@ -63,6 +63,7 @@ - (NSString *)definitionString { \"endpointPrefix\":\"dynamodb\",\ \"jsonVersion\":\"1.0\",\ \"protocol\":\"json\",\ + \"protocols\":[\"json\"],\ \"serviceAbbreviation\":\"DynamoDB\",\ \"serviceFullName\":\"Amazon DynamoDB\",\ \"serviceId\":\"DynamoDB\",\ @@ -118,7 +119,7 @@ - (NSString *)definitionString { {\"shape\":\"RequestLimitExceeded\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can transmit up to 16MB of data over the network, consisting of up to 25 item put or delete operations. While individual items can be up to 400 KB once stored, it's important to note that an item's representation might be greater than 400KB while being sent in DynamoDB's JSON format for the API call. For more details on this distinction, see Naming Rules and Data Types.

BatchWriteItem cannot update items. If you perform a BatchWriteItem operation on an existing item, that item's values will be overwritten by the operation and it will appear like it was updated. To update items, we recommend you use the UpdateItem action.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

  • One or more tables specified in the BatchWriteItem request does not exist.

  • Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.

  • You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

  • Your request contains at least two items with identical hash and range keys (which essentially is two put operations).

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

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

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can transmit up to 16MB of data over the network, consisting of up to 25 item put or delete operations. While individual items can be up to 400 KB once stored, it's important to note that an item's representation might be greater than 400KB while being sent in DynamoDB's JSON format for the API call. For more details on this distinction, see Naming Rules and Data Types.

BatchWriteItem cannot update items. If you perform a BatchWriteItem operation on an existing item, that item's values will be overwritten by the operation and it will appear like it was updated. To update items, we recommend you use the UpdateItem action.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

  • One or more tables specified in the BatchWriteItem request does not exist.

  • Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.

  • You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

  • Your request contains at least two items with identical hash and range keys (which essentially is two put operations).

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

  • Any individual items with keys exceeding the key length limits. For a partition key, the limit is 2048 bytes and for a sort key, the limit is 1024 bytes.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -156,7 +157,7 @@ - (NSString *)definitionString { {\"shape\":\"GlobalTableAlreadyExistsException\"},\ {\"shape\":\"TableNotFoundException\"}\ ],\ - \"documentation\":\"

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

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

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -249,7 +250,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

This operation only applies to Version 2019.11.21 (Current) of global tables.

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable action to check the status of the table.

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

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable action to check the status of the table.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -337,7 +338,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalServerError\"},\ {\"shape\":\"GlobalTableNotFoundException\"}\ ],\ - \"documentation\":\"

Returns information about the specified global table.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

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

Returns information about the specified global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -353,7 +354,7 @@ - (NSString *)definitionString { {\"shape\":\"GlobalTableNotFoundException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Describes Region-specific settings for a global table.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

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

Describes Region-specific settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -413,7 +414,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceNotFoundException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

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

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -429,7 +430,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceNotFoundException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Describes auto scaling settings across replicas of the global table at once.

This operation only applies to Version 2019.11.21 (Current) of global tables.

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

Describes auto scaling settings across replicas of the global table at once.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

\"\ },\ \"DescribeTimeToLive\":{\ \"name\":\"DescribeTimeToLive\",\ @@ -571,7 +572,7 @@ - (NSString *)definitionString { {\"shape\":\"InternalServerError\"},\ {\"shape\":\"PolicyNotFoundException\"}\ ],\ - \"documentation\":\"

Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request:

  • If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException.

  • If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request.

  • If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException.

Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request.

After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, you can assume the policy will start getting applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable request will always be applied to all requests for that table.

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

Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request:

  • If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException.

  • If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request.

  • If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException.

Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request.

After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, the policy will be applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable request will always be applied to all requests for that table.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -644,7 +645,7 @@ - (NSString *)definitionString { \"errors\":[\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Lists all global tables that have a replica in the specified Region.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

\",\ + \"documentation\":\"

Lists all global tables that have a replica in the specified Region.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -728,7 +729,7 @@ - (NSString *)definitionString { {\"shape\":\"PolicyNotFoundException\"},\ {\"shape\":\"ResourceInUseException\"}\ ],\ - \"documentation\":\"

Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent .

PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId which doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned.

PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.

\",\ + \"documentation\":\"

Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent .

PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId that doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned.

PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -929,7 +930,7 @@ - (NSString *)definitionString { {\"shape\":\"ReplicaNotFoundException\"},\ {\"shape\":\"TableNotFoundException\"}\ ],\ - \"documentation\":\"

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

\",\ + \"documentation\":\"

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -949,7 +950,7 @@ - (NSString *)definitionString { {\"shape\":\"ResourceInUseException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Updates settings for a global table.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

\",\ + \"documentation\":\"

Updates settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -1006,7 +1007,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

\",\ + \"documentation\":\"

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

\",\ \"endpointdiscovery\":{\ }\ },\ @@ -1024,7 +1025,7 @@ - (NSString *)definitionString { {\"shape\":\"LimitExceededException\"},\ {\"shape\":\"InternalServerError\"}\ ],\ - \"documentation\":\"

Updates auto scaling settings on your global tables at once.

This operation only applies to Version 2019.11.21 (Current) of global tables.

\"\ + \"documentation\":\"

Updates auto scaling settings on your global tables at once.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

\"\ },\ \"UpdateTimeToLive\":{\ \"name\":\"UpdateTimeToLive\",\ @@ -1896,7 +1897,7 @@ - (NSString *)definitionString { \"documentation\":\"

The amount of throughput consumed on each global index affected by the operation.

\"\ }\ },\ - \"documentation\":\"

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

\"\ + \"documentation\":\"

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned capacity mode in the Amazon DynamoDB Developer Guide.

\"\ },\ \"ConsumedCapacityMultiple\":{\ \"type\":\"list\",\ @@ -2029,6 +2030,10 @@ - (NSString *)definitionString { \"ProvisionedThroughput\":{\ \"shape\":\"ProvisionedThroughput\",\ \"documentation\":\"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

\"\ + },\ + \"OnDemandThroughput\":{\ + \"shape\":\"OnDemandThroughput\",\ + \"documentation\":\"

The maximum number of read and write units for the global secondary index being created. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

\"\ }\ },\ \"documentation\":\"

Represents a new global secondary index to be added to an existing table.

\"\ @@ -2086,6 +2091,10 @@ - (NSString *)definitionString { \"shape\":\"ProvisionedThroughputOverride\",\ \"documentation\":\"

Replica-specific provisioned throughput. If not specified, uses the source table's provisioned throughput settings.

\"\ },\ + \"OnDemandThroughputOverride\":{\ + \"shape\":\"OnDemandThroughputOverride\",\ + \"documentation\":\"

The maximum on-demand throughput settings for the specified replica table being created. You can only modify MaxReadRequestUnits, because you can't modify MaxWriteRequestUnits for individual replica tables.

\"\ + },\ \"GlobalSecondaryIndexes\":{\ \"shape\":\"ReplicaGlobalSecondaryIndexList\",\ \"documentation\":\"

Replica-specific global secondary index settings.

\"\ @@ -2127,7 +2136,7 @@ - (NSString *)definitionString { },\ \"BillingMode\":{\ \"shape\":\"BillingMode\",\ - \"documentation\":\"

Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

\"\ + \"documentation\":\"

Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned capacity mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-demand capacity mode.

\"\ },\ \"ProvisionedThroughput\":{\ \"shape\":\"ProvisionedThroughput\",\ @@ -2155,7 +2164,11 @@ - (NSString *)definitionString { },\ \"ResourcePolicy\":{\ \"shape\":\"ResourcePolicy\",\ - \"documentation\":\"

An Amazon Web Services resource-based policy document in JSON format that will be attached to the table.

When you attach a resource-based policy while creating a table, the policy creation is strongly consistent.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. You can’t request an increase for this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.

\"\ + \"documentation\":\"

An Amazon Web Services resource-based policy document in JSON format that will be attached to the table.

When you attach a resource-based policy while creating a table, the policy application is strongly consistent.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that apply for resource-based policies, see Resource-based policy considerations.

You need to specify the CreateTable and PutResourcePolicy IAM actions for authorizing a user to create a table with a resource-based policy.

\"\ + },\ + \"OnDemandThroughput\":{\ + \"shape\":\"OnDemandThroughput\",\ + \"documentation\":\"

Sets the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

\"\ }\ },\ \"documentation\":\"

Represents the input of a CreateTable operation.

\"\ @@ -2327,7 +2340,7 @@ - (NSString *)definitionString { },\ \"ConsumedCapacity\":{\ \"shape\":\"ConsumedCapacity\",\ - \"documentation\":\"

The capacity units consumed by the DeleteItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

\"\ + \"documentation\":\"

The capacity units consumed by the DeleteItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned capacity mode in the Amazon DynamoDB Developer Guide.

\"\ },\ \"ItemCollectionMetrics\":{\ \"shape\":\"ItemCollectionMetrics\",\ @@ -2388,7 +2401,7 @@ - (NSString *)definitionString { \"members\":{\ \"RevisionId\":{\ \"shape\":\"PolicyRevisionId\",\ - \"documentation\":\"

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

This value will be empty if you make a request against a resource without a policy.

\"\ + \"documentation\":\"

A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.

This value will be empty if you make a request against a resource without a policy.

\"\ }\ }\ },\ @@ -3203,7 +3216,7 @@ - (NSString *)definitionString { },\ \"ConsumedCapacity\":{\ \"shape\":\"ConsumedCapacity\",\ - \"documentation\":\"

The capacity units consumed by the GetItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

\"\ + \"documentation\":\"

The capacity units consumed by the GetItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unit consumption for read operations in the Amazon DynamoDB Developer Guide.

\"\ }\ },\ \"documentation\":\"

Represents the output of a GetItem operation.

\"\ @@ -3227,7 +3240,7 @@ - (NSString *)definitionString { },\ \"RevisionId\":{\ \"shape\":\"PolicyRevisionId\",\ - \"documentation\":\"

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

\"\ + \"documentation\":\"

A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.

\"\ }\ }\ },\ @@ -3254,6 +3267,10 @@ - (NSString *)definitionString { \"ProvisionedThroughput\":{\ \"shape\":\"ProvisionedThroughput\",\ \"documentation\":\"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

\"\ + },\ + \"OnDemandThroughput\":{\ + \"shape\":\"OnDemandThroughput\",\ + \"documentation\":\"

The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

\"\ }\ },\ \"documentation\":\"

Represents the properties of a global secondary index.

\"\ @@ -3312,6 +3329,10 @@ - (NSString *)definitionString { \"IndexArn\":{\ \"shape\":\"String\",\ \"documentation\":\"

The Amazon Resource Name (ARN) that uniquely identifies the index.

\"\ + },\ + \"OnDemandThroughput\":{\ + \"shape\":\"OnDemandThroughput\",\ + \"documentation\":\"

The maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

\"\ }\ },\ \"documentation\":\"

Represents the properties of a global secondary index.

\"\ @@ -3338,7 +3359,8 @@ - (NSString *)definitionString { \"ProvisionedThroughput\":{\ \"shape\":\"ProvisionedThroughput\",\ \"documentation\":\"

Represents the provisioned throughput settings for the specified global secondary index.

\"\ - }\ + },\ + \"OnDemandThroughput\":{\"shape\":\"OnDemandThroughput\"}\ },\ \"documentation\":\"

Represents the properties of a global secondary index for the table when the backup was created.

\"\ },\ @@ -4366,6 +4388,30 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"NumberAttributeValue\"}\ },\ + \"OnDemandThroughput\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"MaxReadRequestUnits\":{\ + \"shape\":\"LongObject\",\ + \"documentation\":\"

Maximum number of read request units for the specified table.

To specify a maximum OnDemandThroughput on your table, set the value of MaxReadRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxReadRequestUnits to -1.

\"\ + },\ + \"MaxWriteRequestUnits\":{\ + \"shape\":\"LongObject\",\ + \"documentation\":\"

Maximum number of write request units for the specified table.

To specify a maximum OnDemandThroughput on your table, set the value of MaxWriteRequestUnits as greater than or equal to 1. To remove the maximum OnDemandThroughput that is currently set on your table, set the value of MaxWriteRequestUnits to -1.

\"\ + }\ + },\ + \"documentation\":\"

Sets the maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

\"\ + },\ + \"OnDemandThroughputOverride\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"MaxReadRequestUnits\":{\ + \"shape\":\"LongObject\",\ + \"documentation\":\"

Maximum number of read request units for the specified replica table.

\"\ + }\ + },\ + \"documentation\":\"

Overrides the on-demand throughput settings for this replica table. If you don't specify a value for this parameter, it uses the source table's on-demand throughput settings.

\"\ + },\ \"ParameterizedStatement\":{\ \"type\":\"structure\",\ \"required\":[\"Statement\"],\ @@ -4672,7 +4718,7 @@ - (NSString *)definitionString { },\ \"ConsumedCapacity\":{\ \"shape\":\"ConsumedCapacity\",\ - \"documentation\":\"

The capacity units consumed by the PutItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

\"\ + \"documentation\":\"

The capacity units consumed by the PutItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unity consumption for write operations in the Amazon DynamoDB Developer Guide.

\"\ },\ \"ItemCollectionMetrics\":{\ \"shape\":\"ItemCollectionMetrics\",\ @@ -4705,11 +4751,11 @@ - (NSString *)definitionString { },\ \"Policy\":{\ \"shape\":\"ResourcePolicy\",\ - \"documentation\":\"

An Amazon Web Services resource-based policy document in JSON format.

The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit. For a full list of all considerations that you should keep in mind while attaching a resource-based policy, see Resource-based policy considerations.

\"\ + \"documentation\":\"

An Amazon Web Services resource-based policy document in JSON format.

  • The maximum size supported for a resource-based policy document is 20 KB. DynamoDB counts whitespaces when calculating the size of a policy against this limit.

  • Within a resource-based policy, if the action for a DynamoDB service-linked role (SLR) to replicate data for a global table is denied, adding or deleting a replica will fail with an error.

For a full list of all considerations that apply while attaching a resource-based policy, see Resource-based policy considerations.

\"\ },\ \"ExpectedRevisionId\":{\ \"shape\":\"PolicyRevisionId\",\ - \"documentation\":\"

A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy. When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, your request will be rejected with a PolicyNotFoundException.

To conditionally put a policy when no policy exists for the resource, specify NO_POLICY for the revision ID.

\"\ + \"documentation\":\"

A string value that you can use to conditionally update your policy. You can provide the revision ID of your existing policy to make mutating requests against that policy.

When you provide an expected revision ID, if the revision ID of the existing policy on the resource doesn't match or if there's no policy attached to the resource, your request will be rejected with a PolicyNotFoundException.

To conditionally attach a policy when no policy exists for the resource, specify NO_POLICY for the revision ID.

\"\ },\ \"ConfirmRemoveSelfResourceAccess\":{\ \"shape\":\"ConfirmRemoveSelfResourceAccess\",\ @@ -4722,7 +4768,7 @@ - (NSString *)definitionString { \"members\":{\ \"RevisionId\":{\ \"shape\":\"PolicyRevisionId\",\ - \"documentation\":\"

A unique string that represents the revision ID of the policy. If you are comparing revision IDs, make sure to always use string comparison logic.

\"\ + \"documentation\":\"

A unique string that represents the revision ID of the policy. If you're comparing revision IDs, make sure to always use string comparison logic.

\"\ }\ }\ },\ @@ -4819,7 +4865,7 @@ - (NSString *)definitionString { },\ \"ConsumedCapacity\":{\ \"shape\":\"ConsumedCapacity\",\ - \"documentation\":\"

The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

\"\ + \"documentation\":\"

The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unit consumption for read operations in the Amazon DynamoDB Developer Guide.

\"\ }\ },\ \"documentation\":\"

Represents the output of a Query operation.

\"\ @@ -4915,6 +4961,10 @@ - (NSString *)definitionString { \"shape\":\"ProvisionedThroughputOverride\",\ \"documentation\":\"

Replica-specific provisioned throughput. If not described, uses the source table's provisioned throughput settings.

\"\ },\ + \"OnDemandThroughputOverride\":{\ + \"shape\":\"OnDemandThroughputOverride\",\ + \"documentation\":\"

Overrides the maximum on-demand throughput settings for the specified replica table.

\"\ + },\ \"GlobalSecondaryIndexes\":{\ \"shape\":\"ReplicaGlobalSecondaryIndexDescriptionList\",\ \"documentation\":\"

Replica-specific global secondary index settings.

\"\ @@ -4942,6 +4992,10 @@ - (NSString *)definitionString { \"ProvisionedThroughputOverride\":{\ \"shape\":\"ProvisionedThroughputOverride\",\ \"documentation\":\"

Replica table GSI-specific provisioned throughput. If not specified, uses the source table GSI's read capacity settings.

\"\ + },\ + \"OnDemandThroughputOverride\":{\ + \"shape\":\"OnDemandThroughputOverride\",\ + \"documentation\":\"

Overrides the maximum on-demand throughput settings for the specified global secondary index in the specified replica table.

\"\ }\ },\ \"documentation\":\"

Represents the properties of a replica global secondary index.

\"\ @@ -4991,6 +5045,10 @@ - (NSString *)definitionString { \"ProvisionedThroughputOverride\":{\ \"shape\":\"ProvisionedThroughputOverride\",\ \"documentation\":\"

If not described, uses the source table GSI's read capacity settings.

\"\ + },\ + \"OnDemandThroughputOverride\":{\ + \"shape\":\"OnDemandThroughputOverride\",\ + \"documentation\":\"

Overrides the maximum on-demand throughput for the specified global secondary index in the specified replica table.

\"\ }\ },\ \"documentation\":\"

Represents the properties of a replica global secondary index.

\"\ @@ -5302,6 +5360,7 @@ - (NSString *)definitionString { \"shape\":\"ProvisionedThroughput\",\ \"documentation\":\"

Provisioned throughput settings for the restored table.

\"\ },\ + \"OnDemandThroughputOverride\":{\"shape\":\"OnDemandThroughput\"},\ \"SSESpecificationOverride\":{\ \"shape\":\"SSESpecification\",\ \"documentation\":\"

The new server-side encryption settings for the restored table.

\"\ @@ -5357,6 +5416,7 @@ - (NSString *)definitionString { \"shape\":\"ProvisionedThroughput\",\ \"documentation\":\"

Provisioned throughput settings for the restored table.

\"\ },\ + \"OnDemandThroughputOverride\":{\"shape\":\"OnDemandThroughput\"},\ \"SSESpecificationOverride\":{\ \"shape\":\"SSESpecification\",\ \"documentation\":\"

The new server-side encryption settings for the restored table.

\"\ @@ -5604,7 +5664,7 @@ - (NSString *)definitionString { },\ \"ConsumedCapacity\":{\ \"shape\":\"ConsumedCapacity\",\ - \"documentation\":\"

The capacity units consumed by the Scan operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

\"\ + \"documentation\":\"

The capacity units consumed by the Scan operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unit consumption for read operations in the Amazon DynamoDB Developer Guide.

\"\ }\ },\ \"documentation\":\"

Represents the output of a Scan operation.

\"\ @@ -5671,6 +5731,7 @@ - (NSString *)definitionString { \"shape\":\"ProvisionedThroughput\",\ \"documentation\":\"

Read IOPs and Write IOPS on the table when the backup was created.

\"\ },\ + \"OnDemandThroughput\":{\"shape\":\"OnDemandThroughput\"},\ \"ItemCount\":{\ \"shape\":\"ItemCount\",\ \"documentation\":\"

Number of items in the table. Note that this is an approximate value.

\"\ @@ -5822,6 +5883,7 @@ - (NSString *)definitionString { \"documentation\":\"

The billing mode for provisioning the table created as part of the import operation.

\"\ },\ \"ProvisionedThroughput\":{\"shape\":\"ProvisionedThroughput\"},\ + \"OnDemandThroughput\":{\"shape\":\"OnDemandThroughput\"},\ \"SSESpecification\":{\"shape\":\"SSESpecification\"},\ \"GlobalSecondaryIndexes\":{\ \"shape\":\"GlobalSecondaryIndexList\",\ @@ -5924,6 +5986,10 @@ - (NSString *)definitionString { \"DeletionProtectionEnabled\":{\ \"shape\":\"DeletionProtectionEnabled\",\ \"documentation\":\"

Indicates whether deletion protection is enabled (true) or disabled (false) on the table.

\"\ + },\ + \"OnDemandThroughput\":{\ + \"shape\":\"OnDemandThroughput\",\ + \"documentation\":\"

The maximum number of read and write units for the specified on-demand table. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

\"\ }\ },\ \"documentation\":\"

Represents the properties of a table.

\"\ @@ -6328,10 +6394,7 @@ - (NSString *)definitionString { \"UpdateExpression\":{\"type\":\"string\"},\ \"UpdateGlobalSecondaryIndexAction\":{\ \"type\":\"structure\",\ - \"required\":[\ - \"IndexName\",\ - \"ProvisionedThroughput\"\ - ],\ + \"required\":[\"IndexName\"],\ \"members\":{\ \"IndexName\":{\ \"shape\":\"IndexName\",\ @@ -6340,6 +6403,10 @@ - (NSString *)definitionString { \"ProvisionedThroughput\":{\ \"shape\":\"ProvisionedThroughput\",\ \"documentation\":\"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Service, Account, and Table Quotas in the Amazon DynamoDB Developer Guide.

\"\ + },\ + \"OnDemandThroughput\":{\ + \"shape\":\"OnDemandThroughput\",\ + \"documentation\":\"

Updates the maximum number of read and write units for the specified global secondary index. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

\"\ }\ },\ \"documentation\":\"

Represents the new provisioned throughput settings to be applied to a global secondary index.

\"\ @@ -6380,7 +6447,7 @@ - (NSString *)definitionString { },\ \"GlobalTableBillingMode\":{\ \"shape\":\"BillingMode\",\ - \"documentation\":\"

The billing mode of the global table. If GlobalTableBillingMode is not specified, the global table defaults to PROVISIONED capacity billing mode.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

\"\ + \"documentation\":\"

The billing mode of the global table. If GlobalTableBillingMode is not specified, the global table defaults to PROVISIONED capacity billing mode.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned capacity mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-demand capacity mode.

\"\ },\ \"GlobalTableProvisionedWriteCapacityUnits\":{\ \"shape\":\"PositiveLongObject\",\ @@ -6481,7 +6548,7 @@ - (NSString *)definitionString { },\ \"ConsumedCapacity\":{\ \"shape\":\"ConsumedCapacity\",\ - \"documentation\":\"

The capacity units consumed by the UpdateItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

\"\ + \"documentation\":\"

The capacity units consumed by the UpdateItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Capacity unity consumption for write operations in the Amazon DynamoDB Developer Guide.

\"\ },\ \"ItemCollectionMetrics\":{\ \"shape\":\"ItemCollectionMetrics\",\ @@ -6558,6 +6625,10 @@ - (NSString *)definitionString { \"shape\":\"ProvisionedThroughputOverride\",\ \"documentation\":\"

Replica-specific provisioned throughput. If not specified, uses the source table's provisioned throughput settings.

\"\ },\ + \"OnDemandThroughputOverride\":{\ + \"shape\":\"OnDemandThroughputOverride\",\ + \"documentation\":\"

Overrides the maximum on-demand throughput for the replica table.

\"\ + },\ \"GlobalSecondaryIndexes\":{\ \"shape\":\"ReplicaGlobalSecondaryIndexList\",\ \"documentation\":\"

Replica-specific global secondary index settings.

\"\ @@ -6583,7 +6654,7 @@ - (NSString *)definitionString { },\ \"BillingMode\":{\ \"shape\":\"BillingMode\",\ - \"documentation\":\"

Controls how you are charged for read and write throughput and how you manage capacity. When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial provisioned capacity values are estimated based on the consumed read and write capacity of your table and global secondary indexes over the past 30 minutes.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

\"\ + \"documentation\":\"

Controls how you are charged for read and write throughput and how you manage capacity. When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial provisioned capacity values are estimated based on the consumed read and write capacity of your table and global secondary indexes over the past 30 minutes.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned capacity mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-demand capacity mode.

\"\ },\ \"ProvisionedThroughput\":{\ \"shape\":\"ProvisionedThroughput\",\ @@ -6603,7 +6674,7 @@ - (NSString *)definitionString { },\ \"ReplicaUpdates\":{\ \"shape\":\"ReplicationGroupUpdateList\",\ - \"documentation\":\"

A list of replica update actions (create, delete, or update) for the table.

This property only applies to Version 2019.11.21 (Current) of global tables.

\"\ + \"documentation\":\"

A list of replica update actions (create, delete, or update) for the table.

For global tables, this property only applies to global tables using Version 2019.11.21 (Current version).

\"\ },\ \"TableClass\":{\ \"shape\":\"TableClass\",\ @@ -6612,6 +6683,10 @@ - (NSString *)definitionString { \"DeletionProtectionEnabled\":{\ \"shape\":\"DeletionProtectionEnabled\",\ \"documentation\":\"

Indicates whether deletion protection is to be enabled (true) or disabled (false) on the table.

\"\ + },\ + \"OnDemandThroughput\":{\ + \"shape\":\"OnDemandThroughput\",\ + \"documentation\":\"

Updates the maximum number of read and write units for the specified table in on-demand capacity mode. If you use this parameter, you must specify MaxReadRequestUnits, MaxWriteRequestUnits, or both.

\"\ }\ },\ \"documentation\":\"

Represents the input of an UpdateTable operation.

\"\ diff --git a/AWSDynamoDB/AWSDynamoDBService.h b/AWSDynamoDB/AWSDynamoDBService.h index c89fce8edef..bb8c67d5348 100644 --- a/AWSDynamoDB/AWSDynamoDBService.h +++ b/AWSDynamoDB/AWSDynamoDBService.h @@ -225,7 +225,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)batchGetItem:(AWSDynamoDBBatchGetItemInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBBatchGetItemOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can transmit up to 16MB of data over the network, consisting of up to 25 item put or delete operations. While individual items can be up to 400 KB once stored, it's important to note that an item's representation might be greater than 400KB while being sent in DynamoDB's JSON format for the API call. For more details on this distinction, see Naming Rules and Data Types.

BatchWriteItem cannot update items. If you perform a BatchWriteItem operation on an existing item, that item's values will be overwritten by the operation and it will appear like it was updated. To update items, we recommend you use the UpdateItem action.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

  • One or more tables specified in the BatchWriteItem request does not exist.

  • Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.

  • You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

  • Your request contains at least two items with identical hash and range keys (which essentially is two put operations).

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

+

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can transmit up to 16MB of data over the network, consisting of up to 25 item put or delete operations. While individual items can be up to 400 KB once stored, it's important to note that an item's representation might be greater than 400KB while being sent in DynamoDB's JSON format for the API call. For more details on this distinction, see Naming Rules and Data Types.

BatchWriteItem cannot update items. If you perform a BatchWriteItem operation on an existing item, that item's values will be overwritten by the operation and it will appear like it was updated. To update items, we recommend you use the UpdateItem action.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

  • One or more tables specified in the BatchWriteItem request does not exist.

  • Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.

  • You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

  • Your request contains at least two items with identical hash and range keys (which essentially is two put operations).

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

  • Any individual items with keys exceeding the key length limits. For a partition key, the limit is 2048 bytes and for a sort key, the limit is 1024 bytes.

@param request A container for the necessary parameters to execute the BatchWriteItem service method. @@ -237,7 +237,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)batchWriteItem:(AWSDynamoDBBatchWriteItemInput *)request; /** -

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can transmit up to 16MB of data over the network, consisting of up to 25 item put or delete operations. While individual items can be up to 400 KB once stored, it's important to note that an item's representation might be greater than 400KB while being sent in DynamoDB's JSON format for the API call. For more details on this distinction, see Naming Rules and Data Types.

BatchWriteItem cannot update items. If you perform a BatchWriteItem operation on an existing item, that item's values will be overwritten by the operation and it will appear like it was updated. To update items, we recommend you use the UpdateItem action.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

  • One or more tables specified in the BatchWriteItem request does not exist.

  • Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.

  • You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

  • Your request contains at least two items with identical hash and range keys (which essentially is two put operations).

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

+

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can transmit up to 16MB of data over the network, consisting of up to 25 item put or delete operations. While individual items can be up to 400 KB once stored, it's important to note that an item's representation might be greater than 400KB while being sent in DynamoDB's JSON format for the API call. For more details on this distinction, see Naming Rules and Data Types.

BatchWriteItem cannot update items. If you perform a BatchWriteItem operation on an existing item, that item's values will be overwritten by the operation and it will appear like it was updated. To update items, we recommend you use the UpdateItem action.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

  • One or more tables specified in the BatchWriteItem request does not exist.

  • Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.

  • You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

  • Your request contains at least two items with identical hash and range keys (which essentially is two put operations).

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

  • Any individual items with keys exceeding the key length limits. For a partition key, the limit is 2048 bytes and for a sort key, the limit is 1024 bytes.

@param request A container for the necessary parameters to execute the BatchWriteItem service method. @param completionHandler The completion handler to call when the load request is complete. @@ -275,7 +275,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)createBackup:(AWSDynamoDBCreateBackupInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBCreateBackupOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

+

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

@param request A container for the necessary parameters to execute the CreateGlobalTable service method. @@ -287,7 +287,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)createGlobalTable:(AWSDynamoDBCreateGlobalTableInput *)request; /** -

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

+

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

@param request A container for the necessary parameters to execute the CreateGlobalTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -400,7 +400,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)deleteResourcePolicy:(AWSDynamoDBDeleteResourcePolicyInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBDeleteResourcePolicyOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

This operation only applies to Version 2019.11.21 (Current) of global tables.

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable action to check the status of the table.

+

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable action to check the status of the table.

@param request A container for the necessary parameters to execute the DeleteTable service method. @@ -412,7 +412,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)deleteTable:(AWSDynamoDBDeleteTableInput *)request; /** -

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

This operation only applies to Version 2019.11.21 (Current) of global tables.

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable action to check the status of the table.

+

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable action to check the status of the table.

@param request A container for the necessary parameters to execute the DeleteTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -550,7 +550,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)describeExport:(AWSDynamoDBDescribeExportInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBDescribeExportOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns information about the specified global table.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

+

Returns information about the specified global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

@param request A container for the necessary parameters to execute the DescribeGlobalTable service method. @@ -562,7 +562,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)describeGlobalTable:(AWSDynamoDBDescribeGlobalTableInput *)request; /** -

Returns information about the specified global table.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

+

Returns information about the specified global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

@param request A container for the necessary parameters to execute the DescribeGlobalTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -575,7 +575,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)describeGlobalTable:(AWSDynamoDBDescribeGlobalTableInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBDescribeGlobalTableOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes Region-specific settings for a global table.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

+

Describes Region-specific settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

@param request A container for the necessary parameters to execute the DescribeGlobalTableSettings service method. @@ -587,7 +587,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)describeGlobalTableSettings:(AWSDynamoDBDescribeGlobalTableSettingsInput *)request; /** -

Describes Region-specific settings for a global table.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

+

Describes Region-specific settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

@param request A container for the necessary parameters to execute the DescribeGlobalTableSettings service method. @param completionHandler The completion handler to call when the load request is complete. @@ -675,7 +675,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)describeLimits:(AWSDynamoDBDescribeLimitsInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBDescribeLimitsOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

+

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

@param request A container for the necessary parameters to execute the DescribeTable service method. @@ -687,7 +687,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)describeTable:(AWSDynamoDBDescribeTableInput *)request; /** -

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

+

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

@param request A container for the necessary parameters to execute the DescribeTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -700,7 +700,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)describeTable:(AWSDynamoDBDescribeTableInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBDescribeTableOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes auto scaling settings across replicas of the global table at once.

This operation only applies to Version 2019.11.21 (Current) of global tables.

+

Describes auto scaling settings across replicas of the global table at once.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

@param request A container for the necessary parameters to execute the DescribeTableReplicaAutoScaling service method. @@ -712,7 +712,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)describeTableReplicaAutoScaling:(AWSDynamoDBDescribeTableReplicaAutoScalingInput *)request; /** -

Describes auto scaling settings across replicas of the global table at once.

This operation only applies to Version 2019.11.21 (Current) of global tables.

+

Describes auto scaling settings across replicas of the global table at once.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

@param request A container for the necessary parameters to execute the DescribeTableReplicaAutoScaling service method. @param completionHandler The completion handler to call when the load request is complete. @@ -900,7 +900,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)getItem:(AWSDynamoDBGetItemInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBGetItemOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request:

  • If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException.

  • If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request.

  • If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException.

Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request.

After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, you can assume the policy will start getting applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable request will always be applied to all requests for that table.

+

Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request:

  • If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException.

  • If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request.

  • If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException.

Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request.

After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, the policy will be applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable request will always be applied to all requests for that table.

@param request A container for the necessary parameters to execute the GetResourcePolicy service method. @@ -912,7 +912,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)getResourcePolicy:(AWSDynamoDBGetResourcePolicyInput *)request; /** -

Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request:

  • If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException.

  • If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request.

  • If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException.

Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request.

After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, you can assume the policy will start getting applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable request will always be applied to all requests for that table.

+

Returns the resource-based policy document attached to the resource, which can be a table or stream, in JSON format.

GetResourcePolicy follows an eventually consistent model. The following list describes the outcomes when you issue the GetResourcePolicy request immediately after issuing another request:

  • If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return a PolicyNotFoundException.

  • If you issue a GetResourcePolicyrequest immediately after a DeleteResourcePolicy request, DynamoDB might return the policy that was present before the deletion request.

  • If you issue a GetResourcePolicy request immediately after a CreateTable request, which includes a resource-based policy, DynamoDB might return a ResourceNotFoundException or a PolicyNotFoundException.

Because GetResourcePolicy uses an eventually consistent query, the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then retry the GetResourcePolicy request.

After a GetResourcePolicy request returns a policy created using the PutResourcePolicy request, the policy will be applied in the authorization of requests to the resource. Because this process is eventually consistent, it will take some time to apply the policy to all requests to a resource. Policies that you attach while creating a table using the CreateTable request will always be applied to all requests for that table.

@param request A container for the necessary parameters to execute the GetResourcePolicy service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1025,7 +1025,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)listExports:(AWSDynamoDBListExportsInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBListExportsOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Lists all global tables that have a replica in the specified Region.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

+

Lists all global tables that have a replica in the specified Region.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

@param request A container for the necessary parameters to execute the ListGlobalTables service method. @@ -1037,7 +1037,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)listGlobalTables:(AWSDynamoDBListGlobalTablesInput *)request; /** -

Lists all global tables that have a replica in the specified Region.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

+

Lists all global tables that have a replica in the specified Region.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

@param request A container for the necessary parameters to execute the ListGlobalTables service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1150,7 +1150,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)putItem:(AWSDynamoDBPutItemInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBPutItemOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent.

PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId which doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned.

PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.

+

Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent.

PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId that doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned.

PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.

@param request A container for the necessary parameters to execute the PutResourcePolicy service method. @@ -1162,7 +1162,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)putResourcePolicy:(AWSDynamoDBPutResourcePolicyInput *)request; /** -

Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent.

PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId which doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned.

PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.

+

Attaches a resource-based policy document to the resource, which can be a table or stream. When you attach a resource-based policy using this API, the policy application is eventually consistent.

PutResourcePolicy is an idempotent operation; running it multiple times on the same resource using the same policy document will return the same revision ID. If you specify an ExpectedRevisionId that doesn't match the current policy's RevisionId, the PolicyNotFoundException will be returned.

PutResourcePolicy is an asynchronous operation. If you issue a GetResourcePolicy request immediately after a PutResourcePolicy request, DynamoDB might return your previous policy, if there was one, or return the PolicyNotFoundException. This is because GetResourcePolicy uses an eventually consistent query, and the metadata for your policy or table might not be available at that moment. Wait for a few seconds, and then try the GetResourcePolicy request again.

@param request A container for the necessary parameters to execute the PutResourcePolicy service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1419,7 +1419,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)updateContributorInsights:(AWSDynamoDBUpdateContributorInsightsInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBUpdateContributorInsightsOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

+

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

@param request A container for the necessary parameters to execute the UpdateGlobalTable service method. @@ -1431,7 +1431,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)updateGlobalTable:(AWSDynamoDBUpdateGlobalTableInput *)request; /** -

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

+

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

@param request A container for the necessary parameters to execute the UpdateGlobalTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1444,7 +1444,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)updateGlobalTable:(AWSDynamoDBUpdateGlobalTableInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBUpdateGlobalTableOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates settings for a global table.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

+

Updates settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

@param request A container for the necessary parameters to execute the UpdateGlobalTableSettings service method. @@ -1456,7 +1456,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)updateGlobalTableSettings:(AWSDynamoDBUpdateGlobalTableSettingsInput *)request; /** -

Updates settings for a global table.

This operation only applies to Version 2017.11.29 (Legacy) of global tables. We recommend using Version 2019.11.21 (Current) when creating new global tables, as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

+

Updates settings for a global table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version), as it provides greater flexibility, higher efficiency and consumes less write capacity than 2017.11.29 (Legacy). To determine which version you are using, see Determining the version. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Updating global tables.

@param request A container for the necessary parameters to execute the UpdateGlobalTableSettings service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1519,7 +1519,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)updateKinesisStreamingDestination:(AWSDynamoDBUpdateKinesisStreamingDestinationInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBUpdateKinesisStreamingDestinationOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

+

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

@param request A container for the necessary parameters to execute the UpdateTable service method. @@ -1531,7 +1531,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)updateTable:(AWSDynamoDBUpdateTableInput *)request; /** -

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

This operation only applies to Version 2019.11.21 (Current) of global tables.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

+

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it's executing, the table status changes from ACTIVE to UPDATING. While it's UPDATING, you can't issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

@param request A container for the necessary parameters to execute the UpdateTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1544,7 +1544,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (void)updateTable:(AWSDynamoDBUpdateTableInput *)request completionHandler:(void (^ _Nullable)(AWSDynamoDBUpdateTableOutput * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Updates auto scaling settings on your global tables at once.

This operation only applies to Version 2019.11.21 (Current) of global tables.

+

Updates auto scaling settings on your global tables at once.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

@param request A container for the necessary parameters to execute the UpdateTableReplicaAutoScaling service method. @@ -1556,7 +1556,7 @@ FOUNDATION_EXPORT NSString *const AWSDynamoDBSDKVersion; - (AWSTask *)updateTableReplicaAutoScaling:(AWSDynamoDBUpdateTableReplicaAutoScalingInput *)request; /** -

Updates auto scaling settings on your global tables at once.

This operation only applies to Version 2019.11.21 (Current) of global tables.

+

Updates auto scaling settings on your global tables at once.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version).

@param request A container for the necessary parameters to execute the UpdateTableReplicaAutoScaling service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m b/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m index d643c8fbb20..bf9824eb41c 100644 --- a/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m +++ b/AWSDynamoDBUnitTests/AWSDynamoDBNSSecureCodingTests.m @@ -153,6 +153,8 @@ - (void) test_AWSDynamoDBListTagsOfResourceOutput API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBLocalSecondaryIndex API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBLocalSecondaryIndexDescription API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBLocalSecondaryIndexInfo API_AVAILABLE(ios(11)); +- (void) test_AWSDynamoDBOnDemandThroughput API_AVAILABLE(ios(11)); +- (void) test_AWSDynamoDBOnDemandThroughputOverride API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBParameterizedStatement API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBPointInTimeRecoveryDescription API_AVAILABLE(ios(11)); - (void) test_AWSDynamoDBPointInTimeRecoverySpecification API_AVAILABLE(ios(11)); @@ -774,6 +776,14 @@ - (void) test_AWSDynamoDBLocalSecondaryIndexInfo { [self validateSecureCodingForClass:[AWSDynamoDBLocalSecondaryIndexInfo class]]; } +- (void) test_AWSDynamoDBOnDemandThroughput { + [self validateSecureCodingForClass:[AWSDynamoDBOnDemandThroughput class]]; +} + +- (void) test_AWSDynamoDBOnDemandThroughputOverride { + [self validateSecureCodingForClass:[AWSDynamoDBOnDemandThroughputOverride class]]; +} + - (void) test_AWSDynamoDBParameterizedStatement { [self validateSecureCodingForClass:[AWSDynamoDBParameterizedStatement class]]; } From 7081d749f50eb48d427f350b477b5970205df3f3 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:35:59 -0700 Subject: [PATCH 08/14] feat(AWSEC2): update models to latest (#5352) --- AWSEC2/AWSEC2Model.h | 295 ++++++++++++++--- AWSEC2/AWSEC2Model.m | 220 +++++++++++++ AWSEC2/AWSEC2Resources.m | 340 ++++++++++++++++---- AWSEC2/AWSEC2Service.h | 139 ++++++-- AWSEC2/AWSEC2Service.m | 69 ++++ AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m | 30 ++ AWSEC2UnitTests/AWSGeneralEC2Tests.m | 144 +++++++++ 7 files changed, 1081 insertions(+), 156 deletions(-) diff --git a/AWSEC2/AWSEC2Model.h b/AWSEC2/AWSEC2Model.h index 11f85cc8f45..7d266693b3d 100644 --- a/AWSEC2/AWSEC2Model.h +++ b/AWSEC2/AWSEC2Model.h @@ -642,6 +642,18 @@ typedef NS_ENUM(NSInteger, AWSEC2Ec2InstanceConnectEndpointState) { AWSEC2Ec2InstanceConnectEndpointStateDeleteFailed, }; +typedef NS_ENUM(NSInteger, AWSEC2EkPubKeyFormat) { + AWSEC2EkPubKeyFormatUnknown, + AWSEC2EkPubKeyFormatDer, + AWSEC2EkPubKeyFormatTpmt, +}; + +typedef NS_ENUM(NSInteger, AWSEC2EkPubKeyType) { + AWSEC2EkPubKeyTypeUnknown, + AWSEC2EkPubKeyTypeRsa2048, + AWSEC2EkPubKeyTypeEccSecP384, +}; + typedef NS_ENUM(NSInteger, AWSEC2ElasticGpuState) { AWSEC2ElasticGpuStateUnknown, AWSEC2ElasticGpuStateAttached, @@ -909,6 +921,7 @@ typedef NS_ENUM(NSInteger, AWSEC2ImageAttributeName) { AWSEC2ImageAttributeNameUefiData, AWSEC2ImageAttributeNameLastLaunchedTime, AWSEC2ImageAttributeNameImdsSupport, + AWSEC2ImageAttributeNameDeregistrationProtection, }; typedef NS_ENUM(NSInteger, AWSEC2ImageBlockPublicAccessDisabledState) { @@ -2320,6 +2333,7 @@ typedef NS_ENUM(NSInteger, AWSEC2NetworkInterfaceAttribute) { AWSEC2NetworkInterfaceAttributeGroupSet, AWSEC2NetworkInterfaceAttributeSourceDestCheck, AWSEC2NetworkInterfaceAttributeAttachment, + AWSEC2NetworkInterfaceAttributeAssociatePublicIpAddress, }; typedef NS_ENUM(NSInteger, AWSEC2NetworkInterfaceCreationType) { @@ -2442,6 +2456,12 @@ typedef NS_ENUM(NSInteger, AWSEC2PermissionGroup) { AWSEC2PermissionGroupAll, }; +typedef NS_ENUM(NSInteger, AWSEC2PhcSupport) { + AWSEC2PhcSupportUnknown, + AWSEC2PhcSupportUnsupported, + AWSEC2PhcSupportSupported, +}; + typedef NS_ENUM(NSInteger, AWSEC2PlacementGroupState) { AWSEC2PlacementGroupStateUnknown, AWSEC2PlacementGroupStatePending, @@ -4231,6 +4251,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2DisableImageBlockPublicAccessResult; @class AWSEC2DisableImageDeprecationRequest; @class AWSEC2DisableImageDeprecationResult; +@class AWSEC2DisableImageDeregistrationProtectionRequest; +@class AWSEC2DisableImageDeregistrationProtectionResult; @class AWSEC2DisableImageRequest; @class AWSEC2DisableImageResult; @class AWSEC2DisableIpamOrganizationAdminAccountRequest; @@ -4320,6 +4342,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2EnableImageBlockPublicAccessResult; @class AWSEC2EnableImageDeprecationRequest; @class AWSEC2EnableImageDeprecationResult; +@class AWSEC2EnableImageDeregistrationProtectionRequest; +@class AWSEC2EnableImageDeregistrationProtectionResult; @class AWSEC2EnableImageRequest; @class AWSEC2EnableImageResult; @class AWSEC2EnableIpamOrganizationAdminAccountRequest; @@ -4417,6 +4441,8 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @class AWSEC2GetImageBlockPublicAccessStateResult; @class AWSEC2GetInstanceMetadataDefaultsRequest; @class AWSEC2GetInstanceMetadataDefaultsResult; +@class AWSEC2GetInstanceTpmEkPubRequest; +@class AWSEC2GetInstanceTpmEkPubResult; @class AWSEC2GetInstanceTypesFromInstanceRequirementsRequest; @class AWSEC2GetInstanceTypesFromInstanceRequirementsResult; @class AWSEC2GetInstanceUefiDataRequest; @@ -7549,12 +7575,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable certificateS3BucketName; /** -

The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle is stored. The object key is formated as follows: role_arn/certificate_arn.

+

The key of the Amazon S3 object where the certificate, certificate chain, and encrypted private key bundle are stored. The object key is formatted as follows: role_arn/certificate_arn.

*/ @property (nonatomic, strong) NSString * _Nullable certificateS3ObjectKey; /** -

The ID of the KMS customer master key (CMK) used to encrypt the private key.

+

The ID of the KMS key used to encrypt the private key.

*/ @property (nonatomic, strong) NSString * _Nullable encryptionKmsKeyId; @@ -8811,7 +8837,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The IDs of the Spot Fleet requests.

+

The IDs of the Spot Fleet requests.

Constraint: You can specify up to 100 IDs in a single request.

*/ @property (nonatomic, strong) NSArray * _Nullable spotFleetRequestIds; @@ -11155,10 +11181,15 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

+

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Default: 65000

Valid values: 1 to 2,147,483,647

*/ @property (nonatomic, strong) NSNumber * _Nullable bgpAsn; +/** +

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Valid values: 2,147,483,648 to 4,294,967,295

+ */ +@property (nonatomic, strong) NSNumber * _Nullable bgpAsnExtended; + /**

The Amazon Resource Name (ARN) for the customer gateway certificate.

*/ @@ -11175,7 +11206,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

IPv4 address for the customer gateway device's outside interface. The address must be static.

+

IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

*/ @property (nonatomic, strong) NSString * _Nullable ipAddress; @@ -11360,12 +11391,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

+

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

*/ @property (nonatomic, strong) NSString * _Nullable errorCode; /** -

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

+

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

*/ @property (nonatomic, strong) NSString * _Nullable errorMessage; @@ -12221,7 +12252,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable launchTemplateName; /** -

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

+

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

*/ @property (nonatomic, strong) NSArray * _Nullable tagSpecifications; @@ -12272,12 +12303,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2RequestLaunchTemplateData * _Nullable launchTemplateData; /** -

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -12287,7 +12318,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable resolveAlias; /** -

The version number of the launch template version on which to base the new version. The new version inherits the same launch parameters as the source version, except for parameters that you specify in LaunchTemplateData. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

+

The version of the launch template on which to base the new version. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

If you specify this parameter, the new version inherits the launch parameters from the source version. If you specify additional launch parameters for the new version, they overwrite any corresponding launch parameters inherited from the source version.

If you omit this parameter, the new version contains only the launch parameters that you specify for the new version.

*/ @property (nonatomic, strong) NSString * _Nullable sourceVersion; @@ -15602,10 +15633,15 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

+

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

Valid values: 1 to 2,147,483,647

*/ @property (nonatomic, strong) NSString * _Nullable bgpAsn; +/** +

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

Valid values: 2,147,483,648 to 4,294,967,295

+ */ +@property (nonatomic, strong) NSString * _Nullable bgpAsnExtended; + /**

The Amazon Resource Name (ARN) for the customer gateway certificate.

*/ @@ -15622,7 +15658,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable deviceName; /** -

The IP address of the customer gateway device's outside interface.

+

IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

*/ @property (nonatomic, strong) NSString * _Nullable ipAddress; @@ -16033,7 +16069,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The IDs of the EC2 Fleets.

+

The IDs of the EC2 Fleets.

Constraints: In a single request, you can specify up to 25 instant fleet IDs and up to 100 maintain or request fleet IDs.

*/ @property (nonatomic, strong) NSArray * _Nullable fleetIds; @@ -16396,12 +16432,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -16432,12 +16468,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -20975,12 +21011,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

One or more filters. Filter names and values are case-sensitive.

  • location - This depends on the location type. For example, if the location type is region (default), the location is the Region code (for example, us-east-2.)

  • instance-type - The instance type. For example, c5.2xlarge.

+

One or more filters. Filter names and values are case-sensitive.

  • instance-type - The instance type. For a list of possible values, see Instance.

  • location - The location. For a list of possible identifiers, see Regions and Zones.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The location type.

+

The location type.

  • availability-zone - The Availability Zone. When you specify a location filter, it must be an Availability Zone for the current Region.

  • availability-zone-id - The AZ ID. When you specify a location filter, it must be an AZ ID for the current Region.

  • outpost - The Outpost ARN. When you specify a location filter, it must be an Outpost ARN for the current Region.

  • region - The current Region. If you specify a location filter, it must match the current Region.

*/ @property (nonatomic, assign) AWSEC2LocationType locationType; @@ -21003,7 +21039,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The instance types offered.

+

The instance types offered in the location.

*/ @property (nonatomic, strong) NSArray * _Nullable instanceTypeOfferings; @@ -21031,7 +21067,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

+

The instance types.

*/ @property (nonatomic, strong) NSArray * _Nullable instanceTypes; @@ -21054,7 +21090,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

+

The instance type.

*/ @property (nonatomic, strong) NSArray * _Nullable instanceTypes; @@ -21577,12 +21613,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

+

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template ID or the launch template name, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

+

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template name or the launch template ID, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -22563,6 +22599,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2DescribeNetworkInterfaceAttributeResult : AWSModel +/** +

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; + /**

The attachment (if any) of the network interface.

*/ @@ -22676,7 +22717,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Information about one or more network interfaces.

+

Information about the network interfaces.

*/ @property (nonatomic, strong) NSArray * _Nullable networkInterfaces; @@ -24130,7 +24171,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

  • tag:<key> - The key/value combination of the tag. For example, specify "tag:Owner" for the filter name and "TeamA" for the filter value to find resources with the tag "Owner=TeamA".

  • value - The tag value.

+

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type. For a list of possible values, see TagSpecification.

  • tag:<key> - The key/value combination of the tag. For example, specify "tag:Owner" for the filter name and "TeamA" for the filter value to find resources with the tag "Owner=TeamA".

  • value - The tag value.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -24788,7 +24829,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

  • state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

  • transit-gateway-id - The ID of the transit gateway.

+

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

  • state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

  • transit-gateway-id - The ID of the transit gateway.

  • 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.

*/ @property (nonatomic, strong) NSArray * _Nullable filters; @@ -26671,6 +26712,37 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2DisableImageDeregistrationProtectionRequest : 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 AWSEC2DisableImageDeregistrationProtectionResult : AWSModel + + +/** +

Returns true if the request succeeds; otherwise, it returns an error.

+ */ +@property (nonatomic, strong) NSString * _Nullable returned; + +@end + /** */ @@ -28547,6 +28619,42 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2EnableImageDeregistrationProtectionRequest : 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; + +/** +

If true, enforces deregistration protection for 24 hours after deregistration protection is disabled.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable withCooldown; + +@end + +/** + + */ +@interface AWSEC2EnableImageDeregistrationProtectionResult : AWSModel + + +/** +

Returns true if the request succeeds; otherwise, it returns an error.

+ */ +@property (nonatomic, strong) NSString * _Nullable returned; + +@end + /** */ @@ -31166,6 +31274,62 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end +/** + + */ +@interface AWSEC2GetInstanceTpmEkPubRequest : AWSRequest + + +/** +

Specify this parameter to verify whether the request will succeed, without actually making the request. If the request will succeed, the response is DryRunOperation. Otherwise, the response is UnauthorizedOperation.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable dryRun; + +/** +

The ID of the instance for which to get the public endorsement key.

+ */ +@property (nonatomic, strong) NSString * _Nullable instanceId; + +/** +

The required public endorsement key format. Specify der for a DER-encoded public key that is compatible with OpenSSL. Specify tpmt for a TPM 2.0 format that is compatible with tpm2-tools. The returned key is base64 encoded.

+ */ +@property (nonatomic, assign) AWSEC2EkPubKeyFormat keyFormat; + +/** +

The required public endorsement key type.

+ */ +@property (nonatomic, assign) AWSEC2EkPubKeyType keyType; + +@end + +/** + + */ +@interface AWSEC2GetInstanceTpmEkPubResult : AWSModel + + +/** +

The ID of the instance.

+ */ +@property (nonatomic, strong) NSString * _Nullable instanceId; + +/** +

The public endorsement key format.

+ */ +@property (nonatomic, assign) AWSEC2EkPubKeyFormat keyFormat; + +/** +

The public endorsement key type.

+ */ +@property (nonatomic, assign) AWSEC2EkPubKeyType keyType; + +/** +

The public endorsement key material.

+ */ +@property (nonatomic, strong) NSString * _Nullable keyValue; + +@end + /** */ @@ -33411,6 +33575,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable deprecationTime; +/** +

Indicates whether deregistration protection is enabled for the AMI.

+ */ +@property (nonatomic, strong) NSString * _Nullable deregistrationProtection; + /**

The description of the AMI that was provided during image creation.

*/ @@ -33456,6 +33625,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) NSString * _Nullable kernelId; +/** +

The date and time, in ISO 8601 date-time format, when the AMI was last used to launch an EC2 instance. When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

lastLaunchedTime data is available starting April 2017.

+ */ +@property (nonatomic, strong) NSString * _Nullable lastLaunchedTime; + /**

The name of the AMI that was provided during image creation.

*/ @@ -33559,6 +33733,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, strong) AWSEC2AttributeValue * _Nullable bootMode; +/** +

Indicates whether deregistration protection is enabled for the AMI.

+ */ +@property (nonatomic, strong) AWSEC2AttributeValue * _Nullable deregistrationProtection; + /**

A description for the AMI.

*/ @@ -36474,6 +36653,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { */ @property (nonatomic, assign) AWSEC2NitroTpmSupport nitroTpmSupport; +/** +

Indicates whether a local Precision Time Protocol (PTP) hardware clock (PHC) is supported.

+ */ +@property (nonatomic, assign) AWSEC2PhcSupport phcSupport; + /**

Describes the placement group settings for the instance type.

*/ @@ -38816,7 +39000,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable detail; /** -

The device index for the network interface attachment.

+

The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.

*/ @property (nonatomic, strong) NSNumber * _Nullable deviceIndex; @@ -39124,23 +39308,23 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @end /** -

The launch template to use. You must specify either the launch template ID or launch template name in the request, but not both.

+

Describes the launch template to use.

*/ @interface AWSEC2LaunchTemplateSpecification : AWSModel /** -

The ID of the launch template.

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; /** -

The launch template version number, $Latest, or $Default.

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

If the value is $Default, Amazon EC2 uses the default version of the launch template.

Default: The default version of the launch template.

+

The launch template version number, $Latest, or $Default.

A value of $Latest uses the latest version of the launch template.

A value of $Default uses the default version of the launch template.

Default: The default version of the launch template.

*/ @property (nonatomic, strong) NSString * _Nullable version; @@ -41194,7 +41378,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, assign) AWSEC2DefaultInstanceMetadataEndpointState httpEndpoint; /** -

The maximum number of hops that the metadata token can travel.

Minimum: 1

Maximum: 64

+

The maximum number of hops that the metadata token can travel. To indicate no preference, specify -1.

Possible values: Integers from 1 to 64, and -1 to indicate no preference

*/ @property (nonatomic, strong) NSNumber * _Nullable httpPutResponseHopLimit; @@ -41627,12 +41811,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable dryRun; /** -

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

+

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateId; /** -

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

+

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

*/ @property (nonatomic, strong) NSString * _Nullable launchTemplateName; @@ -41765,6 +41949,11 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @interface AWSEC2ModifyNetworkInterfaceAttributeRequest : AWSRequest +/** +

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

+ */ +@property (nonatomic, strong) NSNumber * _Nullable associatePublicIpAddress; + /**

Information about the interface attachment. If modifying the delete on termination attribute, you must specify the ID of the interface attachment.

*/ @@ -48077,7 +48266,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2LaunchTemplatesMonitoringRequest * _Nullable monitoring; /** -

One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

+

The network interfaces for the instance.

*/ @property (nonatomic, strong) NSArray * _Nullable networkInterfaces; @@ -48097,12 +48286,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.

+

The IDs of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroupIds; /** -

One or more security group names. For a nondefault VPC, you must use security group IDs instead.

+

The names of the security groups. For a nondefault VPC, you must use security group IDs instead.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroups; @@ -49984,12 +50173,12 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable ebsOptimized; /** -

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

+

An elastic GPU to associate with the instance.

Amazon Elastic Graphics reached end of life on January 8, 2024.

*/ @property (nonatomic, strong) NSArray * _Nullable elasticGpuSpecification; /** -

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.

+

An elastic inference accelerator to associate with the instance.

Amazon Elastic Inference (EI) is no longer available to new customers. For more information, see Amazon Elastic Inference FAQs.

*/ @property (nonatomic, strong) NSArray * _Nullable elasticInferenceAccelerators; @@ -50054,7 +50243,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable keyName; /** -

The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.

+

The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.

*/ @property (nonatomic, strong) AWSEC2LaunchTemplateSpecification * _Nullable launchTemplate; @@ -50089,7 +50278,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2RunInstancesMonitoringEnabled * _Nullable monitoring; /** -

The network interfaces to associate with the instance. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

+

The network interfaces to associate with the instance.

*/ @property (nonatomic, strong) NSArray * _Nullable networkInterfaces; @@ -50114,17 +50303,17 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable ramdiskId; /** -

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface.

+

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroupIds; /** -

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface.

Default: Amazon EC2 uses the default security group.

+

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

Default: Amazon EC2 uses the default security group.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroups; /** -

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface.

+

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable subnetId; @@ -50872,7 +51061,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSArray * _Nullable filters; /** -

The maximum number of routes to return.

+

The maximum number of routes to return. If a value is not provided, the default is 1000.

*/ @property (nonatomic, strong) NSNumber * _Nullable maxResults; @@ -51949,7 +52138,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) AWSEC2SpotFleetMonitoring * _Nullable monitoring; /** -

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

+

The network interfaces.

SpotFleetLaunchSpecification does not support Elastic Fabric Adapter (EFA). You must use LaunchTemplateConfig instead.

*/ @property (nonatomic, strong) NSArray * _Nullable networkInterfaces; @@ -51964,7 +52153,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable ramdiskId; /** -

The security groups.

+

The security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSArray * _Nullable securityGroups; @@ -51974,7 +52163,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable spotPrice; /** -

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

+

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

*/ @property (nonatomic, strong) NSString * _Nullable subnetId; @@ -56710,7 +56899,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { /** -

Information about the volume attachments.

+

This parameter is not returned by CreateVolume.

Information about the volume attachments.

*/ @property (nonatomic, strong) NSArray * _Nullable attachments; @@ -56730,7 +56919,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSNumber * _Nullable encrypted; /** -

Indicates whether the volume was created using fast snapshot restore.

+

This parameter is not returned by CreateVolume.

Indicates whether the volume was created using fast snapshot restore.

*/ @property (nonatomic, strong) NSNumber * _Nullable fastRestored; @@ -56765,7 +56954,7 @@ typedef NS_ENUM(NSInteger, AWSEC2scope) { @property (nonatomic, strong) NSString * _Nullable snapshotId; /** -

Reserved for future use.

+

This parameter is not returned by CreateVolume.

Reserved for future use.

*/ @property (nonatomic, assign) AWSEC2SSEType sseType; diff --git a/AWSEC2/AWSEC2Model.m b/AWSEC2/AWSEC2Model.m index 7df709ff9b2..59eaef0c3d8 100644 --- a/AWSEC2/AWSEC2Model.m +++ b/AWSEC2/AWSEC2Model.m @@ -6458,6 +6458,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bgpAsn" : @"BgpAsn", + @"bgpAsnExtended" : @"BgpAsnExtended", @"certificateArn" : @"CertificateArn", @"deviceName" : @"DeviceName", @"dryRun" : @"DryRun", @@ -14978,6 +14979,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bgpAsn" : @"BgpAsn", + @"bgpAsnExtended" : @"BgpAsnExtended", @"certificateArn" : @"CertificateArn", @"customerGatewayId" : @"CustomerGatewayId", @"deviceName" : @"DeviceName", @@ -23845,6 +23847,9 @@ + (NSValueTransformer *)attributeJSONTransformer { if ([value caseInsensitiveCompare:@"imdsSupport"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameImdsSupport); } + if ([value caseInsensitiveCompare:@"deregistrationProtection"] == NSOrderedSame) { + return @(AWSEC2ImageAttributeNameDeregistrationProtection); + } return @(AWSEC2ImageAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -23872,6 +23877,8 @@ + (NSValueTransformer *)attributeJSONTransformer { return @"lastLaunchedTime"; case AWSEC2ImageAttributeNameImdsSupport: return @"imdsSupport"; + case AWSEC2ImageAttributeNameDeregistrationProtection: + return @"deregistrationProtection"; default: return nil; } @@ -25678,6 +25685,9 @@ + (NSValueTransformer *)attributeJSONTransformer { if ([value caseInsensitiveCompare:@"attachment"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceAttributeAttachment); } + if ([value caseInsensitiveCompare:@"associatePublicIpAddress"] == NSOrderedSame) { + return @(AWSEC2NetworkInterfaceAttributeAssociatePublicIpAddress); + } return @(AWSEC2NetworkInterfaceAttributeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -25689,6 +25699,8 @@ + (NSValueTransformer *)attributeJSONTransformer { return @"sourceDestCheck"; case AWSEC2NetworkInterfaceAttributeAttachment: return @"attachment"; + case AWSEC2NetworkInterfaceAttributeAssociatePublicIpAddress: + return @"associatePublicIpAddress"; default: return nil; } @@ -25705,6 +25717,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"associatePublicIpAddress" : @"AssociatePublicIpAddress", @"attachment" : @"Attachment", @"detail" : @"Description", @"groups" : @"Groups", @@ -33560,6 +33573,35 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2DisableImageDeregistrationProtectionRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"imageId" : @"ImageId", + }; +} + +@end + +@implementation AWSEC2DisableImageDeregistrationProtectionResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"returned" : @"Return", + }; +} + +@end + @implementation AWSEC2DisableImageRequest + (BOOL)supportsSecureCoding { @@ -35707,6 +35749,36 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSEC2EnableImageDeregistrationProtectionRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"imageId" : @"ImageId", + @"withCooldown" : @"WithCooldown", + }; +} + +@end + +@implementation AWSEC2EnableImageDeregistrationProtectionResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"returned" : @"Return", + }; +} + +@end + @implementation AWSEC2EnableImageRequest + (BOOL)supportsSecureCoding { @@ -50458,6 +50530,124 @@ + (NSValueTransformer *)accountLevelJSONTransformer { @end +@implementation AWSEC2GetInstanceTpmEkPubRequest + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"dryRun" : @"DryRun", + @"instanceId" : @"InstanceId", + @"keyFormat" : @"KeyFormat", + @"keyType" : @"KeyType", + }; +} + ++ (NSValueTransformer *)keyFormatJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"der"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyFormatDer); + } + if ([value caseInsensitiveCompare:@"tpmt"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyFormatTpmt); + } + return @(AWSEC2EkPubKeyFormatUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2EkPubKeyFormatDer: + return @"der"; + case AWSEC2EkPubKeyFormatTpmt: + return @"tpmt"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)keyTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"rsa-2048"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyTypeRsa2048); + } + if ([value caseInsensitiveCompare:@"ecc-sec-p384"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyTypeEccSecP384); + } + return @(AWSEC2EkPubKeyTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2EkPubKeyTypeRsa2048: + return @"rsa-2048"; + case AWSEC2EkPubKeyTypeEccSecP384: + return @"ecc-sec-p384"; + default: + return nil; + } + }]; +} + +@end + +@implementation AWSEC2GetInstanceTpmEkPubResult + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"instanceId" : @"InstanceId", + @"keyFormat" : @"KeyFormat", + @"keyType" : @"KeyType", + @"keyValue" : @"KeyValue", + }; +} + ++ (NSValueTransformer *)keyFormatJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"der"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyFormatDer); + } + if ([value caseInsensitiveCompare:@"tpmt"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyFormatTpmt); + } + return @(AWSEC2EkPubKeyFormatUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2EkPubKeyFormatDer: + return @"der"; + case AWSEC2EkPubKeyFormatTpmt: + return @"tpmt"; + default: + return nil; + } + }]; +} + ++ (NSValueTransformer *)keyTypeJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"rsa-2048"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyTypeRsa2048); + } + if ([value caseInsensitiveCompare:@"ecc-sec-p384"] == NSOrderedSame) { + return @(AWSEC2EkPubKeyTypeEccSecP384); + } + return @(AWSEC2EkPubKeyTypeUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2EkPubKeyTypeRsa2048: + return @"rsa-2048"; + case AWSEC2EkPubKeyTypeEccSecP384: + return @"ecc-sec-p384"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSEC2GetInstanceTypesFromInstanceRequirementsRequest + (BOOL)supportsSecureCoding { @@ -52681,6 +52871,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"bootMode" : @"BootMode", @"creationDate" : @"CreationDate", @"deprecationTime" : @"DeprecationTime", + @"deregistrationProtection" : @"DeregistrationProtection", @"detail" : @"Description", @"enaSupport" : @"EnaSupport", @"hypervisor" : @"Hypervisor", @@ -52690,6 +52881,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"imageType" : @"ImageType", @"imdsSupport" : @"ImdsSupport", @"kernelId" : @"KernelId", + @"lastLaunchedTime" : @"LastLaunchedTime", @"name" : @"Name", @"ownerId" : @"OwnerId", @"platform" : @"Platform", @@ -52988,6 +53180,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDeviceMappings" : @"BlockDeviceMappings", @"bootMode" : @"BootMode", + @"deregistrationProtection" : @"DeregistrationProtection", @"detail" : @"Description", @"imageId" : @"ImageId", @"imdsSupport" : @"ImdsSupport", @@ -53010,6 +53203,10 @@ + (NSValueTransformer *)bootModeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } ++ (NSValueTransformer *)deregistrationProtectionJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; +} + + (NSValueTransformer *)detailJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } @@ -64424,6 +64621,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"nitroEnclavesSupport" : @"NitroEnclavesSupport", @"nitroTpmInfo" : @"NitroTpmInfo", @"nitroTpmSupport" : @"NitroTpmSupport", + @"phcSupport" : @"PhcSupport", @"placementGroupInfo" : @"PlacementGroupInfo", @"processorInfo" : @"ProcessorInfo", @"supportedBootModes" : @"SupportedBootModes", @@ -68528,6 +68726,27 @@ + (NSValueTransformer *)nitroTpmSupportJSONTransformer { }]; } ++ (NSValueTransformer *)phcSupportJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { + return @(AWSEC2PhcSupportUnsupported); + } + if ([value caseInsensitiveCompare:@"supported"] == NSOrderedSame) { + return @(AWSEC2PhcSupportSupported); + } + return @(AWSEC2PhcSupportUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSEC2PhcSupportUnsupported: + return @"unsupported"; + case AWSEC2PhcSupportSupported: + return @"supported"; + default: + return nil; + } + }]; +} + + (NSValueTransformer *)placementGroupInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PlacementGroupInfo class]]; } @@ -87843,6 +88062,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"associatePublicIpAddress" : @"AssociatePublicIpAddress", @"attachment" : @"Attachment", @"connectionTrackingSpecification" : @"ConnectionTrackingSpecification", @"detail" : @"Description", diff --git a/AWSEC2/AWSEC2Resources.m b/AWSEC2/AWSEC2Resources.m index 729116deadc..115de9810d2 100644 --- a/AWSEC2/AWSEC2Resources.m +++ b/AWSEC2/AWSEC2Resources.m @@ -564,7 +564,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CancelSpotFleetRequestsRequest\"},\ \"output\":{\"shape\":\"CancelSpotFleetRequestsResponse\"},\ - \"documentation\":\"

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

\"\ + \"documentation\":\"

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

Restrictions

  • You can delete up to 100 fleets in a single request. If you exceed the specified number, no fleets are deleted.

\"\ },\ \"CancelSpotInstanceRequests\":{\ \"name\":\"CancelSpotInstanceRequests\",\ @@ -724,7 +724,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateDhcpOptionsRequest\"},\ \"output\":{\"shape\":\"CreateDhcpOptionsResult\"},\ - \"documentation\":\"

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

\"\ + \"documentation\":\"

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-address-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

\"\ },\ \"CreateEgressOnlyInternetGateway\":{\ \"name\":\"CreateEgressOnlyInternetGateway\",\ @@ -874,7 +874,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateLaunchTemplateRequest\"},\ \"output\":{\"shape\":\"CreateLaunchTemplateResult\"},\ - \"documentation\":\"

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

If you want to clone an existing launch template as the basis for creating a new launch template, you can use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

\"\ },\ \"CreateLaunchTemplateVersion\":{\ \"name\":\"CreateLaunchTemplateVersion\",\ @@ -884,7 +884,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"CreateLaunchTemplateVersionRequest\"},\ \"output\":{\"shape\":\"CreateLaunchTemplateVersionResult\"},\ - \"documentation\":\"

Creates a new version of a launch template. You can specify an existing version of launch template from which to base the new version.

Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes any changes you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

\"\ + \"documentation\":\"

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

\"\ },\ \"CreateLocalGatewayRoute\":{\ \"name\":\"CreateLocalGatewayRoute\",\ @@ -1519,7 +1519,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DeleteFleetsRequest\"},\ \"output\":{\"shape\":\"DeleteFleetsResult\"},\ - \"documentation\":\"

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 instant fleets in a single request. If you exceed this number, no instant fleets are deleted and an error is returned. There is no restriction on the number of fleets of type maintain or request that can be deleted in a single request.

  • Up to 1000 instances can be terminated in a single request to delete instant fleets.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. Up to 1000 instances can be terminated in a single request to delete instant fleets. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 fleets of type instant in a single request.

  • You can delete up to 100 fleets of type maintain or request in a single request.

  • You can delete up to 125 fleets in a single request, provided you do not exceed the quota for each fleet type, as specified above.

  • If you exceed the specified number of fleets to delete, no fleets are deleted.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

\"\ },\ \"DeleteFlowLogs\":{\ \"name\":\"DeleteFlowLogs\",\ @@ -2007,7 +2007,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DeleteTransitGatewayRouteTableRequest\"},\ \"output\":{\"shape\":\"DeleteTransitGatewayRouteTableResult\"},\ - \"documentation\":\"

Deletes the specified transit gateway route table. You must disassociate the route table from any transit gateway route tables before you can delete it.

\"\ + \"documentation\":\"

Deletes the specified transit gateway route table. If there are any route tables associated with the transit gateway route table, you must first run DisassociateRouteTable before you can delete the transit gateway route table. This removes any route tables associated with the transit gateway route table.

\"\ },\ \"DeleteTransitGatewayRouteTableAnnouncement\":{\ \"name\":\"DeleteTransitGatewayRouteTableAnnouncement\",\ @@ -2661,7 +2661,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeImagesRequest\"},\ \"output\":{\"shape\":\"DescribeImagesResult\"},\ - \"documentation\":\"

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ + \"documentation\":\"

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeImportImageTasks\":{\ \"name\":\"DescribeImportImageTasks\",\ @@ -2761,7 +2761,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeInstanceTypeOfferingsRequest\"},\ \"output\":{\"shape\":\"DescribeInstanceTypeOfferingsResult\"},\ - \"documentation\":\"

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.

\"\ + \"documentation\":\"

Lists the instance types that are offered for the specified location. If no location is specified, the default is to list the instance types that are offered in the current Region.

\"\ },\ \"DescribeInstanceTypes\":{\ \"name\":\"DescribeInstanceTypes\",\ @@ -2771,7 +2771,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeInstanceTypesRequest\"},\ \"output\":{\"shape\":\"DescribeInstanceTypesResult\"},\ - \"documentation\":\"

Describes the details of the instance types that are offered in a location. The results can be filtered by the attributes of the instance types.

\"\ + \"documentation\":\"

Describes the specified instance types. By default, all instance types for the current Region are described. Alternatively, you can filter the results.

\"\ },\ \"DescribeInstances\":{\ \"name\":\"DescribeInstances\",\ @@ -2781,7 +2781,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeInstancesRequest\"},\ \"output\":{\"shape\":\"DescribeInstancesResult\"},\ - \"documentation\":\"

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ + \"documentation\":\"

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeInternetGateways\":{\ \"name\":\"DescribeInternetGateways\",\ @@ -3081,7 +3081,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeNetworkInterfacesRequest\"},\ \"output\":{\"shape\":\"DescribeNetworkInterfacesResult\"},\ - \"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.

\"\ + \"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.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

\"\ },\ \"DescribePlacementGroups\":{\ \"name\":\"DescribePlacementGroups\",\ @@ -3271,7 +3271,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeSnapshotsRequest\"},\ \"output\":{\"shape\":\"DescribeSnapshotsResult\"},\ - \"documentation\":\"

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

\"\ + \"documentation\":\"

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

\"\ },\ \"DescribeSpotDatafeedSubscription\":{\ \"name\":\"DescribeSpotDatafeedSubscription\",\ @@ -3371,7 +3371,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeTagsRequest\"},\ \"output\":{\"shape\":\"DescribeTagsResult\"},\ - \"documentation\":\"

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ + \"documentation\":\"

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeTrafficMirrorFilters\":{\ \"name\":\"DescribeTrafficMirrorFilters\",\ @@ -3591,7 +3591,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"DescribeVolumesRequest\"},\ \"output\":{\"shape\":\"DescribeVolumesResult\"},\ - \"documentation\":\"

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ + \"documentation\":\"

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

\"\ },\ \"DescribeVolumesModifications\":{\ \"name\":\"DescribeVolumesModifications\",\ @@ -3870,6 +3870,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"DisableImageDeprecationResult\"},\ \"documentation\":\"

Cancels the deprecation of the specified AMI.

For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

\"\ },\ + \"DisableImageDeregistrationProtection\":{\ + \"name\":\"DisableImageDeregistrationProtection\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"DisableImageDeregistrationProtectionRequest\"},\ + \"output\":{\"shape\":\"DisableImageDeregistrationProtectionResult\"},\ + \"documentation\":\"

Disables deregistration protection for an AMI. When deregistration protection is disabled, the AMI can be deregistered.

If you chose to include a 24-hour cooldown period when you enabled deregistration protection for the AMI, then, when you disable deregistration protection, you won’t immediately be able to deregister the AMI.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

\"\ + },\ \"DisableIpamOrganizationAdminAccount\":{\ \"name\":\"DisableIpamOrganizationAdminAccount\",\ \"http\":{\ @@ -4167,6 +4177,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"EnableImageDeprecationResult\"},\ \"documentation\":\"

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.

\"\ },\ + \"EnableImageDeregistrationProtection\":{\ + \"name\":\"EnableImageDeregistrationProtection\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"EnableImageDeregistrationProtectionRequest\"},\ + \"output\":{\"shape\":\"EnableImageDeregistrationProtectionResult\"},\ + \"documentation\":\"

Enables deregistration protection for an AMI. When deregistration protection is enabled, the AMI can't be deregistered.

To allow the AMI to be deregistered, you must first disable deregistration protection using DisableImageDeregistrationProtection.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

\"\ + },\ \"EnableIpamOrganizationAdminAccount\":{\ \"name\":\"EnableIpamOrganizationAdminAccount\",\ \"http\":{\ @@ -4363,7 +4383,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"GetConsoleScreenshotRequest\"},\ \"output\":{\"shape\":\"GetConsoleScreenshotResult\"},\ - \"documentation\":\"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

\"\ + \"documentation\":\"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

For more information, see Instance console output in the Amazon EC2 User Guide.

\"\ },\ \"GetDefaultCreditSpecification\":{\ \"name\":\"GetDefaultCreditSpecification\",\ @@ -4445,6 +4465,16 @@ - (NSString *)definitionString { \"output\":{\"shape\":\"GetInstanceMetadataDefaultsResult\"},\ \"documentation\":\"

Gets the default instance metadata service (IMDS) settings that are set at the account level in the specified Amazon Web Services
 Region.

For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ },\ + \"GetInstanceTpmEkPub\":{\ + \"name\":\"GetInstanceTpmEkPub\",\ + \"http\":{\ + \"method\":\"POST\",\ + \"requestUri\":\"/\"\ + },\ + \"input\":{\"shape\":\"GetInstanceTpmEkPubRequest\"},\ + \"output\":{\"shape\":\"GetInstanceTpmEkPubResult\"},\ + \"documentation\":\"

Gets the public endorsement key associated with the Nitro Trusted Platform Module (NitroTPM) for the specified instance.

\"\ + },\ \"GetInstanceTypesFromInstanceRequirements\":{\ \"name\":\"GetInstanceTypesFromInstanceRequirements\",\ \"http\":{\ @@ -5059,7 +5089,7 @@ - (NSString *)definitionString { },\ \"input\":{\"shape\":\"ModifyInstanceMetadataDefaultsRequest\"},\ \"output\":{\"shape\":\"ModifyInstanceMetadataDefaultsResult\"},\ - \"documentation\":\"

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. At instance launch, the value will come from the AMI, or from the launch parameter if specified. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ + \"documentation\":\"

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. If an account-level setting is cleared with no-preference, then the instance launch considers the other instance metadata settings. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

\"\ },\ \"ModifyInstanceMetadataOptions\":{\ \"name\":\"ModifyInstanceMetadataOptions\",\ @@ -8593,12 +8623,12 @@ - (NSString *)definitionString { },\ \"CertificateS3ObjectKey\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle is stored. The object key is formated as follows: role_arn/certificate_arn.

\",\ + \"documentation\":\"

The key of the Amazon S3 object where the certificate, certificate chain, and encrypted private key bundle are stored. The object key is formatted as follows: role_arn/certificate_arn.

\",\ \"locationName\":\"certificateS3ObjectKey\"\ },\ \"EncryptionKmsKeyId\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The ID of the KMS customer master key (CMK) used to encrypt the private key.

\",\ + \"documentation\":\"

The ID of the KMS key used to encrypt the private key.

\",\ \"locationName\":\"encryptionKmsKeyId\"\ }\ },\ @@ -10009,7 +10039,7 @@ - (NSString *)definitionString { },\ \"SpotFleetRequestIds\":{\ \"shape\":\"SpotFleetRequestIdList\",\ - \"documentation\":\"

The IDs of the Spot Fleet requests.

\",\ + \"documentation\":\"

The IDs of the Spot Fleet requests.

Constraint: You can specify up to 100 IDs in a single request.

\",\ \"locationName\":\"spotFleetRequestId\"\ },\ \"TerminateInstances\":{\ @@ -12560,7 +12590,7 @@ - (NSString *)definitionString { \"members\":{\ \"BgpAsn\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

\"\ + \"documentation\":\"

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Default: 65000

Valid values: 1 to 2,147,483,647

\"\ },\ \"PublicIp\":{\ \"shape\":\"String\",\ @@ -12585,12 +12615,16 @@ - (NSString *)definitionString { },\ \"IpAddress\":{\ \"shape\":\"String\",\ - \"documentation\":\"

IPv4 address for the customer gateway device's outside interface. The address must be static.

\"\ + \"documentation\":\"

IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

\"\ },\ \"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.

\",\ \"locationName\":\"dryRun\"\ + },\ + \"BgpAsnExtended\":{\ + \"shape\":\"Long\",\ + \"documentation\":\"

For customer gateway devices that support BGP, specify the device's ASN. You must specify either BgpAsn or BgpAsnExtended when creating the customer gateway. If the ASN is larger than 2,147,483,647, you must use BgpAsnExtended.

Valid values: 2,147,483,648 to 4,294,967,295

\"\ }\ },\ \"documentation\":\"

Contains the parameters for CreateCustomerGateway.

\"\ @@ -12737,12 +12771,12 @@ - (NSString *)definitionString { },\ \"ErrorCode\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

\",\ + \"documentation\":\"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error codes.

\",\ \"locationName\":\"errorCode\"\ },\ \"ErrorMessage\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

\",\ + \"documentation\":\"

The error message that describes why the instance could not be launched. For more information about error messages, see Error codes.

\",\ \"locationName\":\"errorMessage\"\ }\ },\ @@ -13490,7 +13524,7 @@ - (NSString *)definitionString { },\ \"TagSpecifications\":{\ \"shape\":\"TagSpecificationList\",\ - \"documentation\":\"

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

\",\ + \"documentation\":\"

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

\",\ \"locationName\":\"TagSpecification\"\ }\ }\ @@ -13524,15 +13558,15 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"LaunchTemplateName\":{\ \"shape\":\"LaunchTemplateName\",\ - \"documentation\":\"

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"SourceVersion\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The version number of the launch template version on which to base the new version. The new version inherits the same launch parameters as the source version, except for parameters that you specify in LaunchTemplateData. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

\"\ + \"documentation\":\"

The version of the launch template on which to base the new version. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

If you specify this parameter, the new version inherits the launch parameters from the source version. If you specify additional launch parameters for the new version, they overwrite any corresponding launch parameters inherited from the source version.

If you omit this parameter, the new version contains only the launch parameters that you specify for the new version.

\"\ },\ \"VersionDescription\":{\ \"shape\":\"VersionDescription\",\ @@ -16416,7 +16450,7 @@ - (NSString *)definitionString { \"members\":{\ \"BgpAsn\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

\",\ + \"documentation\":\"

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

Valid values: 1 to 2,147,483,647

\",\ \"locationName\":\"bgpAsn\"\ },\ \"CustomerGatewayId\":{\ @@ -16426,7 +16460,7 @@ - (NSString *)definitionString { },\ \"IpAddress\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The IP address of the customer gateway device's outside interface.

\",\ + \"documentation\":\"

IPv4 address for the customer gateway device's outside interface. The address must be static. If OutsideIpAddressType in your VPN connection options is set to PrivateIpv4, you can use an RFC6598 or RFC1918 private IPv4 address. If OutsideIpAddressType is set to PublicIpv4, you can use a public IPv4 address.

\",\ \"locationName\":\"ipAddress\"\ },\ \"CertificateArn\":{\ @@ -16453,6 +16487,11 @@ - (NSString *)definitionString { \"shape\":\"TagList\",\ \"documentation\":\"

Any tags assigned to the customer gateway.

\",\ \"locationName\":\"tagSet\"\ + },\ + \"BgpAsnExtended\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

Valid values: 2,147,483,648 to 4,294,967,295

\",\ + \"locationName\":\"bgpAsnExtended\"\ }\ },\ \"documentation\":\"

Describes a customer gateway.

\"\ @@ -16903,7 +16942,7 @@ - (NSString *)definitionString { },\ \"FleetIds\":{\ \"shape\":\"FleetIdSet\",\ - \"documentation\":\"

The IDs of the EC2 Fleets.

\",\ + \"documentation\":\"

The IDs of the EC2 Fleets.

Constraints: In a single request, you can specify up to 25 instant fleet IDs and up to 100 maintain or request fleet IDs.

\",\ \"locationName\":\"FleetId\"\ },\ \"TerminateInstances\":{\ @@ -17190,11 +17229,11 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"LaunchTemplateName\":{\ \"shape\":\"LaunchTemplateName\",\ - \"documentation\":\"

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ }\ }\ },\ @@ -17218,11 +17257,11 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"LaunchTemplateName\":{\ \"shape\":\"LaunchTemplateName\",\ - \"documentation\":\"

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"Versions\":{\ \"shape\":\"VersionStringList\",\ @@ -21171,11 +21210,11 @@ - (NSString *)definitionString { },\ \"LocationType\":{\ \"shape\":\"LocationType\",\ - \"documentation\":\"

The location type.

\"\ + \"documentation\":\"

The location type.

  • availability-zone - The Availability Zone. When you specify a location filter, it must be an Availability Zone for the current Region.

  • availability-zone-id - The AZ ID. When you specify a location filter, it must be an AZ ID for the current Region.

  • outpost - The Outpost ARN. When you specify a location filter, it must be an Outpost ARN for the current Region.

  • region - The current Region. If you specify a location filter, it must match the current Region.

\"\ },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

One or more filters. Filter names and values are case-sensitive.

  • location - This depends on the location type. For example, if the location type is region (default), the location is the Region code (for example, us-east-2.)

  • instance-type - The instance type. For example, c5.2xlarge.

\",\ + \"documentation\":\"

One or more filters. Filter names and values are case-sensitive.

  • instance-type - The instance type. For a list of possible values, see Instance.

  • location - The location. For a list of possible identifiers, see Regions and Zones.

\",\ \"locationName\":\"Filter\"\ },\ \"MaxResults\":{\ @@ -21193,7 +21232,7 @@ - (NSString *)definitionString { \"members\":{\ \"InstanceTypeOfferings\":{\ \"shape\":\"InstanceTypeOfferingsList\",\ - \"documentation\":\"

The instance types offered.

\",\ + \"documentation\":\"

The instance types offered in the location.

\",\ \"locationName\":\"instanceTypeOfferingSet\"\ },\ \"NextToken\":{\ @@ -21212,7 +21251,7 @@ - (NSString *)definitionString { },\ \"InstanceTypes\":{\ \"shape\":\"RequestInstanceTypeList\",\ - \"documentation\":\"

The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

\",\ + \"documentation\":\"

The instance types.

\",\ \"locationName\":\"InstanceType\"\ },\ \"Filters\":{\ @@ -21235,7 +21274,7 @@ - (NSString *)definitionString { \"members\":{\ \"InstanceTypes\":{\ \"shape\":\"InstanceTypeInfoList\",\ - \"documentation\":\"

The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

\",\ + \"documentation\":\"

The instance type.

\",\ \"locationName\":\"instanceTypeSet\"\ },\ \"NextToken\":{\ @@ -21675,11 +21714,11 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

\"\ + \"documentation\":\"

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template ID or the launch template name, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

\"\ },\ \"LaunchTemplateName\":{\ \"shape\":\"LaunchTemplateName\",\ - \"documentation\":\"

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

\"\ + \"documentation\":\"

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template name or the launch template ID, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

\"\ },\ \"Versions\":{\ \"shape\":\"VersionStringList\",\ @@ -22549,6 +22588,11 @@ - (NSString *)definitionString { \"shape\":\"AttributeBooleanValue\",\ \"documentation\":\"

Indicates whether source/destination checking is enabled.

\",\ \"locationName\":\"sourceDestCheck\"\ + },\ + \"AssociatePublicIpAddress\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

\",\ + \"locationName\":\"associatePublicIpAddress\"\ }\ },\ \"documentation\":\"

Contains the output of DescribeNetworkInterfaceAttribute.

\"\ @@ -22637,7 +22681,7 @@ - (NSString *)definitionString { \"members\":{\ \"NetworkInterfaces\":{\ \"shape\":\"NetworkInterfaceList\",\ - \"documentation\":\"

Information about one or more network interfaces.

\",\ + \"documentation\":\"

Information about the network interfaces.

\",\ \"locationName\":\"networkInterfaceSet\"\ },\ \"NextToken\":{\ @@ -23959,7 +24003,7 @@ - (NSString *)definitionString { },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

  • tag:<key> - The key/value combination of the tag. For example, specify \\\"tag:Owner\\\" for the filter name and \\\"TeamA\\\" for the filter value to find resources with the tag \\\"Owner=TeamA\\\".

  • value - The tag value.

\",\ + \"documentation\":\"

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type. For a list of possible values, see TagSpecification.

  • tag:<key> - The key/value combination of the tag. For example, specify \\\"tag:Owner\\\" for the filter name and \\\"TeamA\\\" for the filter value to find resources with the tag \\\"Owner=TeamA\\\".

  • value - The tag value.

\",\ \"locationName\":\"Filter\"\ },\ \"MaxResults\":{\ @@ -24493,7 +24537,7 @@ - (NSString *)definitionString { },\ \"Filters\":{\ \"shape\":\"FilterList\",\ - \"documentation\":\"

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

  • state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

  • transit-gateway-id - The ID of the transit gateway.

\",\ + \"documentation\":\"

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

  • state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

  • transit-gateway-id - The ID of the transit gateway.

  • 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.

\",\ \"locationName\":\"Filter\"\ },\ \"MaxResults\":{\ @@ -26220,6 +26264,30 @@ - (NSString *)definitionString { }\ }\ },\ + \"DisableImageDeregistrationProtectionRequest\":{\ + \"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.

\"\ + }\ + }\ + },\ + \"DisableImageDeregistrationProtectionResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Return\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Returns true if the request succeeds; otherwise, it returns an error.

\",\ + \"locationName\":\"return\"\ + }\ + }\ + },\ \"DisableImageRequest\":{\ \"type\":\"structure\",\ \"required\":[\"ImageId\"],\ @@ -27429,6 +27497,24 @@ - (NSString *)definitionString { \"locationName\":\"item\"\ }\ },\ + \"EkPubKeyFormat\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"der\",\ + \"tpmt\"\ + ]\ + },\ + \"EkPubKeyType\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"rsa-2048\",\ + \"ecc-sec-p384\"\ + ]\ + },\ + \"EkPubKeyValue\":{\ + \"type\":\"string\",\ + \"sensitive\":true\ + },\ \"ElasticGpuAssociation\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -28088,6 +28174,34 @@ - (NSString *)definitionString { }\ }\ },\ + \"EnableImageDeregistrationProtectionRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\"ImageId\"],\ + \"members\":{\ + \"ImageId\":{\ + \"shape\":\"ImageId\",\ + \"documentation\":\"

The ID of the AMI.

\"\ + },\ + \"WithCooldown\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

If true, enforces deregistration protection for 24 hours after deregistration protection is disabled.

\"\ + },\ + \"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.

\"\ + }\ + }\ + },\ + \"EnableImageDeregistrationProtectionResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"Return\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Returns true if the request succeeds; otherwise, it returns an error.

\",\ + \"locationName\":\"return\"\ + }\ + }\ + },\ \"EnableImageRequest\":{\ \"type\":\"structure\",\ \"required\":[\"ImageId\"],\ @@ -30819,6 +30933,57 @@ - (NSString *)definitionString { }\ }\ },\ + \"GetInstanceTpmEkPubRequest\":{\ + \"type\":\"structure\",\ + \"required\":[\ + \"InstanceId\",\ + \"KeyType\",\ + \"KeyFormat\"\ + ],\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

The ID of the instance for which to get the public endorsement key.

\"\ + },\ + \"KeyType\":{\ + \"shape\":\"EkPubKeyType\",\ + \"documentation\":\"

The required public endorsement key type.

\"\ + },\ + \"KeyFormat\":{\ + \"shape\":\"EkPubKeyFormat\",\ + \"documentation\":\"

The required public endorsement key format. Specify der for a DER-encoded public key that is compatible with OpenSSL. Specify tpmt for a TPM 2.0 format that is compatible with tpm2-tools. The returned key is base64 encoded.

\"\ + },\ + \"DryRun\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Specify this parameter to verify whether the request will succeed, without actually making the request. If the request will succeed, the response is DryRunOperation. Otherwise, the response is UnauthorizedOperation.

\"\ + }\ + }\ + },\ + \"GetInstanceTpmEkPubResult\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"InstanceId\":{\ + \"shape\":\"InstanceId\",\ + \"documentation\":\"

The ID of the instance.

\",\ + \"locationName\":\"instanceId\"\ + },\ + \"KeyType\":{\ + \"shape\":\"EkPubKeyType\",\ + \"documentation\":\"

The public endorsement key type.

\",\ + \"locationName\":\"keyType\"\ + },\ + \"KeyFormat\":{\ + \"shape\":\"EkPubKeyFormat\",\ + \"documentation\":\"

The public endorsement key format.

\",\ + \"locationName\":\"keyFormat\"\ + },\ + \"KeyValue\":{\ + \"shape\":\"EkPubKeyValue\",\ + \"documentation\":\"

The public endorsement key material.

\",\ + \"locationName\":\"keyValue\"\ + }\ + }\ + },\ \"GetInstanceTypesFromInstanceRequirementsRequest\":{\ \"type\":\"structure\",\ \"required\":[\ @@ -33092,6 +33257,16 @@ - (NSString *)definitionString { \"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\"\ + },\ + \"DeregistrationProtection\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

Indicates whether deregistration protection is enabled for the AMI.

\",\ + \"locationName\":\"deregistrationProtection\"\ + },\ + \"LastLaunchedTime\":{\ + \"shape\":\"String\",\ + \"documentation\":\"

The date and time, in ISO 8601 date-time format, when the AMI was last used to launch an EC2 instance. When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

lastLaunchedTime data is available starting April 2017.

\",\ + \"locationName\":\"lastLaunchedTime\"\ }\ },\ \"documentation\":\"

Describes an image.

\"\ @@ -33163,6 +33338,11 @@ - (NSString *)definitionString { \"shape\":\"AttributeValue\",\ \"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\"\ + },\ + \"DeregistrationProtection\":{\ + \"shape\":\"AttributeValue\",\ + \"documentation\":\"

Indicates whether deregistration protection is enabled for the AMI.

\",\ + \"locationName\":\"deregistrationProtection\"\ }\ },\ \"documentation\":\"

Describes an image attribute.

\"\ @@ -33181,7 +33361,8 @@ - (NSString *)definitionString { \"tpmSupport\",\ \"uefiData\",\ \"lastLaunchedTime\",\ - \"imdsSupport\"\ + \"imdsSupport\",\ + \"deregistrationProtection\"\ ]\ },\ \"ImageBlockPublicAccessDisabledState\":{\ @@ -37163,6 +37344,11 @@ - (NSString *)definitionString { \"shape\":\"NeuronInfo\",\ \"documentation\":\"

Describes the Neuron accelerator settings for the instance type.

\",\ \"locationName\":\"neuronInfo\"\ + },\ + \"PhcSupport\":{\ + \"shape\":\"PhcSupport\",\ + \"documentation\":\"

Indicates whether a local Precision Time Protocol (PTP) hardware clock (PHC) is supported.

\",\ + \"locationName\":\"phcSupport\"\ }\ },\ \"documentation\":\"

Describes the instance type.

\"\ @@ -40056,7 +40242,7 @@ - (NSString *)definitionString { },\ \"DeviceIndex\":{\ \"shape\":\"Integer\",\ - \"documentation\":\"

The device index for the network interface attachment.

\"\ + \"documentation\":\"

The device index for the network interface attachment. Each network interface requires a device index. If you create a launch template that includes secondary network interfaces but not a primary network interface, then you must add a primary network interface as a launch parameter when you launch an instance from the template.

\"\ },\ \"Groups\":{\ \"shape\":\"SecurityGroupIdStringList\",\ @@ -40379,18 +40565,18 @@ - (NSString *)definitionString { \"members\":{\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"LaunchTemplateName\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"Version\":{\ \"shape\":\"String\",\ - \"documentation\":\"

The launch template version number, $Latest, or $Default.

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

If the value is $Default, Amazon EC2 uses the default version of the launch template.

Default: The default version of the launch template.

\"\ + \"documentation\":\"

The launch template version number, $Latest, or $Default.

A value of $Latest uses the latest version of the launch template.

A value of $Default uses the default version of the launch template.

Default: The default version of the launch template.

\"\ }\ },\ - \"documentation\":\"

The launch template to use. You must specify either the launch template ID or launch template name in the request, but not both.

\"\ + \"documentation\":\"

Describes the launch template to use.

\"\ },\ \"LaunchTemplateSpotMarketOptions\":{\ \"type\":\"structure\",\ @@ -42537,7 +42723,7 @@ - (NSString *)definitionString { },\ \"HttpPutResponseHopLimit\":{\ \"shape\":\"BoxedInteger\",\ - \"documentation\":\"

The maximum number of hops that the metadata token can travel.

Minimum: 1

Maximum: 64

\"\ + \"documentation\":\"

The maximum number of hops that the metadata token can travel. To indicate no preference, specify -1.

Possible values: Integers from 1 to 64, and -1 to indicate no preference

\"\ },\ \"HttpEndpoint\":{\ \"shape\":\"DefaultInstanceMetadataEndpointState\",\ @@ -42893,11 +43079,11 @@ - (NSString *)definitionString { },\ \"LaunchTemplateId\":{\ \"shape\":\"LaunchTemplateId\",\ - \"documentation\":\"

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

\"\ + \"documentation\":\"

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"LaunchTemplateName\":{\ \"shape\":\"LaunchTemplateName\",\ - \"documentation\":\"

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

\"\ + \"documentation\":\"

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

\"\ },\ \"DefaultVersion\":{\ \"shape\":\"String\",\ @@ -43047,6 +43233,10 @@ - (NSString *)definitionString { \"ConnectionTrackingSpecification\":{\ \"shape\":\"ConnectionTrackingSpecificationRequest\",\ \"documentation\":\"

A connection tracking specification.

\"\ + },\ + \"AssociatePublicIpAddress\":{\ + \"shape\":\"Boolean\",\ + \"documentation\":\"

Indicates whether to assign a public IPv4 address to a network interface. This option can be enabled for any network interface but will only apply to the primary network interface (eth0).

\"\ }\ },\ \"documentation\":\"

Contains the parameters for ModifyNetworkInterfaceAttribute.

\"\ @@ -45856,7 +46046,8 @@ - (NSString *)definitionString { \"description\",\ \"groupSet\",\ \"sourceDestCheck\",\ - \"attachment\"\ + \"attachment\",\ + \"associatePublicIpAddress\"\ ]\ },\ \"NetworkInterfaceCount\":{\ @@ -47031,6 +47222,13 @@ - (NSString *)definitionString { },\ \"documentation\":\"

Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.

\"\ },\ + \"PhcSupport\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"unsupported\",\ + \"supported\"\ + ]\ + },\ \"Placement\":{\ \"type\":\"structure\",\ \"members\":{\ @@ -49502,7 +49700,7 @@ - (NSString *)definitionString { },\ \"NetworkInterfaces\":{\ \"shape\":\"LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList\",\ - \"documentation\":\"

One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

\",\ + \"documentation\":\"

The network interfaces for the instance.

\",\ \"locationName\":\"NetworkInterface\"\ },\ \"ImageId\":{\ @@ -49558,12 +49756,12 @@ - (NSString *)definitionString { },\ \"SecurityGroupIds\":{\ \"shape\":\"SecurityGroupIdStringList\",\ - \"documentation\":\"

One or more security group IDs. You can create a security group using CreateSecurityGroup.

\",\ + \"documentation\":\"

The IDs of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"SecurityGroupId\"\ },\ \"SecurityGroups\":{\ \"shape\":\"SecurityGroupStringList\",\ - \"documentation\":\"

One or more security group names. For a nondefault VPC, you must use security group IDs instead.

\",\ + \"documentation\":\"

The names of the security groups. For a nondefault VPC, you must use security group IDs instead.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"SecurityGroup\"\ },\ \"InstanceMarketOptions\":{\ @@ -51710,17 +51908,17 @@ - (NSString *)definitionString { },\ \"SecurityGroupIds\":{\ \"shape\":\"SecurityGroupIdStringList\",\ - \"documentation\":\"

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface.

\",\ + \"documentation\":\"

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"SecurityGroupId\"\ },\ \"SecurityGroups\":{\ \"shape\":\"SecurityGroupStringList\",\ - \"documentation\":\"

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface.

Default: Amazon EC2 uses the default security group.

\",\ + \"documentation\":\"

[Default VPC] The names of the security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

Default: Amazon EC2 uses the default security group.

\",\ \"locationName\":\"SecurityGroup\"\ },\ \"SubnetId\":{\ \"shape\":\"SubnetId\",\ - \"documentation\":\"

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface.

\"\ + \"documentation\":\"

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

\"\ },\ \"UserData\":{\ \"shape\":\"RunInstancesUserData\",\ @@ -51764,7 +51962,7 @@ - (NSString *)definitionString { },\ \"NetworkInterfaces\":{\ \"shape\":\"InstanceNetworkInterfaceSpecificationList\",\ - \"documentation\":\"

The network interfaces to associate with the instance. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

\",\ + \"documentation\":\"

The network interfaces to associate with the instance.

\",\ \"locationName\":\"networkInterface\"\ },\ \"PrivateIpAddress\":{\ @@ -51774,11 +51972,11 @@ - (NSString *)definitionString { },\ \"ElasticGpuSpecification\":{\ \"shape\":\"ElasticGpuSpecifications\",\ - \"documentation\":\"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

\"\ + \"documentation\":\"

An elastic GPU to associate with the instance.

Amazon Elastic Graphics reached end of life on January 8, 2024.

\"\ },\ \"ElasticInferenceAccelerators\":{\ \"shape\":\"ElasticInferenceAccelerators\",\ - \"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.

\",\ + \"documentation\":\"

An elastic inference accelerator to associate with the instance.

Amazon Elastic Inference (EI) is no longer available to new customers. For more information, see Amazon Elastic Inference FAQs.

\",\ \"locationName\":\"ElasticInferenceAccelerator\"\ },\ \"TagSpecifications\":{\ @@ -51788,7 +51986,7 @@ - (NSString *)definitionString { },\ \"LaunchTemplate\":{\ \"shape\":\"LaunchTemplateSpecification\",\ - \"documentation\":\"

The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.

\"\ + \"documentation\":\"

The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.

\"\ },\ \"InstanceMarketOptions\":{\ \"shape\":\"InstanceMarketOptionsRequest\",\ @@ -52554,7 +52752,7 @@ - (NSString *)definitionString { },\ \"MaxResults\":{\ \"shape\":\"TransitGatewayMaxResults\",\ - \"documentation\":\"

The maximum number of routes to return.

\"\ + \"documentation\":\"

The maximum number of routes to return. If a value is not provided, the default is 1000.

\"\ },\ \"DryRun\":{\ \"shape\":\"Boolean\",\ @@ -53743,7 +53941,7 @@ - (NSString *)definitionString { \"members\":{\ \"SecurityGroups\":{\ \"shape\":\"GroupIdentifierList\",\ - \"documentation\":\"

The security groups.

\",\ + \"documentation\":\"

The security groups.

If you specify a network interface, you must specify any security groups as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"groupSet\"\ },\ \"AddressingType\":{\ @@ -53793,7 +53991,7 @@ - (NSString *)definitionString { },\ \"NetworkInterfaces\":{\ \"shape\":\"InstanceNetworkInterfaceSpecificationList\",\ - \"documentation\":\"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

\",\ + \"documentation\":\"

The network interfaces.

SpotFleetLaunchSpecification does not support Elastic Fabric Adapter (EFA). You must use LaunchTemplateConfig instead.

\",\ \"locationName\":\"networkInterfaceSet\"\ },\ \"Placement\":{\ @@ -53813,7 +54011,7 @@ - (NSString *)definitionString { },\ \"SubnetId\":{\ \"shape\":\"SubnetId\",\ - \"documentation\":\"

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \\\"subnet-1234abcdeexample1, subnet-0987cdef6example2\\\".

\",\ + \"documentation\":\"

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \\\"subnet-1234abcdeexample1, subnet-0987cdef6example2\\\".

If you specify a network interface, you must specify any subnets as part of the network interface instead of using this parameter.

\",\ \"locationName\":\"subnetId\"\ },\ \"UserData\":{\ @@ -59389,7 +59587,7 @@ - (NSString *)definitionString { \"members\":{\ \"Attachments\":{\ \"shape\":\"VolumeAttachmentList\",\ - \"documentation\":\"

Information about the volume attachments.

\",\ + \"documentation\":\"

This parameter is not returned by CreateVolume.

Information about the volume attachments.

\",\ \"locationName\":\"attachmentSet\"\ },\ \"AvailabilityZone\":{\ @@ -59454,7 +59652,7 @@ - (NSString *)definitionString { },\ \"FastRestored\":{\ \"shape\":\"Boolean\",\ - \"documentation\":\"

Indicates whether the volume was created using fast snapshot restore.

\",\ + \"documentation\":\"

This parameter is not returned by CreateVolume.

Indicates whether the volume was created using fast snapshot restore.

\",\ \"locationName\":\"fastRestored\"\ },\ \"MultiAttachEnabled\":{\ @@ -59469,7 +59667,7 @@ - (NSString *)definitionString { },\ \"SseType\":{\ \"shape\":\"SSEType\",\ - \"documentation\":\"

Reserved for future use.

\",\ + \"documentation\":\"

This parameter is not returned by CreateVolume.

Reserved for future use.

\",\ \"locationName\":\"sseType\"\ }\ },\ diff --git a/AWSEC2/AWSEC2Service.h b/AWSEC2/AWSEC2Service.h index c180b3aaaf2..3ead062f3d8 100644 --- a/AWSEC2/AWSEC2Service.h +++ b/AWSEC2/AWSEC2Service.h @@ -1388,7 +1388,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)cancelReservedInstancesListing:(AWSEC2CancelReservedInstancesListingRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CancelReservedInstancesListingResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

+

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

Restrictions

  • You can delete up to 100 fleets in a single request. If you exceed the specified number, no fleets are deleted.

@param request A container for the necessary parameters to execute the CancelSpotFleetRequests service method. @@ -1400,7 +1400,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)cancelSpotFleetRequests:(AWSEC2CancelSpotFleetRequestsRequest *)request; /** -

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

+

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

Restrictions

  • You can delete up to 100 fleets in a single request. If you exceed the specified number, no fleets are deleted.

@param request A container for the necessary parameters to execute the CancelSpotFleetRequests service method. @param completionHandler The completion handler to call when the load request is complete. @@ -1788,7 +1788,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createDefaultVpc:(AWSEC2CreateDefaultVpcRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateDefaultVpcResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

+

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-address-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

@param request A container for the necessary parameters to execute the CreateDhcpOptions service method. @@ -1800,7 +1800,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createDhcpOptions:(AWSEC2CreateDhcpOptionsRequest *)request; /** -

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

+

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in any other Region, specify region.compute.internal. Otherwise, specify a custom domain name. This value is used to complete unqualified DNS hostnames.

    Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP option set is associated with a VPC that has instances running operating systems that treat the value as a single domain, specify only one domain name.

  • domain-name-servers - The IP addresses of up to four DNS servers, or AmazonProvidedDNS. To specify multiple domain name servers in a single parameter, separate the IP addresses using commas. To have your instances receive custom DNS hostnames as specified in domain-name, you must specify a custom DNS server.

  • ntp-servers - The IP addresses of up to eight Network Time Protocol (NTP) servers (four IPv4 addresses and four IPv6 addresses).

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2. Broadcast and multicast are not supported. For more information about NetBIOS node types, see RFC 2132.

  • ipv6-address-preferred-lease-time - A value (in seconds, minutes, hours, or years) for how frequently a running instance with an IPv6 assigned to it goes through DHCPv6 lease renewal. Acceptable values are between 140 and 2147483647 seconds (approximately 68 years). If no value is entered, the default lease time is 140 seconds. If you use long-term addressing for EC2 instances, you can increase the lease time and avoid frequent lease renewal requests. Lease renewal typically occurs when half of the lease time has elapsed.

@param request A container for the necessary parameters to execute the CreateDhcpOptions service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2163,7 +2163,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createKeyPair:(AWSEC2CreateKeyPairRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2KeyPair * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

If you want to clone an existing launch template as the basis for creating a new launch template, you can use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

+

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplate service method. @@ -2175,7 +2175,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createLaunchTemplate:(AWSEC2CreateLaunchTemplateRequest *)request; /** -

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

If you want to clone an existing launch template as the basis for creating a new launch template, you can use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

+

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplate service method. @param completionHandler The completion handler to call when the load request is complete. @@ -2188,7 +2188,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)createLaunchTemplate:(AWSEC2CreateLaunchTemplateRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2CreateLaunchTemplateResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Creates a new version of a launch template. You can specify an existing version of launch template from which to base the new version.

Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes any changes you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

+

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplateVersion service method. @@ -2200,7 +2200,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)createLaunchTemplateVersion:(AWSEC2CreateLaunchTemplateVersionRequest *)request; /** -

Creates a new version of a launch template. You can specify an existing version of launch template from which to base the new version.

Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes any changes you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

+

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

@param request A container for the necessary parameters to execute the CreateLaunchTemplateVersion service method. @param completionHandler The completion handler to call when the load request is complete. @@ -3773,7 +3773,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteEgressOnlyInternetGateway:(AWSEC2DeleteEgressOnlyInternetGatewayRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteEgressOnlyInternetGatewayResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 instant fleets in a single request. If you exceed this number, no instant fleets are deleted and an error is returned. There is no restriction on the number of fleets of type maintain or request that can be deleted in a single request.

  • Up to 1000 instances can be terminated in a single request to delete instant fleets.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

+

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. Up to 1000 instances can be terminated in a single request to delete instant fleets. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 fleets of type instant in a single request.

  • You can delete up to 100 fleets of type maintain or request in a single request.

  • You can delete up to 125 fleets in a single request, provided you do not exceed the quota for each fleet type, as specified above.

  • If you exceed the specified number of fleets to delete, no fleets are deleted.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DeleteFleets service method. @@ -3785,7 +3785,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteFleets:(AWSEC2DeleteFleetsRequest *)request; /** -

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 instant fleets in a single request. If you exceed this number, no instant fleets are deleted and an error is returned. There is no restriction on the number of fleets of type maintain or request that can be deleted in a single request.

  • Up to 1000 instances can be terminated in a single request to delete instant fleets.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

+

Deletes the specified EC2 Fleets.

After you delete an EC2 Fleet, it launches no new instances.

You must also specify whether a deleted EC2 Fleet should terminate its instances. If you choose to terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

For instant fleets, EC2 Fleet must terminate the instances when the fleet is deleted. Up to 1000 instances can be terminated in a single request to delete instant fleets. A deleted instant fleet with running instances is not supported.

Restrictions

  • You can delete up to 25 fleets of type instant in a single request.

  • You can delete up to 100 fleets of type maintain or request in a single request.

  • You can delete up to 125 fleets in a single request, provided you do not exceed the quota for each fleet type, as specified above.

  • If you exceed the specified number of fleets to delete, no fleets are deleted.

For more information, see Delete an EC2 Fleet in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the DeleteFleets service method. @param completionHandler The completion handler to call when the load request is complete. @@ -4987,7 +4987,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)deleteTransitGatewayRoute:(AWSEC2DeleteTransitGatewayRouteRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DeleteTransitGatewayRouteResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Deletes the specified transit gateway route table. You must disassociate the route table from any transit gateway route tables before you can delete it.

+

Deletes the specified transit gateway route table. If there are any route tables associated with the transit gateway route table, you must first run DisassociateRouteTable before you can delete the transit gateway route table. This removes any route tables associated with the transit gateway route table.

@param request A container for the necessary parameters to execute the DeleteTransitGatewayRouteTable service method. @@ -4999,7 +4999,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)deleteTransitGatewayRouteTable:(AWSEC2DeleteTransitGatewayRouteTableRequest *)request; /** -

Deletes the specified transit gateway route table. You must disassociate the route table from any transit gateway route tables before you can delete it.

+

Deletes the specified transit gateway route table. If there are any route tables associated with the transit gateway route table, you must first run DisassociateRouteTable before you can delete the transit gateway route table. This removes any route tables associated with the transit gateway route table.

@param request A container for the necessary parameters to execute the DeleteTransitGatewayRouteTable service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6619,7 +6619,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeImageAttribute:(AWSEC2DescribeImageAttributeRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ImageAttribute * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeImages service method. @@ -6631,7 +6631,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeImages:(AWSEC2DescribeImagesRequest *)request; /** -

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeImages service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6869,7 +6869,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (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.

+

Lists the instance types that are offered for the specified location. If no location is specified, the default is to list the instance types that are offered in the current Region.

@param request A container for the necessary parameters to execute the DescribeInstanceTypeOfferings service method. @@ -6881,7 +6881,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeInstanceTypeOfferings:(AWSEC2DescribeInstanceTypeOfferingsRequest *)request; /** -

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.

+

Lists the instance types that are offered for the specified location. If no location is specified, the default is to list the instance types that are offered in the current Region.

@param request A container for the necessary parameters to execute the DescribeInstanceTypeOfferings service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6894,7 +6894,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeInstanceTypeOfferings:(AWSEC2DescribeInstanceTypeOfferingsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstanceTypeOfferingsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the details of the instance types that are offered in a location. The results can be filtered by the attributes of the instance types.

+

Describes the specified instance types. By default, all instance types for the current Region are described. Alternatively, you can filter the results.

@param request A container for the necessary parameters to execute the DescribeInstanceTypes service method. @@ -6906,7 +6906,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeInstanceTypes:(AWSEC2DescribeInstanceTypesRequest *)request; /** -

Describes the details of the instance types that are offered in a location. The results can be filtered by the attributes of the instance types.

+

Describes the specified instance types. By default, all instance types for the current Region are described. Alternatively, you can filter the results.

@param request A container for the necessary parameters to execute the DescribeInstanceTypes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -6919,7 +6919,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeInstanceTypes:(AWSEC2DescribeInstanceTypesRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeInstanceTypesResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeInstances service method. @@ -6931,7 +6931,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeInstances:(AWSEC2DescribeInstancesRequest *)request; /** -

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeInstances service method. @param completionHandler The completion handler to call when the load request is complete. @@ -7669,7 +7669,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.

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.

+

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.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

@param request A container for the necessary parameters to execute the DescribeNetworkInterfaces service method. @@ -7681,7 +7681,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeNetworkInterfaces:(AWSEC2DescribeNetworkInterfacesRequest *)request; /** -

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.

+

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.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

@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. @@ -8144,7 +8144,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSnapshotTierStatus:(AWSEC2DescribeSnapshotTierStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSnapshotTierStatusResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

+

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

@param request A container for the necessary parameters to execute the DescribeSnapshots service method. @@ -8156,7 +8156,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeSnapshots:(AWSEC2DescribeSnapshotsRequest *)request; /** -

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

+

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All Amazon Web Services accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific Amazon Web Services account.

  • implicit: An Amazon Web Services account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

@param request A container for the necessary parameters to execute the DescribeSnapshots service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8394,7 +8394,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeSubnets:(AWSEC2DescribeSubnetsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeSubnetsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeTags service method. @@ -8406,7 +8406,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeTags:(AWSEC2DescribeTagsRequest *)request; /** -

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeTags service method. @param completionHandler The completion handler to call when the load request is complete. @@ -8944,7 +8944,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)describeVolumeStatus:(AWSEC2DescribeVolumeStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DescribeVolumeStatusResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeVolumes service method. @@ -8956,7 +8956,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)describeVolumes:(AWSEC2DescribeVolumesRequest *)request; /** -

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

+

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

@param request A container for the necessary parameters to execute the DescribeVolumes service method. @param completionHandler The completion handler to call when the load request is complete. @@ -9659,6 +9659,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)disableImageDeprecation:(AWSEC2DisableImageDeprecationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableImageDeprecationResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Disables deregistration protection for an AMI. When deregistration protection is disabled, the AMI can be deregistered.

If you chose to include a 24-hour cooldown period when you enabled deregistration protection for the AMI, then, when you disable deregistration protection, you won’t immediately be able to deregister the AMI.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DisableImageDeregistrationProtection service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2DisableImageDeregistrationProtectionResult`. + + @see AWSEC2DisableImageDeregistrationProtectionRequest + @see AWSEC2DisableImageDeregistrationProtectionResult + */ +- (AWSTask *)disableImageDeregistrationProtection:(AWSEC2DisableImageDeregistrationProtectionRequest *)request; + +/** +

Disables deregistration protection for an AMI. When deregistration protection is disabled, the AMI can be deregistered.

If you chose to include a 24-hour cooldown period when you enabled deregistration protection for the AMI, then, when you disable deregistration protection, you won’t immediately be able to deregister the AMI.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the DisableImageDeregistrationProtection 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 AWSEC2DisableImageDeregistrationProtectionRequest + @see AWSEC2DisableImageDeregistrationProtectionResult + */ +- (void)disableImageDeregistrationProtection:(AWSEC2DisableImageDeregistrationProtectionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2DisableImageDeregistrationProtectionResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Disable the IPAM account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.

@@ -10400,6 +10425,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)enableImageDeprecation:(AWSEC2EnableImageDeprecationRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableImageDeprecationResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Enables deregistration protection for an AMI. When deregistration protection is enabled, the AMI can't be deregistered.

To allow the AMI to be deregistered, you must first disable deregistration protection using DisableImageDeregistrationProtection.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the EnableImageDeregistrationProtection service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2EnableImageDeregistrationProtectionResult`. + + @see AWSEC2EnableImageDeregistrationProtectionRequest + @see AWSEC2EnableImageDeregistrationProtectionResult + */ +- (AWSTask *)enableImageDeregistrationProtection:(AWSEC2EnableImageDeregistrationProtectionRequest *)request; + +/** +

Enables deregistration protection for an AMI. When deregistration protection is enabled, the AMI can't be deregistered.

To allow the AMI to be deregistered, you must first disable deregistration protection using DisableImageDeregistrationProtection.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

+ + @param request A container for the necessary parameters to execute the EnableImageDeregistrationProtection 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 AWSEC2EnableImageDeregistrationProtectionRequest + @see AWSEC2EnableImageDeregistrationProtectionResult + */ +- (void)enableImageDeregistrationProtection:(AWSEC2EnableImageDeregistrationProtectionRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2EnableImageDeregistrationProtectionResult * _Nullable response, NSError * _Nullable error))completionHandler; + /**

Enable an Organizations member account as the IPAM admin account. You cannot select the Organizations management account as the IPAM admin account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.

@@ -10870,7 +10920,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)getConsoleOutput:(AWSEC2GetConsoleOutputRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetConsoleOutputResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

+

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

For more information, see Instance console output in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the GetConsoleScreenshot service method. @@ -10882,7 +10932,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)getConsoleScreenshot:(AWSEC2GetConsoleScreenshotRequest *)request; /** -

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

+

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

For more information, see Instance console output in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the GetConsoleScreenshot service method. @param completionHandler The completion handler to call when the load request is complete. @@ -11094,6 +11144,31 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; */ - (void)getInstanceMetadataDefaults:(AWSEC2GetInstanceMetadataDefaultsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetInstanceMetadataDefaultsResult * _Nullable response, NSError * _Nullable error))completionHandler; +/** +

Gets the public endorsement key associated with the Nitro Trusted Platform Module (NitroTPM) for the specified instance.

+ + @param request A container for the necessary parameters to execute the GetInstanceTpmEkPub service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSEC2GetInstanceTpmEkPubResult`. + + @see AWSEC2GetInstanceTpmEkPubRequest + @see AWSEC2GetInstanceTpmEkPubResult + */ +- (AWSTask *)getInstanceTpmEkPub:(AWSEC2GetInstanceTpmEkPubRequest *)request; + +/** +

Gets the public endorsement key associated with the Nitro Trusted Platform Module (NitroTPM) for the specified instance.

+ + @param request A container for the necessary parameters to execute the GetInstanceTpmEkPub 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 AWSEC2GetInstanceTpmEkPubRequest + @see AWSEC2GetInstanceTpmEkPubResult + */ +- (void)getInstanceTpmEkPub:(AWSEC2GetInstanceTpmEkPubRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2GetInstanceTpmEkPubResult * _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.

@@ -12608,7 +12683,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (void)modifyInstanceMaintenanceOptions:(AWSEC2ModifyInstanceMaintenanceOptionsRequest *)request completionHandler:(void (^ _Nullable)(AWSEC2ModifyInstanceMaintenanceOptionsResult * _Nullable response, NSError * _Nullable error))completionHandler; /** -

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. At instance launch, the value will come from the AMI, or from the launch parameter if specified. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

+

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. If an account-level setting is cleared with no-preference, then the instance launch considers the other instance metadata settings. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the ModifyInstanceMetadataDefaults service method. @@ -12620,7 +12695,7 @@ FOUNDATION_EXPORT NSString *const AWSEC2SDKVersion; - (AWSTask *)modifyInstanceMetadataDefaults:(AWSEC2ModifyInstanceMetadataDefaultsRequest *)request; /** -

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. At instance launch, the value will come from the AMI, or from the launch parameter if specified. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

+

Modifies the default instance metadata service (IMDS) settings at the account level in the specified Amazon Web Services
 Region.

To remove a parameter's account-level default setting, specify no-preference. If an account-level setting is cleared with no-preference, then the instance launch considers the other instance metadata settings. For more information, see Order of precedence for instance metadata options in the Amazon EC2 User Guide.

@param request A container for the necessary parameters to execute the ModifyInstanceMetadataDefaults service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSEC2/AWSEC2Service.m b/AWSEC2/AWSEC2Service.m index 4a47c3e971e..df19ce58a96 100644 --- a/AWSEC2/AWSEC2Service.m +++ b/AWSEC2/AWSEC2Service.m @@ -9050,6 +9050,29 @@ - (void)disableImageDeprecation:(AWSEC2DisableImageDeprecationRequest *)request }]; } +- (AWSTask *)disableImageDeregistrationProtection:(AWSEC2DisableImageDeregistrationProtectionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"DisableImageDeregistrationProtection" + outputClass:[AWSEC2DisableImageDeregistrationProtectionResult class]]; +} + +- (void)disableImageDeregistrationProtection:(AWSEC2DisableImageDeregistrationProtectionRequest *)request + completionHandler:(void (^)(AWSEC2DisableImageDeregistrationProtectionResult *response, NSError *error))completionHandler { + [[self disableImageDeregistrationProtection:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2DisableImageDeregistrationProtectionResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)disableIpamOrganizationAdminAccount:(AWSEC2DisableIpamOrganizationAdminAccountRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -9737,6 +9760,29 @@ - (void)enableImageDeprecation:(AWSEC2EnableImageDeprecationRequest *)request }]; } +- (AWSTask *)enableImageDeregistrationProtection:(AWSEC2EnableImageDeregistrationProtectionRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"EnableImageDeregistrationProtection" + outputClass:[AWSEC2EnableImageDeregistrationProtectionResult class]]; +} + +- (void)enableImageDeregistrationProtection:(AWSEC2EnableImageDeregistrationProtectionRequest *)request + completionHandler:(void (^)(AWSEC2EnableImageDeregistrationProtectionResult *response, NSError *error))completionHandler { + [[self enableImageDeregistrationProtection:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2EnableImageDeregistrationProtectionResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)enableIpamOrganizationAdminAccount:(AWSEC2EnableIpamOrganizationAdminAccountRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST @@ -10379,6 +10425,29 @@ - (void)getInstanceMetadataDefaults:(AWSEC2GetInstanceMetadataDefaultsRequest *) }]; } +- (AWSTask *)getInstanceTpmEkPub:(AWSEC2GetInstanceTpmEkPubRequest *)request { + return [self invokeRequest:request + HTTPMethod:AWSHTTPMethodPOST + URLString:@"" + targetPrefix:@"" + operationName:@"GetInstanceTpmEkPub" + outputClass:[AWSEC2GetInstanceTpmEkPubResult class]]; +} + +- (void)getInstanceTpmEkPub:(AWSEC2GetInstanceTpmEkPubRequest *)request + completionHandler:(void (^)(AWSEC2GetInstanceTpmEkPubResult *response, NSError *error))completionHandler { + [[self getInstanceTpmEkPub:request] continueWithBlock:^id _Nullable(AWSTask * _Nonnull task) { + AWSEC2GetInstanceTpmEkPubResult *result = task.result; + NSError *error = task.error; + + if (completionHandler) { + completionHandler(result, error); + } + + return nil; + }]; +} + - (AWSTask *)getInstanceTypesFromInstanceRequirements:(AWSEC2GetInstanceTypesFromInstanceRequirementsRequest *)request { return [self invokeRequest:request HTTPMethod:AWSHTTPMethodPOST diff --git a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m index 8f3c3225646..1d16aa849fd 100644 --- a/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m +++ b/AWSEC2UnitTests/AWSEC2NSSecureCodingTests.m @@ -891,6 +891,8 @@ - (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_AWSEC2DisableImageDeregistrationProtectionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2DisableImageDeregistrationProtectionResult 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)); @@ -980,6 +982,8 @@ - (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_AWSEC2EnableImageDeregistrationProtectionRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2EnableImageDeregistrationProtectionResult 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)); @@ -1077,6 +1081,8 @@ - (void) test_AWSEC2GetImageBlockPublicAccessStateRequest API_AVAILABLE(ios(11)) - (void) test_AWSEC2GetImageBlockPublicAccessStateResult API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceMetadataDefaultsRequest API_AVAILABLE(ios(11)); - (void) test_AWSEC2GetInstanceMetadataDefaultsResult API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetInstanceTpmEkPubRequest API_AVAILABLE(ios(11)); +- (void) test_AWSEC2GetInstanceTpmEkPubResult 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)); @@ -5430,6 +5436,14 @@ - (void) test_AWSEC2DisableImageDeprecationResult { [self validateSecureCodingForClass:[AWSEC2DisableImageDeprecationResult class]]; } +- (void) test_AWSEC2DisableImageDeregistrationProtectionRequest { + [self validateSecureCodingForClass:[AWSEC2DisableImageDeregistrationProtectionRequest class]]; +} + +- (void) test_AWSEC2DisableImageDeregistrationProtectionResult { + [self validateSecureCodingForClass:[AWSEC2DisableImageDeregistrationProtectionResult class]]; +} + - (void) test_AWSEC2DisableImageRequest { [self validateSecureCodingForClass:[AWSEC2DisableImageRequest class]]; } @@ -5786,6 +5800,14 @@ - (void) test_AWSEC2EnableImageDeprecationResult { [self validateSecureCodingForClass:[AWSEC2EnableImageDeprecationResult class]]; } +- (void) test_AWSEC2EnableImageDeregistrationProtectionRequest { + [self validateSecureCodingForClass:[AWSEC2EnableImageDeregistrationProtectionRequest class]]; +} + +- (void) test_AWSEC2EnableImageDeregistrationProtectionResult { + [self validateSecureCodingForClass:[AWSEC2EnableImageDeregistrationProtectionResult class]]; +} + - (void) test_AWSEC2EnableImageRequest { [self validateSecureCodingForClass:[AWSEC2EnableImageRequest class]]; } @@ -6174,6 +6196,14 @@ - (void) test_AWSEC2GetInstanceMetadataDefaultsResult { [self validateSecureCodingForClass:[AWSEC2GetInstanceMetadataDefaultsResult class]]; } +- (void) test_AWSEC2GetInstanceTpmEkPubRequest { + [self validateSecureCodingForClass:[AWSEC2GetInstanceTpmEkPubRequest class]]; +} + +- (void) test_AWSEC2GetInstanceTpmEkPubResult { + [self validateSecureCodingForClass:[AWSEC2GetInstanceTpmEkPubResult class]]; +} + - (void) test_AWSEC2GetInstanceTypesFromInstanceRequirementsRequest { [self validateSecureCodingForClass:[AWSEC2GetInstanceTypesFromInstanceRequirementsRequest class]]; } diff --git a/AWSEC2UnitTests/AWSGeneralEC2Tests.m b/AWSEC2UnitTests/AWSGeneralEC2Tests.m index e46d0000af7..bdc74016961 100644 --- a/AWSEC2UnitTests/AWSGeneralEC2Tests.m +++ b/AWSEC2UnitTests/AWSGeneralEC2Tests.m @@ -18411,6 +18411,54 @@ - (void)testDisableImageDeprecationCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testDisableImageDeregistrationProtection { + NSString *key = @"testDisableImageDeregistrationProtection"; + 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] disableImageDeregistrationProtection:[AWSEC2DisableImageDeregistrationProtectionRequest 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)testDisableImageDeregistrationProtectionCompletionHandler { + NSString *key = @"testDisableImageDeregistrationProtection"; + 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] disableImageDeregistrationProtection:[AWSEC2DisableImageDeregistrationProtectionRequest new] completionHandler:^(AWSEC2DisableImageDeregistrationProtectionResult* _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)testDisableIpamOrganizationAdminAccount { NSString *key = @"testDisableIpamOrganizationAdminAccount"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -19848,6 +19896,54 @@ - (void)testEnableImageDeprecationCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testEnableImageDeregistrationProtection { + NSString *key = @"testEnableImageDeregistrationProtection"; + 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] enableImageDeregistrationProtection:[AWSEC2EnableImageDeregistrationProtectionRequest 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)testEnableImageDeregistrationProtectionCompletionHandler { + NSString *key = @"testEnableImageDeregistrationProtection"; + 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] enableImageDeregistrationProtection:[AWSEC2EnableImageDeregistrationProtectionRequest new] completionHandler:^(AWSEC2EnableImageDeregistrationProtectionResult* _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)testEnableIpamOrganizationAdminAccount { NSString *key = @"testEnableIpamOrganizationAdminAccount"; AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 credentialsProvider:nil]; @@ -21190,6 +21286,54 @@ - (void)testGetInstanceMetadataDefaultsCompletionHandler { [AWSEC2 removeEC2ForKey:key]; } +- (void)testGetInstanceTpmEkPub { + NSString *key = @"testGetInstanceTpmEkPub"; + 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] getInstanceTpmEkPub:[AWSEC2GetInstanceTpmEkPubRequest 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)testGetInstanceTpmEkPubCompletionHandler { + NSString *key = @"testGetInstanceTpmEkPub"; + 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] getInstanceTpmEkPub:[AWSEC2GetInstanceTpmEkPubRequest new] completionHandler:^(AWSEC2GetInstanceTpmEkPubResult* _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]; From f3ba7c555c339a21cfc81781fff8edeeec7fa5e2 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Wed, 5 Jun 2024 07:08:55 -0700 Subject: [PATCH 09/14] feat(AWSElasticLoadBalancingv2): update models to latest (#5344) --- AWSElasticLoadBalancing.podspec | 2 +- .../AWSElasticLoadBalancingModel.h | 11 +++---- .../AWSElasticLoadBalancingModel.m | 30 +++++++++++++++++++ .../AWSElasticLoadBalancingResources.m | 14 +++++---- 4 files changed, 45 insertions(+), 12 deletions(-) diff --git a/AWSElasticLoadBalancing.podspec b/AWSElasticLoadBalancing.podspec index 029df0e63df..054a0fcbca7 100644 --- a/AWSElasticLoadBalancing.podspec +++ b/AWSElasticLoadBalancing.podspec @@ -14,5 +14,5 @@ Pod::Spec.new do |s| s.requires_arc = true s.dependency 'AWSCore', '2.36.2' s.source_files = 'AWSElasticLoadBalancing/*.{h,m}' - s.resource_bundle = { 'AWSElasticLoadBalancing' => ['AWSElasticLoadBalancing/PrivacyInfo.xcprivacy']} + s.resource_bundle = { 'AWSElasticLoadBalancing' => ['AWSElasticLoadBalancing/PrivacyInfo.xcprivacy'] } end diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h index 506a20fa3b4..c0669e4b907 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.h @@ -118,6 +118,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingIpAddressType) { AWSElasticLoadBalancingIpAddressTypeUnknown, AWSElasticLoadBalancingIpAddressTypeIpv4, AWSElasticLoadBalancingIpAddressTypeDualstack, + AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4, }; typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingLoadBalancerSchemeEnum) { @@ -764,7 +765,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTrustStoreStatus) { @property (nonatomic, strong) NSString * _Nullable customerOwnedIpv4Pool; /** -

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).

+

Note: Internal load balancers must use the ipv4 IP address type.

[Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

[Network Load Balancers] The IP address type. The possible values are ipv4 (for only 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 IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

*/ @property (nonatomic, assign) AWSElasticLoadBalancingIpAddressType ipAddressType; @@ -1985,7 +1986,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTrustStoreStatus) { @property (nonatomic, strong) NSString * _Nullable enforceSecurityGroupInboundRulesOnPrivateLinkTraffic; /** -

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).

+

[Application Load Balancers] The type of IP addresses used for public or private connections by the subnets attached to your load balancer. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

[Network Load Balancers and Gateway Load Balancers] The type of IP addresses used for public or private connections by the subnets attached to your load balancer. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

*/ @property (nonatomic, assign) AWSElasticLoadBalancingIpAddressType ipAddressType; @@ -2723,7 +2724,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTrustStoreStatus) { /** -

The IP address type. 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.

+

Note: Internal load balancers must use the ipv4 IP address type.

[Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

[Network Load Balancers] The IP address type. The possible values are ipv4 (for only 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 IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

*/ @property (nonatomic, assign) AWSElasticLoadBalancingIpAddressType ipAddressType; @@ -2821,7 +2822,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTrustStoreStatus) { /** -

[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).

+

[Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

[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; @@ -2854,7 +2855,7 @@ typedef NS_ENUM(NSInteger, AWSElasticLoadBalancingTrustStoreStatus) { @property (nonatomic, strong) NSArray * _Nullable availabilityZones; /** -

[Network Load Balancers] The IP address type.

[Gateway Load Balancers] The IP address type.

+

[Application 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; diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.m index 360a05e608a..3a21248db67 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.m +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingModel.m @@ -532,6 +532,9 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSElasticLoadBalancingIpAddressTypeDualstack); } + if ([value caseInsensitiveCompare:@"dualstack-without-public-ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4); + } return @(AWSElasticLoadBalancingIpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -539,6 +542,8 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { return @"ipv4"; case AWSElasticLoadBalancingIpAddressTypeDualstack: return @"dualstack"; + case AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4: + return @"dualstack-without-public-ipv4"; default: return nil; } @@ -1874,6 +1879,9 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSElasticLoadBalancingIpAddressTypeDualstack); } + if ([value caseInsensitiveCompare:@"dualstack-without-public-ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4); + } return @(AWSElasticLoadBalancingIpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -1881,6 +1889,8 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { return @"ipv4"; case AWSElasticLoadBalancingIpAddressTypeDualstack: return @"dualstack"; + case AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4: + return @"dualstack-without-public-ipv4"; default: return nil; } @@ -2715,6 +2725,9 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSElasticLoadBalancingIpAddressTypeDualstack); } + if ([value caseInsensitiveCompare:@"dualstack-without-public-ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4); + } return @(AWSElasticLoadBalancingIpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2722,6 +2735,8 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { return @"ipv4"; case AWSElasticLoadBalancingIpAddressTypeDualstack: return @"dualstack"; + case AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4: + return @"dualstack-without-public-ipv4"; default: return nil; } @@ -2750,6 +2765,9 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSElasticLoadBalancingIpAddressTypeDualstack); } + if ([value caseInsensitiveCompare:@"dualstack-without-public-ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4); + } return @(AWSElasticLoadBalancingIpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2757,6 +2775,8 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { return @"ipv4"; case AWSElasticLoadBalancingIpAddressTypeDualstack: return @"dualstack"; + case AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4: + return @"dualstack-without-public-ipv4"; default: return nil; } @@ -2897,6 +2917,9 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSElasticLoadBalancingIpAddressTypeDualstack); } + if ([value caseInsensitiveCompare:@"dualstack-without-public-ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4); + } return @(AWSElasticLoadBalancingIpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2904,6 +2927,8 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { return @"ipv4"; case AWSElasticLoadBalancingIpAddressTypeDualstack: return @"dualstack"; + case AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4: + return @"dualstack-without-public-ipv4"; default: return nil; } @@ -2941,6 +2966,9 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSElasticLoadBalancingIpAddressTypeDualstack); } + if ([value caseInsensitiveCompare:@"dualstack-without-public-ipv4"] == NSOrderedSame) { + return @(AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4); + } return @(AWSElasticLoadBalancingIpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2948,6 +2976,8 @@ + (NSValueTransformer *)ipAddressTypeJSONTransformer { return @"ipv4"; case AWSElasticLoadBalancingIpAddressTypeDualstack: return @"dualstack"; + case AWSElasticLoadBalancingIpAddressTypeDualstackWithoutPublicIpv4: + return @"dualstack-without-public-ipv4"; default: return nil; } diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m index 4e3c5901e86..d537e54020e 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingResources.m @@ -62,6 +62,7 @@ - (NSString *)definitionString { \"apiVersion\":\"2015-12-01\",\ \"endpointPrefix\":\"elasticloadbalancing\",\ \"protocol\":\"query\",\ + \"protocols\":[\"query\"],\ \"serviceAbbreviation\":\"Elastic Load Balancing v2\",\ \"serviceFullName\":\"Elastic Load Balancing\",\ \"serviceId\":\"Elastic Load Balancing v2\",\ @@ -1434,7 +1435,7 @@ - (NSString *)definitionString { },\ \"IpAddressType\":{\ \"shape\":\"IpAddressType\",\ - \"documentation\":\"

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).

\"\ + \"documentation\":\"

Note: Internal load balancers must use the ipv4 IP address type.

[Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

[Network Load Balancers] The IP address type. The possible values are ipv4 (for only 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 IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

\"\ },\ \"CustomerOwnedIpv4Pool\":{\ \"shape\":\"CustomerOwnedIpv4Pool\",\ @@ -2507,7 +2508,8 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"enum\":[\ \"ipv4\",\ - \"dualstack\"\ + \"dualstack\",\ + \"dualstack-without-public-ipv4\"\ ]\ },\ \"IsDefault\":{\"type\":\"boolean\"},\ @@ -2649,7 +2651,7 @@ - (NSString *)definitionString { },\ \"IpAddressType\":{\ \"shape\":\"IpAddressType\",\ - \"documentation\":\"

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).

\"\ + \"documentation\":\"

[Application Load Balancers] The type of IP addresses used for public or private connections by the subnets attached to your load balancer. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

[Network Load Balancers and Gateway Load Balancers] The type of IP addresses used for public or private connections by the subnets attached to your load balancer. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

\"\ },\ \"CustomerOwnedIpv4Pool\":{\ \"shape\":\"CustomerOwnedIpv4Pool\",\ @@ -3501,7 +3503,7 @@ - (NSString *)definitionString { },\ \"IpAddressType\":{\ \"shape\":\"IpAddressType\",\ - \"documentation\":\"

The IP address type. 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\":\"

Note: Internal load balancers must use the ipv4 IP address type.

[Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

[Network Load Balancers] The IP address type. The possible values are ipv4 (for only 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 IP address type. The possible values are ipv4 (for only IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

\"\ }\ }\ },\ @@ -3585,7 +3587,7 @@ - (NSString *)definitionString { },\ \"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.

[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).

\"\ + \"documentation\":\"

[Application Load Balancers] The IP address type. The possible values are ipv4 (for only IPv4 addresses), dualstack (for IPv4 and IPv6 addresses), and dualstack-without-public-ipv4 (for IPv6 only public addresses, with private IPv4 and IPv6 addresses).

[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).

\"\ }\ }\ },\ @@ -3598,7 +3600,7 @@ - (NSString *)definitionString { },\ \"IpAddressType\":{\ \"shape\":\"IpAddressType\",\ - \"documentation\":\"

[Network Load Balancers] The IP address type.

[Gateway Load Balancers] The IP address type.

\"\ + \"documentation\":\"

[Application Load Balancers] The IP address type.

[Network Load Balancers] The IP address type.

[Gateway Load Balancers] The IP address type.

\"\ }\ }\ },\ From e037af9b44bce01b318cf84cc7324cdb183ee5ed Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Wed, 5 Jun 2024 07:09:17 -0700 Subject: [PATCH 10/14] feat(AWSPolly): update models to latest (#5327) --- AWSPolly.podspec | 2 +- AWSPolly/AWSPollyModel.h | 17 +++++++++-------- AWSPolly/AWSPollyModel.m | 20 ++++++++++++++++++++ AWSPolly/AWSPollyResources.m | 21 +++++++++++---------- 4 files changed, 41 insertions(+), 19 deletions(-) diff --git a/AWSPolly.podspec b/AWSPolly.podspec index 010660f164a..f7d72691a2b 100644 --- a/AWSPolly.podspec +++ b/AWSPolly.podspec @@ -14,5 +14,5 @@ Pod::Spec.new do |s| s.requires_arc = true s.dependency 'AWSCore', '2.36.2' s.source_files = 'AWSPolly/*.{h,m}' - s.resource_bundle = { 'AWSPolly' => ['AWSPolly/PrivacyInfo.xcprivacy']} + s.resource_bundle = { 'AWSPolly' => ['AWSPolly/PrivacyInfo.xcprivacy'] } end diff --git a/AWSPolly/AWSPollyModel.h b/AWSPolly/AWSPollyModel.h index 80394453075..0cd81ca6b9e 100644 --- a/AWSPolly/AWSPollyModel.h +++ b/AWSPolly/AWSPollyModel.h @@ -51,6 +51,7 @@ typedef NS_ENUM(NSInteger, AWSPollyEngine) { AWSPollyEngineStandard, AWSPollyEngineNeural, AWSPollyEngineLongForm, + AWSPollyEngineGenerative, }; typedef NS_ENUM(NSInteger, AWSPollyGender) { @@ -284,7 +285,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { /** -

Specifies the engine (standard, neural or long-form) used by Amazon Polly when processing input text for speech synthesis.

+

Specifies the engine (standard, neural, long-form or generative) used by Amazon Polly when processing input text for speech synthesis.

*/ @property (nonatomic, assign) AWSPollyEngine engine; @@ -559,7 +560,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { /** -

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.

+

Specifies the engine (standard, neural, long-form or generative) 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; @@ -589,7 +590,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". The default value for long-form 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". The default value for generative voices is "24000".

Valid values for pcm are "8000" and "16000" The default value is "16000".

*/ @property (nonatomic, strong) NSString * _Nullable sampleRate; @@ -645,7 +646,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @property (nonatomic, strong) NSDate * _Nullable creationTime; /** -

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.

+

Specifies the engine (standard, neural, long-form or generative) 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; @@ -675,7 +676,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". The default value for long-form 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". The default value for generative voices is "24000".

Valid values for pcm are "8000" and "16000" The default value is "16000".

*/ @property (nonatomic, strong) NSString * _Nullable sampleRate; @@ -723,7 +724,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { /** -

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.

+

Specifies the engine (standard, neural, long-form, or generative) for Amazon Polly to use when processing input text for speech synthesis. Provide an engine that is supported by the voice you select. If you don't provide an engine, the standard engine is selected by default. If a chosen voice isn't supported by the standard engine, this will result in an error. For information on Amazon Polly voices and which voices are available for each engine, see Available Voices.

Type: String

Valid Values: standard | neural | long-form | generative

Required: Yes

*/ @property (nonatomic, assign) AWSPollyEngine engine; @@ -743,7 +744,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". The default value for long-form 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". The default value for generative voices is "24000".

Valid values for pcm are "8000" and "16000" The default value is "16000".

*/ @property (nonatomic, strong) NSString * _Nullable sampleRate; @@ -829,7 +830,7 @@ typedef NS_ENUM(NSInteger, AWSPollyVoiceId) { @property (nonatomic, strong) NSString * _Nullable name; /** -

Specifies which engines (standard, neural or long-form) are supported by a given voice.

+

Specifies which engines (standard, neural, long-form or generative) are supported by a given voice.

*/ @property (nonatomic, strong) NSArray * _Nullable supportedEngines; diff --git a/AWSPolly/AWSPollyModel.m b/AWSPolly/AWSPollyModel.m index 83f6882a369..170fe17cc66 100644 --- a/AWSPolly/AWSPollyModel.m +++ b/AWSPolly/AWSPollyModel.m @@ -66,6 +66,9 @@ + (NSValueTransformer *)engineJSONTransformer { if ([value caseInsensitiveCompare:@"long-form"] == NSOrderedSame) { return @(AWSPollyEngineLongForm); } + if ([value caseInsensitiveCompare:@"generative"] == NSOrderedSame) { + return @(AWSPollyEngineGenerative); + } return @(AWSPollyEngineUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -75,6 +78,8 @@ + (NSValueTransformer *)engineJSONTransformer { return @"neural"; case AWSPollyEngineLongForm: return @"long-form"; + case AWSPollyEngineGenerative: + return @"generative"; default: return nil; } @@ -800,6 +805,9 @@ + (NSValueTransformer *)engineJSONTransformer { if ([value caseInsensitiveCompare:@"long-form"] == NSOrderedSame) { return @(AWSPollyEngineLongForm); } + if ([value caseInsensitiveCompare:@"generative"] == NSOrderedSame) { + return @(AWSPollyEngineGenerative); + } return @(AWSPollyEngineUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -809,6 +817,8 @@ + (NSValueTransformer *)engineJSONTransformer { return @"neural"; case AWSPollyEngineLongForm: return @"long-form"; + case AWSPollyEngineGenerative: + return @"generative"; default: return nil; } @@ -1629,6 +1639,9 @@ + (NSValueTransformer *)engineJSONTransformer { if ([value caseInsensitiveCompare:@"long-form"] == NSOrderedSame) { return @(AWSPollyEngineLongForm); } + if ([value caseInsensitiveCompare:@"generative"] == NSOrderedSame) { + return @(AWSPollyEngineGenerative); + } return @(AWSPollyEngineUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -1638,6 +1651,8 @@ + (NSValueTransformer *)engineJSONTransformer { return @"neural"; case AWSPollyEngineLongForm: return @"long-form"; + case AWSPollyEngineGenerative: + return @"generative"; default: return nil; } @@ -2457,6 +2472,9 @@ + (NSValueTransformer *)engineJSONTransformer { if ([value caseInsensitiveCompare:@"long-form"] == NSOrderedSame) { return @(AWSPollyEngineLongForm); } + if ([value caseInsensitiveCompare:@"generative"] == NSOrderedSame) { + return @(AWSPollyEngineGenerative); + } return @(AWSPollyEngineUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -2466,6 +2484,8 @@ + (NSValueTransformer *)engineJSONTransformer { return @"neural"; case AWSPollyEngineLongForm: return @"long-form"; + case AWSPollyEngineGenerative: + return @"generative"; default: return nil; } diff --git a/AWSPolly/AWSPollyResources.m b/AWSPolly/AWSPollyResources.m index dd333874886..ebde7dbd2de 100644 --- a/AWSPolly/AWSPollyResources.m +++ b/AWSPolly/AWSPollyResources.m @@ -257,7 +257,7 @@ - (NSString *)definitionString { \"members\":{\ \"Engine\":{\ \"shape\":\"Engine\",\ - \"documentation\":\"

Specifies the engine (standard, neural or long-form) used by Amazon Polly when processing input text for speech synthesis.

\",\ + \"documentation\":\"

Specifies the engine (standard, neural, long-form or generative) used by Amazon Polly when processing input text for speech synthesis.

\",\ \"location\":\"querystring\",\ \"locationName\":\"Engine\"\ },\ @@ -299,7 +299,8 @@ - (NSString *)definitionString { \"enum\":[\ \"standard\",\ \"neural\",\ - \"long-form\"\ + \"long-form\",\ + \"generative\"\ ]\ },\ \"EngineList\":{\ @@ -750,7 +751,7 @@ - (NSString *)definitionString { \"Size\":{\"type\":\"integer\"},\ \"SnsTopicArn\":{\ \"type\":\"string\",\ - \"pattern\":\"^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:[a-z0-9_-]{1,50}:\\\\d{12}:[a-zA-Z0-9_-]{1,256}$\"\ + \"pattern\":\"^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:[a-z0-9_-]{1,50}:\\\\d{12}:[a-zA-Z0-9_-]{1,251}([a-zA-Z0-9_-]{0,5}|\\\\.fifo)$\"\ },\ \"SpeechMarkType\":{\ \"type\":\"string\",\ @@ -786,7 +787,7 @@ - (NSString *)definitionString { \"members\":{\ \"Engine\":{\ \"shape\":\"Engine\",\ - \"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.

\"\ + \"documentation\":\"

Specifies the engine (standard, neural, long-form or generative) 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\",\ @@ -810,7 +811,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\\\". The default value for long-form 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\\\". The default value for generative voices is \\\"24000\\\".

Valid values for pcm are \\\"8000\\\" and \\\"16000\\\" The default value is \\\"16000\\\".

\"\ },\ \"SnsTopicArn\":{\ \"shape\":\"SnsTopicArn\",\ @@ -848,7 +849,7 @@ - (NSString *)definitionString { \"members\":{\ \"Engine\":{\ \"shape\":\"Engine\",\ - \"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.

\"\ + \"documentation\":\"

Specifies the engine (standard, neural, long-form or generative) 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\",\ @@ -888,7 +889,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\\\". The default value for long-form 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\\\". The default value for generative voices is \\\"24000\\\".

Valid values for pcm are \\\"8000\\\" and \\\"16000\\\" The default value is \\\"16000\\\".

\"\ },\ \"SpeechMarkTypes\":{\ \"shape\":\"SpeechMarkTypeList\",\ @@ -932,7 +933,7 @@ - (NSString *)definitionString { \"members\":{\ \"Engine\":{\ \"shape\":\"Engine\",\ - \"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.

\"\ + \"documentation\":\"

Specifies the engine (standard, neural, long-form, or generative) for Amazon Polly to use when processing input text for speech synthesis. Provide an engine that is supported by the voice you select. If you don't provide an engine, the standard engine is selected by default. If a chosen voice isn't supported by the standard engine, this will result in an error. For information on Amazon Polly voices and which voices are available for each engine, see Available Voices.

Type: String

Valid Values: standard | neural | long-form | generative

Required: Yes

\"\ },\ \"LanguageCode\":{\ \"shape\":\"LanguageCode\",\ @@ -948,7 +949,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\\\". The default value for long-form 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\\\". The default value for generative voices is \\\"24000\\\".

Valid values for pcm are \\\"8000\\\" and \\\"16000\\\" The default value is \\\"16000\\\".

\"\ },\ \"SpeechMarkTypes\":{\ \"shape\":\"SpeechMarkTypeList\",\ @@ -1068,7 +1069,7 @@ - (NSString *)definitionString { },\ \"SupportedEngines\":{\ \"shape\":\"EngineList\",\ - \"documentation\":\"

Specifies which engines (standard, neural or long-form) are supported by a given voice.

\"\ + \"documentation\":\"

Specifies which engines (standard, neural, long-form or generative) are supported by a given voice.

\"\ }\ },\ \"documentation\":\"

Description of the voice.

\"\ From 26ed44748e1570d2f834536998520c48c2b44a9c Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Wed, 5 Jun 2024 07:11:37 -0700 Subject: [PATCH 11/14] feat(AWSCognitoIdentityProvider): update models to latest (#5325) --- AWSCognitoIdentityProvider.podspec | 2 +- .../AWSCognitoIdentityProviderModel.h | 49 ++++++++--------- .../AWSCognitoIdentityProviderModel.m | 10 ++++ .../AWSCognitoIdentityProviderResources.m | 53 ++++++++++--------- .../AWSCognitoIdentityProviderService.h | 4 +- 5 files changed, 66 insertions(+), 52 deletions(-) diff --git a/AWSCognitoIdentityProvider.podspec b/AWSCognitoIdentityProvider.podspec index 4599434dccb..2981e797d56 100644 --- a/AWSCognitoIdentityProvider.podspec +++ b/AWSCognitoIdentityProvider.podspec @@ -19,5 +19,5 @@ Pod::Spec.new do |s| s.source_files = 'AWSCognitoIdentityProvider/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoIdentityProvider/*.h' s.private_header_files = 'AWSCognitoIdentityProvider/Internal/*.h' - s.resource_bundle = { 'AWSCognitoIdentityProvider' => ['AWSCognitoIdentityProvider/PrivacyInfo.xcprivacy']} + s.resource_bundle = { 'AWSCognitoIdentityProvider' => ['AWSCognitoIdentityProvider/PrivacyInfo.xcprivacy'] } end diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h index 5cf01da5100..4afbe53d310 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.h @@ -336,6 +336,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderUserStatusType) { AWSCognitoIdentityProviderUserStatusTypeCompromised, AWSCognitoIdentityProviderUserStatusTypeResetRequired, AWSCognitoIdentityProviderUserStatusTypeForceChangePassword, + AWSCognitoIdentityProviderUserStatusTypeExternalProvider, }; typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderUsernameAttributeType) { @@ -1112,7 +1113,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSDate * _Nullable userCreateDate; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable userLastModifiedDate; @@ -1861,7 +1862,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSArray * _Nullable challengeResponses; /** -

The date and time, in ISO 8601 format, when the item was created.

+

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable creationDate; @@ -2348,7 +2349,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located, such as https://my-weather-api.example.com.

+

A unique resource server identifier for the resource server. The identifier can be an API friendly name like solar-system-data. You can also set an API URL like https://solar-system-data-api.example.com as your identifier.

Amazon Cognito represents scopes in the access token in the format $resource-server-identifier/$scope. Longer scope-identifier strings increase the size of your access tokens.

*/ @property (nonatomic, strong) NSString * _Nullable identifier; @@ -2467,7 +2468,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientName; /** -

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

+

The default redirect URI. In app clients with one assigned IdP, replaces redirect_uri in authentication requests. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

For more information, see Default redirect URI.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

*/ @property (nonatomic, strong) NSString * _Nullable defaultRedirectURI; @@ -2968,7 +2969,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The identifier for the resource server

+

A unique resource server identifier for the resource server. The identifier can be an API friendly name like solar-system-data. You can also set an API URL like https://solar-system-data-api.example.com as your identifier.

Amazon Cognito represents scopes in the access token in the format $resource-server-identifier/$scope. Longer scope-identifier strings increase the size of your access tokens.

*/ @property (nonatomic, strong) NSString * _Nullable identifier; @@ -3203,7 +3204,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSDate * _Nullable deviceLastAuthenticatedDate; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable deviceLastModifiedDate; @@ -3802,7 +3803,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The date and time, in ISO 8601 format, when the item was created.

+

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable creationDate; @@ -3817,7 +3818,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable groupName; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; @@ -3868,7 +3869,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSDictionary * _Nullable attributeMapping; /** -

The date and time, in ISO 8601 format, when the item was created.

+

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable creationDate; @@ -3878,7 +3879,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSArray * _Nullable idpIdentifiers; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; @@ -4706,7 +4707,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The date and time, in ISO 8601 format, when the item was created.

+

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable creationDate; @@ -4847,7 +4848,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The identifier for the resource server.

+

A unique resource server identifier for the resource server. The identifier can be an API friendly name like solar-system-data. You can also set an API URL like https://solar-system-data-api.example.com as your identifier.

Amazon Cognito represents scopes in the access token in the format $resource-server-identifier/$scope. Longer scope-identifier strings increase the size of your access tokens.

*/ @property (nonatomic, strong) NSString * _Nullable identifier; @@ -4993,7 +4994,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderCompromisedCredentialsRiskConfigurationType * _Nullable compromisedCredentialsRiskConfiguration; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; @@ -5619,7 +5620,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientId; /** -

The date and time, in ISO 8601 format, when the item was created.

+

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable creationDate; @@ -5629,7 +5630,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable imageUrl; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; @@ -5838,7 +5839,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The identifier for the resource server.

+

A unique resource server identifier for the resource server. The identifier can be an API friendly name like solar-system-data. You can also set an API URL like https://solar-system-data-api.example.com as your identifier.

Amazon Cognito represents scopes in the access token in the format $resource-server-identifier/$scope. Longer scope-identifier strings increase the size of your access tokens.

*/ @property (nonatomic, strong) NSString * _Nullable identifier; @@ -6243,7 +6244,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable completionMessage; /** -

The date and time, in ISO 8601 format, when the item was created.

+

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable creationDate; @@ -6388,7 +6389,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSString * _Nullable clientSecret; /** -

The date and time, in ISO 8601 format, when the item was created.

+

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable creationDate; @@ -6418,7 +6419,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSNumber * _Nullable idTokenValidity; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; @@ -6471,7 +6472,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse /** -

The date and time, in ISO 8601 format, when the item was created.

+

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable creationDate; @@ -6486,7 +6487,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; @@ -6547,7 +6548,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSArray * _Nullable autoVerifiedAttributes; /** -

The date and time, in ISO 8601 format, when the item was created.

+

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable creationDate; @@ -6607,7 +6608,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; @@ -6715,7 +6716,7 @@ typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifySoftwareTokenResponse @property (nonatomic, strong) NSDate * _Nullable userCreateDate; /** -

The date and time, in ISO 8601 format, when the item was modified.

+

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

*/ @property (nonatomic, strong) NSDate * _Nullable userLastModifiedDate; diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m index ab7a0345259..fa99cc47912 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderModel.m @@ -533,6 +533,9 @@ + (NSValueTransformer *)userStatusJSONTransformer { if ([value caseInsensitiveCompare:@"FORCE_CHANGE_PASSWORD"] == NSOrderedSame) { return @(AWSCognitoIdentityProviderUserStatusTypeForceChangePassword); } + if ([value caseInsensitiveCompare:@"EXTERNAL_PROVIDER"] == NSOrderedSame) { + return @(AWSCognitoIdentityProviderUserStatusTypeExternalProvider); + } return @(AWSCognitoIdentityProviderUserStatusTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -550,6 +553,8 @@ + (NSValueTransformer *)userStatusJSONTransformer { return @"RESET_REQUIRED"; case AWSCognitoIdentityProviderUserStatusTypeForceChangePassword: return @"FORCE_CHANGE_PASSWORD"; + case AWSCognitoIdentityProviderUserStatusTypeExternalProvider: + return @"EXTERNAL_PROVIDER"; default: return nil; } @@ -6665,6 +6670,9 @@ + (NSValueTransformer *)userStatusJSONTransformer { if ([value caseInsensitiveCompare:@"FORCE_CHANGE_PASSWORD"] == NSOrderedSame) { return @(AWSCognitoIdentityProviderUserStatusTypeForceChangePassword); } + if ([value caseInsensitiveCompare:@"EXTERNAL_PROVIDER"] == NSOrderedSame) { + return @(AWSCognitoIdentityProviderUserStatusTypeExternalProvider); + } return @(AWSCognitoIdentityProviderUserStatusTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -6682,6 +6690,8 @@ + (NSValueTransformer *)userStatusJSONTransformer { return @"RESET_REQUIRED"; case AWSCognitoIdentityProviderUserStatusTypeForceChangePassword: return @"FORCE_CHANGE_PASSWORD"; + case AWSCognitoIdentityProviderUserStatusTypeExternalProvider: + return @"EXTERNAL_PROVIDER"; default: return nil; } diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m index 3631f9b3742..670261330c7 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderResources.m @@ -63,6 +63,7 @@ - (NSString *)definitionString { \"endpointPrefix\":\"cognito-idp\",\ \"jsonVersion\":\"1.1\",\ \"protocol\":\"json\",\ + \"protocols\":[\"json\"],\ \"serviceFullName\":\"Amazon Cognito Identity Provider\",\ \"serviceId\":\"Cognito Identity Provider\",\ \"signatureVersion\":\"v4\",\ @@ -1818,6 +1819,7 @@ - (NSString *)definitionString { {\"shape\":\"UsernameExistsException\"},\ {\"shape\":\"TooManyRequestsException\"},\ {\"shape\":\"InternalErrorException\"},\ + {\"shape\":\"LimitExceededException\"},\ {\"shape\":\"InvalidSmsRoleAccessPolicyException\"},\ {\"shape\":\"InvalidSmsRoleTrustRelationshipException\"},\ {\"shape\":\"InvalidEmailRoleAccessPolicyException\"},\ @@ -2584,7 +2586,7 @@ - (NSString *)definitionString { },\ \"UserLastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"Enabled\":{\ \"shape\":\"BooleanType\",\ @@ -3309,7 +3311,7 @@ - (NSString *)definitionString { },\ \"CreationDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was created.

\"\ + \"documentation\":\"

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"EventResponse\":{\ \"shape\":\"EventResponseType\",\ @@ -3904,7 +3906,7 @@ - (NSString *)definitionString { },\ \"Identifier\":{\ \"shape\":\"ResourceServerIdentifierType\",\ - \"documentation\":\"

A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located, such as https://my-weather-api.example.com.

\"\ + \"documentation\":\"

A unique resource server identifier for the resource server. The identifier can be an API friendly name like solar-system-data. You can also set an API URL like https://solar-system-data-api.example.com as your identifier.

Amazon Cognito represents scopes in the access token in the format $resource-server-identifier/$scope. Longer scope-identifier strings increase the size of your access tokens.

\"\ },\ \"Name\":{\ \"shape\":\"ResourceServerNameType\",\ @@ -4020,7 +4022,7 @@ - (NSString *)definitionString { },\ \"DefaultRedirectURI\":{\ \"shape\":\"RedirectUrlType\",\ - \"documentation\":\"

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

\"\ + \"documentation\":\"

The default redirect URI. In app clients with one assigned IdP, replaces redirect_uri in authentication requests. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

For more information, see Default redirect URI.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

\"\ },\ \"AllowedOAuthFlows\":{\ \"shape\":\"OAuthFlowsType\",\ @@ -4476,7 +4478,7 @@ - (NSString *)definitionString { },\ \"Identifier\":{\ \"shape\":\"ResourceServerIdentifierType\",\ - \"documentation\":\"

The identifier for the resource server

\"\ + \"documentation\":\"

A unique resource server identifier for the resource server. The identifier can be an API friendly name like solar-system-data. You can also set an API URL like https://solar-system-data-api.example.com as your identifier.

Amazon Cognito represents scopes in the access token in the format $resource-server-identifier/$scope. Longer scope-identifier strings increase the size of your access tokens.

\"\ }\ }\ },\ @@ -4681,7 +4683,7 @@ - (NSString *)definitionString { },\ \"DeviceLastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"DeviceLastAuthenticatedDate\":{\ \"shape\":\"DateType\",\ @@ -5379,11 +5381,11 @@ - (NSString *)definitionString { },\ \"LastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"CreationDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was created.

\"\ + \"documentation\":\"

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ }\ },\ \"documentation\":\"

The group type.

\"\ @@ -5444,11 +5446,11 @@ - (NSString *)definitionString { },\ \"LastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"CreationDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was created.

\"\ + \"documentation\":\"

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ }\ },\ \"documentation\":\"

A container for information about an IdP.

\"\ @@ -6404,7 +6406,7 @@ - (NSString *)definitionString { },\ \"CreationDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was created.

\"\ + \"documentation\":\"

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ }\ },\ \"documentation\":\"

A container for IdP details.

\"\ @@ -6618,7 +6620,7 @@ - (NSString *)definitionString { },\ \"Identifier\":{\ \"shape\":\"ResourceServerIdentifierType\",\ - \"documentation\":\"

The identifier for the resource server.

\"\ + \"documentation\":\"

A unique resource server identifier for the resource server. The identifier can be an API friendly name like solar-system-data. You can also set an API URL like https://solar-system-data-api.example.com as your identifier.

Amazon Cognito represents scopes in the access token in the format $resource-server-identifier/$scope. Longer scope-identifier strings increase the size of your access tokens.

\"\ },\ \"Name\":{\ \"shape\":\"ResourceServerNameType\",\ @@ -6746,7 +6748,7 @@ - (NSString *)definitionString { },\ \"LastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ }\ },\ \"documentation\":\"

The risk configuration type.

\"\ @@ -7431,11 +7433,11 @@ - (NSString *)definitionString { },\ \"LastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"CreationDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was created.

\"\ + \"documentation\":\"

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ }\ },\ \"documentation\":\"

A container for the UI customization information for a user pool's built-in app UI.

\"\ @@ -7672,7 +7674,7 @@ - (NSString *)definitionString { },\ \"Identifier\":{\ \"shape\":\"ResourceServerIdentifierType\",\ - \"documentation\":\"

The identifier for the resource server.

\"\ + \"documentation\":\"

A unique resource server identifier for the resource server. The identifier can be an API friendly name like solar-system-data. You can also set an API URL like https://solar-system-data-api.example.com as your identifier.

Amazon Cognito represents scopes in the access token in the format $resource-server-identifier/$scope. Longer scope-identifier strings increase the size of your access tokens.

\"\ },\ \"Name\":{\ \"shape\":\"ResourceServerNameType\",\ @@ -8042,7 +8044,7 @@ - (NSString *)definitionString { },\ \"CreationDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was created.

\"\ + \"documentation\":\"

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"StartDate\":{\ \"shape\":\"DateType\",\ @@ -8184,11 +8186,11 @@ - (NSString *)definitionString { },\ \"LastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"CreationDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was created.

\"\ + \"documentation\":\"

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"RefreshTokenValidity\":{\ \"shape\":\"RefreshTokenValidityType\",\ @@ -8293,11 +8295,11 @@ - (NSString *)definitionString { },\ \"LastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"CreationDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was created.

\"\ + \"documentation\":\"

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ }\ },\ \"documentation\":\"

A user pool description.

\"\ @@ -8384,11 +8386,11 @@ - (NSString *)definitionString { },\ \"LastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"CreationDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was created.

\"\ + \"documentation\":\"

The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"SchemaAttributes\":{\ \"shape\":\"SchemaAttributesListType\",\ @@ -8502,7 +8504,8 @@ - (NSString *)definitionString { \"COMPROMISED\",\ \"UNKNOWN\",\ \"RESET_REQUIRED\",\ - \"FORCE_CHANGE_PASSWORD\"\ + \"FORCE_CHANGE_PASSWORD\",\ + \"EXTERNAL_PROVIDER\"\ ]\ },\ \"UserType\":{\ @@ -8522,7 +8525,7 @@ - (NSString *)definitionString { },\ \"UserLastModifiedDate\":{\ \"shape\":\"DateType\",\ - \"documentation\":\"

The date and time, in ISO 8601 format, when the item was modified.

\"\ + \"documentation\":\"

The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date object.

\"\ },\ \"Enabled\":{\ \"shape\":\"BooleanType\",\ diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h index 642d7e2a998..0a3a9159171 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.h @@ -2321,7 +2321,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; @param request A container for the necessary parameters to execute the SignUp service method. - @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderSignUpResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorForbidden`. + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderSignUpResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorForbidden`. @see AWSCognitoIdentityProviderSignUpRequest @see AWSCognitoIdentityProviderSignUpResponse @@ -2334,7 +2334,7 @@ FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderSDKVersion; @param request A container for the necessary parameters to execute the SignUp service method. @param completionHandler The completion handler to call when the load request is complete. `response` - A response object, or `nil` if the request failed. - `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorForbidden`. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorForbidden`. @see AWSCognitoIdentityProviderSignUpRequest @see AWSCognitoIdentityProviderSignUpResponse From bf342dde77688329368c4f54d237f3703a9cb458 Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Wed, 5 Jun 2024 08:25:44 -0700 Subject: [PATCH 12/14] feat(AWSEC2): update models to latest (#5362) --- AWSEC2/AWSEC2Model.h | 9 + AWSEC2/AWSEC2Model.m | 990 +++++++++++++++++++++++++++++++++++++++ AWSEC2/AWSEC2Resources.m | 12 +- 3 files changed, 1010 insertions(+), 1 deletion(-) diff --git a/AWSEC2/AWSEC2Model.h b/AWSEC2/AWSEC2Model.h index 7d266693b3d..94023b71099 100644 --- a/AWSEC2/AWSEC2Model.h +++ b/AWSEC2/AWSEC2Model.h @@ -1874,6 +1874,15 @@ typedef NS_ENUM(NSInteger, AWSEC2InstanceType) { AWSEC2InstanceTypeG6_48xlarge, AWSEC2InstanceTypeGR6_4xlarge, AWSEC2InstanceTypeGR6_8xlarge, + AWSEC2InstanceTypeC7I_flex_large, + AWSEC2InstanceTypeC7I_flex_xlarge, + AWSEC2InstanceTypeC7I_flex_2xlarge, + AWSEC2InstanceTypeC7I_flex_4xlarge, + AWSEC2InstanceTypeC7I_flex_8xlarge, + AWSEC2InstanceTypeU7I_12tb_224xlarge, + AWSEC2InstanceTypeU7In_16tb_224xlarge, + AWSEC2InstanceTypeU7In_24tb_224xlarge, + AWSEC2InstanceTypeU7In_32tb_224xlarge, }; typedef NS_ENUM(NSInteger, AWSEC2InstanceTypeHypervisor) { diff --git a/AWSEC2/AWSEC2Model.m b/AWSEC2/AWSEC2Model.m index 59eaef0c3d8..66d36859015 100644 --- a/AWSEC2/AWSEC2Model.m +++ b/AWSEC2/AWSEC2Model.m @@ -9105,6 +9105,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -10700,6 +10727,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -21735,6 +21780,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -23330,6 +23402,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -28584,6 +28674,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -30179,6 +30296,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -39542,6 +39677,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -41137,6 +41299,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -43815,6 +43995,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -45410,6 +45617,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -47836,6 +48061,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -49431,6 +49683,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -56013,6 +56283,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -57608,6 +57905,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -60619,6 +60934,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -62214,6 +62556,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -67063,6 +67423,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -68658,6 +69045,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -71179,6 +71584,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -72774,6 +73206,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -77273,6 +77723,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -78868,6 +79345,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -82383,6 +82878,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -83978,6 +84500,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -96901,6 +97441,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -98496,6 +99063,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -101109,6 +101694,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -102704,6 +103316,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -105259,6 +105889,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -106854,6 +107511,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -109397,6 +110072,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -110992,6 +111694,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -113577,6 +114297,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -115172,6 +115919,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -117828,6 +118593,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -119423,6 +120215,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -122452,6 +123262,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -124047,6 +124884,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -127239,6 +128094,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -128834,6 +129716,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -132900,6 +133800,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -134495,6 +135422,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } @@ -138299,6 +139244,33 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { if ([value caseInsensitiveCompare:@"gr6.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeGR6_8xlarge); } + if ([value caseInsensitiveCompare:@"c7i-flex.large"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_large); + } + if ([value caseInsensitiveCompare:@"c7i-flex.xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.2xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_2xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.4xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_4xlarge); + } + if ([value caseInsensitiveCompare:@"c7i-flex.8xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeC7I_flex_8xlarge); + } + if ([value caseInsensitiveCompare:@"u7i-12tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7I_12tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-16tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_16tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-24tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_24tb_224xlarge); + } + if ([value caseInsensitiveCompare:@"u7in-32tb.224xlarge"] == NSOrderedSame) { + return @(AWSEC2InstanceTypeU7In_32tb_224xlarge); + } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { @@ -139894,6 +140866,24 @@ + (NSValueTransformer *)instanceTypeJSONTransformer { return @"gr6.4xlarge"; case AWSEC2InstanceTypeGR6_8xlarge: return @"gr6.8xlarge"; + case AWSEC2InstanceTypeC7I_flex_large: + return @"c7i-flex.large"; + case AWSEC2InstanceTypeC7I_flex_xlarge: + return @"c7i-flex.xlarge"; + case AWSEC2InstanceTypeC7I_flex_2xlarge: + return @"c7i-flex.2xlarge"; + case AWSEC2InstanceTypeC7I_flex_4xlarge: + return @"c7i-flex.4xlarge"; + case AWSEC2InstanceTypeC7I_flex_8xlarge: + return @"c7i-flex.8xlarge"; + case AWSEC2InstanceTypeU7I_12tb_224xlarge: + return @"u7i-12tb.224xlarge"; + case AWSEC2InstanceTypeU7In_16tb_224xlarge: + return @"u7in-16tb.224xlarge"; + case AWSEC2InstanceTypeU7In_24tb_224xlarge: + return @"u7in-24tb.224xlarge"; + case AWSEC2InstanceTypeU7In_32tb_224xlarge: + return @"u7in-32tb.224xlarge"; default: return nil; } diff --git a/AWSEC2/AWSEC2Resources.m b/AWSEC2/AWSEC2Resources.m index 115de9810d2..5d0696f5821 100644 --- a/AWSEC2/AWSEC2Resources.m +++ b/AWSEC2/AWSEC2Resources.m @@ -62,6 +62,7 @@ - (NSString *)definitionString { \"apiVersion\":\"2016-11-15\",\ \"endpointPrefix\":\"ec2\",\ \"protocol\":\"ec2\",\ + \"protocols\":[\"query\"],\ \"serviceAbbreviation\":\"Amazon EC2\",\ \"serviceFullName\":\"Amazon Elastic Compute Cloud\",\ \"serviceId\":\"EC2\",\ @@ -37187,7 +37188,16 @@ - (NSString *)definitionString { \"g6.24xlarge\",\ \"g6.48xlarge\",\ \"gr6.4xlarge\",\ - \"gr6.8xlarge\"\ + \"gr6.8xlarge\",\ + \"c7i-flex.large\",\ + \"c7i-flex.xlarge\",\ + \"c7i-flex.2xlarge\",\ + \"c7i-flex.4xlarge\",\ + \"c7i-flex.8xlarge\",\ + \"u7i-12tb.224xlarge\",\ + \"u7in-16tb.224xlarge\",\ + \"u7in-24tb.224xlarge\",\ + \"u7in-32tb.224xlarge\"\ ]\ },\ \"InstanceTypeHypervisor\":{\ From 8ec31a8afad0913b60e6490f8cc14fd1864934ad Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Wed, 5 Jun 2024 08:47:29 -0700 Subject: [PATCH 13/14] CHANGELOG for model updates published around: Tue Jun 04 18:16:57 UTC 2024 (#5363) [skip ci] * chore(changelog): Update models to latest [skip ci] * Update CHANGELOG.md --------- Co-authored-by: Michael Law <1365977+lawmicha@users.noreply.github.com> --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index edec54c37fd..7e23387a7fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,17 @@ ## Unreleased +### Misc. Updates + +- Model updates for the following services + - AWSEC2 + - AWSCognitoIdentityProvider + - AWSPolly + - AWSElasticLoadBalancingv2 + - AWSDynamoDB + - AWSKMS + - AWSConnect + - **AWSCore** - Fixing a name collision with CocoaLumberjack (#5361) From fcff3a9221185ea1dae2d20fdd020dc63b8578ef Mon Sep 17 00:00:00 2001 From: aws-amplify-ops Date: Wed, 5 Jun 2024 16:32:29 +0000 Subject: [PATCH 14/14] [bump version 2.36.3] --- AWSAPIGateway.podspec | 4 +- AWSAPIGateway/AWSAPIGatewayClient.m | 2 +- AWSAPIGateway/Info.plist | 2 +- AWSAppleSignIn.podspec | 6 +- AWSAuth.podspec | 12 ++-- AWSAuthCore.podspec | 4 +- AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist | 2 +- AWSAuthSDK/Sources/AWSAuthCore/Info.plist | 2 +- AWSAuthSDK/Sources/AWSAuthUI/Info.plist | 2 +- .../Sources/AWSFacebookSignIn/Info.plist | 2 +- AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist | 2 +- AWSAuthSDK/Sources/AWSMobileClient/Info.plist | 2 +- .../Sources/AWSMobileClientXCF/Info.plist | 2 +- .../Sources/AWSUserPoolsSignIn/Info.plist | 2 +- AWSAuthUI.podspec | 6 +- AWSAutoScaling.podspec | 4 +- AWSAutoScaling/AWSAutoScalingService.m | 2 +- AWSAutoScaling/Info.plist | 2 +- AWSChimeSDKIdentity.podspec | 4 +- .../AWSChimeSDKIdentityService.m | 2 +- AWSChimeSDKIdentity/Info.plist | 2 +- AWSChimeSDKMessaging.podspec | 4 +- .../AWSChimeSDKMessagingService.m | 2 +- AWSChimeSDKMessaging/Info.plist | 2 +- AWSCloudWatch.podspec | 4 +- AWSCloudWatch/AWSCloudWatchService.m | 2 +- AWSCloudWatch/Info.plist | 2 +- AWSCognitoAuth.podspec | 6 +- AWSCognitoAuth/AWSCognitoAuth.m | 2 +- AWSCognitoAuth/Info.plist | 2 +- AWSCognitoIdentityProvider.podspec | 6 +- .../AWSCognitoIdentityProviderService.m | 2 +- AWSCognitoIdentityProvider/Info.plist | 2 +- AWSCognitoIdentityProviderASF.podspec | 4 +- AWSCognitoIdentityProviderASF/Info.plist | 2 +- AWSComprehend.podspec | 4 +- AWSComprehend/AWSComprehendService.m | 2 +- AWSComprehend/Info.plist | 2 +- AWSConnect.podspec | 4 +- AWSConnect/AWSConnectService.m | 2 +- AWSConnect/Info.plist | 2 +- AWSConnectParticipant.podspec | 4 +- .../AWSConnectParticipantService.m | 2 +- AWSConnectParticipant/Info.plist | 2 +- AWSCore.podspec | 2 +- AWSCore/Info.plist | 2 +- AWSCore/Service/AWSService.m | 2 +- AWSDynamoDB.podspec | 4 +- AWSDynamoDB/AWSDynamoDBService.m | 2 +- AWSDynamoDB/Info.plist | 2 +- AWSEC2.podspec | 4 +- AWSEC2/AWSEC2Service.m | 2 +- AWSEC2/Info.plist | 2 +- AWSElasticLoadBalancing.podspec | 4 +- .../AWSElasticLoadBalancingService.m | 2 +- AWSElasticLoadBalancing/Info.plist | 2 +- AWSFacebookSignIn.podspec | 6 +- AWSGoogleSignIn.podspec | 6 +- AWSIoT.podspec | 4 +- AWSIoT/AWSIoTDataService.m | 2 +- AWSIoT/AWSIoTService.m | 2 +- AWSIoT/Info.plist | 2 +- AWSKMS.podspec | 4 +- AWSKMS/AWSKMSService.m | 2 +- AWSKMS/Info.plist | 2 +- AWSKinesis.podspec | 4 +- AWSKinesis/AWSFirehoseService.m | 2 +- AWSKinesis/AWSKinesisService.m | 2 +- AWSKinesis/Info.plist | 2 +- AWSKinesisVideo.podspec | 4 +- AWSKinesisVideo/AWSKinesisVideoService.m | 2 +- AWSKinesisVideo/Info.plist | 2 +- AWSKinesisVideoArchivedMedia.podspec | 4 +- .../AWSKinesisVideoArchivedMediaService.m | 2 +- AWSKinesisVideoArchivedMedia/Info.plist | 2 +- AWSKinesisVideoSignaling.podspec | 4 +- .../AWSKinesisVideoSignalingService.m | 2 +- AWSKinesisVideoSignaling/Info.plist | 2 +- AWSKinesisVideoWebRTCStorage.podspec | 4 +- .../AWSKinesisVideoWebRTCStorageService.m | 2 +- AWSKinesisVideoWebRTCStorage/Info.plist | 2 +- AWSLambda.podspec | 4 +- AWSLambda/AWSLambdaService.m | 2 +- AWSLambda/Info.plist | 2 +- AWSLex.podspec | 4 +- AWSLex/AWSLexInteractionKit.m | 2 +- AWSLex/AWSLexService.m | 2 +- AWSLex/Info.plist | 2 +- AWSLocation.podspec | 4 +- AWSLocation/AWSLocationService.m | 2 +- AWSLocation/Info.plist | 2 +- AWSLocationXCF/Info.plist | 2 +- AWSLogs.podspec | 4 +- AWSLogs/AWSLogsService.m | 2 +- AWSLogs/Info.plist | 2 +- AWSMachineLearning.podspec | 4 +- .../AWSMachineLearningService.m | 2 +- AWSMachineLearning/Info.plist | 2 +- AWSMobileClient.podspec | 10 +-- AWSPinpoint.podspec | 4 +- .../AWSPinpointTargetingService.m | 2 +- AWSPinpoint/Info.plist | 2 +- AWSPolly.podspec | 4 +- AWSPolly/AWSPollyService.m | 2 +- AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m | 2 +- AWSPolly/Info.plist | 2 +- AWSRekognition.podspec | 4 +- AWSRekognition/AWSRekognitionService.m | 2 +- AWSRekognition/Info.plist | 2 +- AWSS3.podspec | 4 +- AWSS3/AWSS3PreSignedURL.m | 2 +- AWSS3/AWSS3Service.m | 2 +- AWSS3/Info.plist | 2 +- AWSSES.podspec | 4 +- AWSSES/AWSSESService.m | 2 +- AWSSES/Info.plist | 2 +- AWSSNS.podspec | 4 +- AWSSNS/AWSSNSService.m | 2 +- AWSSNS/Info.plist | 2 +- AWSSQS.podspec | 4 +- AWSSQS/AWSSQSService.m | 2 +- AWSSQS/Info.plist | 2 +- AWSSageMakerRuntime.podspec | 4 +- .../AWSSageMakerRuntimeService.m | 2 +- AWSSageMakerRuntime/Info.plist | 2 +- AWSSimpleDB.podspec | 4 +- AWSSimpleDB/AWSSimpleDBService.m | 2 +- AWSSimpleDB/Info.plist | 2 +- AWSTextract.podspec | 4 +- AWSTextract/AWSTextractService.m | 2 +- AWSTextract/Info.plist | 2 +- AWSTranscribe.podspec | 4 +- AWSTranscribe/AWSTranscribeService.m | 2 +- AWSTranscribe/Info.plist | 2 +- AWSTranscribeStreaming.podspec | 4 +- .../AWSTranscribeStreamingService.m | 2 +- AWSTranscribeStreaming/Info.plist | 2 +- AWSTranslate.podspec | 4 +- AWSTranslate/AWSTranslateService.m | 2 +- AWSTranslate/Info.plist | 2 +- AWSUserPoolsSignIn.podspec | 8 +-- AWSiOSSDKv2.podspec | 64 +++++++++---------- CHANGELOG.md | 4 ++ CircleciScripts/generate_documentation.sh | 2 +- 144 files changed, 240 insertions(+), 236 deletions(-) diff --git a/AWSAPIGateway.podspec b/AWSAPIGateway.podspec index b2e2f494ecb..3face120d6a 100644 --- a/AWSAPIGateway.podspec +++ b/AWSAPIGateway.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSAPIGateway' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -13,7 +13,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSAPIGateway/*.{h,m}' s.resource_bundle = { 'AWSAPIGateway' => ['AWSAPIGateway/PrivacyInfo.xcprivacy']} diff --git a/AWSAPIGateway/AWSAPIGatewayClient.m b/AWSAPIGateway/AWSAPIGatewayClient.m index af918dce706..5aaed7bc388 100644 --- a/AWSAPIGateway/AWSAPIGatewayClient.m +++ b/AWSAPIGateway/AWSAPIGatewayClient.m @@ -23,7 +23,7 @@ static NSString *const AWSAPIGatewayAPIKeyHeader = @"x-api-key"; -NSString *const AWSAPIGatewaySDKVersion = @"2.36.2"; +NSString *const AWSAPIGatewaySDKVersion = @"2.36.3"; static int defaultChunkSize = 1024; diff --git a/AWSAPIGateway/Info.plist b/AWSAPIGateway/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSAPIGateway/Info.plist +++ b/AWSAPIGateway/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSAppleSignIn.podspec b/AWSAppleSignIn.podspec index 8fd090c617c..57705170bfb 100644 --- a/AWSAppleSignIn.podspec +++ b/AWSAppleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAppleSignIn' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' - s.dependency 'AWSAuthCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' + s.dependency 'AWSAuthCore', '2.36.3' s.source_files = 'AWSAuthSDK/Sources/AWSAppleSignIn/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSAppleSignIn/*.h' s.resource_bundle = { 'AWSAppleSignIn' => ['AWSAuthSDK/Sources/AWSAppleSignIn/PrivacyInfo.xcprivacy']} diff --git a/AWSAuth.podspec b/AWSAuth.podspec index c58382e64f3..46bfd7a53e4 100644 --- a/AWSAuth.podspec +++ b/AWSAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuth' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -14,23 +14,23 @@ Pod::Spec.new do |s| s.requires_arc = true s.subspec 'Core' do |authcore| - authcore.dependency 'AWSAuthCore', '2.36.2' + authcore.dependency 'AWSAuthCore', '2.36.3' end s.subspec 'FacebookSignIn' do |facebook| - facebook.dependency 'AWSFacebookSignIn', '2.36.2' + facebook.dependency 'AWSFacebookSignIn', '2.36.3' end s.subspec 'GoogleSignIn' do |google| - google.dependency 'AWSGoogleSignIn', '2.36.2' + google.dependency 'AWSGoogleSignIn', '2.36.3' end s.subspec 'UserPoolsSignIn' do |up| - up.dependency 'AWSUserPoolsSignIn', '2.36.2' + up.dependency 'AWSUserPoolsSignIn', '2.36.3' end s.subspec 'UI' do |ui| - ui.dependency 'AWSAuthUI', '2.36.2' + ui.dependency 'AWSAuthUI', '2.36.3' end end diff --git a/AWSAuthCore.podspec b/AWSAuthCore.podspec index 4f017b1aea0..62877d3d568 100644 --- a/AWSAuthCore.podspec +++ b/AWSAuthCore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthCore' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSAuthSDK/Sources/AWSAuthCore/*.{h,m}' s.public_header_files = 'AWSAuthSDK/Sources/AWSAuthCore/*.h' s.resource_bundle = { 'AWSAuthCore' => ['AWSAuthSDK/Sources/AWSAuthCore/PrivacyInfo.xcprivacy']} diff --git a/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist b/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist index 26685e3df5e..1c034496fa4 100644 --- a/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSAppleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist index 26685e3df5e..1c034496fa4 100644 --- a/AWSAuthSDK/Sources/AWSAuthCore/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist index 26685e3df5e..1c034496fa4 100644 --- a/AWSAuthSDK/Sources/AWSAuthUI/Info.plist +++ b/AWSAuthSDK/Sources/AWSAuthUI/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist index 26685e3df5e..1c034496fa4 100644 --- a/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSFacebookSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist index 26685e3df5e..1c034496fa4 100644 --- a/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSGoogleSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist index 80de0e47938..534beeb5a2c 100644 --- a/AWSAuthSDK/Sources/AWSMobileClient/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClient/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist index 80de0e47938..534beeb5a2c 100644 --- a/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist +++ b/AWSAuthSDK/Sources/AWSMobileClientXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist index 26685e3df5e..1c034496fa4 100644 --- a/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist +++ b/AWSAuthSDK/Sources/AWSUserPoolsSignIn/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/AWSAuthUI.podspec b/AWSAuthUI.podspec index 05449db91fc..077a3b5a0af 100644 --- a/AWSAuthUI.podspec +++ b/AWSAuthUI.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAuthUI' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' - s.dependency 'AWSAuthCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' + s.dependency 'AWSAuthCore', '2.36.3' 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 37f0138772d..a8c999dda61 100644 --- a/AWSAutoScaling.podspec +++ b/AWSAutoScaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSAutoScaling' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSAutoScaling/*.{h,m}' s.resource_bundle = { 'AWSAutoScaling' => ['AWSAutoScaling/PrivacyInfo.xcprivacy']} end diff --git a/AWSAutoScaling/AWSAutoScalingService.m b/AWSAutoScaling/AWSAutoScalingService.m index 4b3c4618695..a79529d9792 100644 --- a/AWSAutoScaling/AWSAutoScalingService.m +++ b/AWSAutoScaling/AWSAutoScalingService.m @@ -25,7 +25,7 @@ #import "AWSAutoScalingResources.h" static NSString *const AWSInfoAutoScaling = @"AutoScaling"; -NSString *const AWSAutoScalingSDKVersion = @"2.36.2"; +NSString *const AWSAutoScalingSDKVersion = @"2.36.3"; @interface AWSAutoScalingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSAutoScaling/Info.plist b/AWSAutoScaling/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSAutoScaling/Info.plist +++ b/AWSAutoScaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKIdentity.podspec b/AWSChimeSDKIdentity.podspec index ac03aaedb36..9440adb48bc 100644 --- a/AWSChimeSDKIdentity.podspec +++ b/AWSChimeSDKIdentity.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKIdentity' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSChimeSDKIdentity/*.{h,m}' s.resource_bundle = { 'AWSChimeSDKIdentity' => ['AWSChimeSDKIdentity/PrivacyInfo.xcprivacy']} end diff --git a/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m b/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m index af10237ea1f..dd11f4e3b42 100644 --- a/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m +++ b/AWSChimeSDKIdentity/AWSChimeSDKIdentityService.m @@ -25,7 +25,7 @@ #import "AWSChimeSDKIdentityResources.h" static NSString *const AWSInfoChimeSDKIdentity = @"ChimeSDKIdentity"; -NSString *const AWSChimeSDKIdentitySDKVersion = @"2.36.2"; +NSString *const AWSChimeSDKIdentitySDKVersion = @"2.36.3"; @interface AWSChimeSDKIdentityResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKIdentity/Info.plist b/AWSChimeSDKIdentity/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSChimeSDKIdentity/Info.plist +++ b/AWSChimeSDKIdentity/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSChimeSDKMessaging.podspec b/AWSChimeSDKMessaging.podspec index ea38c76875e..c04f12a7ca9 100644 --- a/AWSChimeSDKMessaging.podspec +++ b/AWSChimeSDKMessaging.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSChimeSDKMessaging' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSChimeSDKMessaging/*.{h,m}' s.resource_bundle = { 'AWSChimeSDKMessaging' => ['AWSChimeSDKMessaging/PrivacyInfo.xcprivacy']} end diff --git a/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m b/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m index 50baf5aa258..e736be8f543 100644 --- a/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m +++ b/AWSChimeSDKMessaging/AWSChimeSDKMessagingService.m @@ -25,7 +25,7 @@ #import "AWSChimeSDKMessagingResources.h" static NSString *const AWSInfoChimeSDKMessaging = @"ChimeSDKMessaging"; -NSString *const AWSChimeSDKMessagingSDKVersion = @"2.36.2"; +NSString *const AWSChimeSDKMessagingSDKVersion = @"2.36.3"; @interface AWSChimeSDKMessagingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSChimeSDKMessaging/Info.plist b/AWSChimeSDKMessaging/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSChimeSDKMessaging/Info.plist +++ b/AWSChimeSDKMessaging/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCloudWatch.podspec b/AWSCloudWatch.podspec index f8c391ea8f0..0a05ddd2f1c 100644 --- a/AWSCloudWatch.podspec +++ b/AWSCloudWatch.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCloudWatch' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSCloudWatch/*.{h,m}' s.resource_bundle = { 'AWSCloudWatch' => ['AWSCloudWatch/PrivacyInfo.xcprivacy']} end diff --git a/AWSCloudWatch/AWSCloudWatchService.m b/AWSCloudWatch/AWSCloudWatchService.m index f046e861a8a..4dd7eaca2ca 100644 --- a/AWSCloudWatch/AWSCloudWatchService.m +++ b/AWSCloudWatch/AWSCloudWatchService.m @@ -26,7 +26,7 @@ #import "AWSCloudWatchResources.h" static NSString *const AWSInfoCloudWatch = @"CloudWatch"; -NSString *const AWSCloudWatchSDKVersion = @"2.36.2"; +NSString *const AWSCloudWatchSDKVersion = @"2.36.3"; @interface AWSCloudWatchResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSCloudWatch/Info.plist b/AWSCloudWatch/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSCloudWatch/Info.plist +++ b/AWSCloudWatch/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoAuth.podspec b/AWSCognitoAuth.podspec index 45dd4dc7caa..b14b0668a10 100644 --- a/AWSCognitoAuth.podspec +++ b/AWSCognitoAuth.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoAuth' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Cognito Auth SDK for iOS' s.description = 'Amazon Cognito Auth enables sign up and authentication of your end users via a hosted UI' @@ -13,8 +13,8 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' - s.dependency 'AWSCognitoIdentityProviderASF', '2.36.2' + s.dependency 'AWSCore', '2.36.3' + s.dependency 'AWSCognitoIdentityProviderASF', '2.36.3' s.source_files = 'AWSCognitoAuth/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoAuth/*.h' diff --git a/AWSCognitoAuth/AWSCognitoAuth.m b/AWSCognitoAuth/AWSCognitoAuth.m index c25ca832bc7..6e781fdef94 100644 --- a/AWSCognitoAuth/AWSCognitoAuth.m +++ b/AWSCognitoAuth/AWSCognitoAuth.m @@ -84,7 +84,7 @@ @interface AWSCognitoAuthConfiguration() @implementation AWSCognitoAuth -NSString *const AWSCognitoAuthSDKVersion = @"2.36.2"; +NSString *const AWSCognitoAuthSDKVersion = @"2.36.3"; static NSMutableDictionary *_instanceDictionary = nil; diff --git a/AWSCognitoAuth/Info.plist b/AWSCognitoAuth/Info.plist index de7c288e903..5ebfa80e069 100644 --- a/AWSCognitoAuth/Info.plist +++ b/AWSCognitoAuth/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProvider.podspec b/AWSCognitoIdentityProvider.podspec index 2981e797d56..34c5e8887d0 100644 --- a/AWSCognitoIdentityProvider.podspec +++ b/AWSCognitoIdentityProvider.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProvider' - s.version = '2.36.2' + s.version = '2.36.3' 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.36.2' - s.dependency 'AWSCognitoIdentityProviderASF', '2.36.2' + s.dependency 'AWSCore', '2.36.3' + s.dependency 'AWSCognitoIdentityProviderASF', '2.36.3' s.source_files = 'AWSCognitoIdentityProvider/**/*.{h,m,c}' s.public_header_files = 'AWSCognitoIdentityProvider/*.h' diff --git a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m index 934f1a58843..5330583709a 100644 --- a/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m +++ b/AWSCognitoIdentityProvider/AWSCognitoIdentityProviderService.m @@ -25,7 +25,7 @@ #import "AWSCognitoIdentityProviderResources.h" static NSString *const AWSInfoCognitoIdentityProvider = @"CognitoIdentityProvider"; -NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.36.2"; +NSString *const AWSCognitoIdentityProviderSDKVersion = @"2.36.3"; @interface AWSCognitoIdentityProviderResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSCognitoIdentityProvider/Info.plist b/AWSCognitoIdentityProvider/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSCognitoIdentityProvider/Info.plist +++ b/AWSCognitoIdentityProvider/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCognitoIdentityProviderASF.podspec b/AWSCognitoIdentityProviderASF.podspec index 90029d5ccbe..c9f4f3a93b8 100644 --- a/AWSCognitoIdentityProviderASF.podspec +++ b/AWSCognitoIdentityProviderASF.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSCognitoIdentityProviderASF' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Cognito Identity Provider Advanced Security Features library (Beta)' s.description = 'Amazon Cognito Identity Provider ASF provides the information necessary to support adaptive authentication' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' 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 8cc59f79b35..bc609a41a30 100644 --- a/AWSCognitoIdentityProviderASF/Info.plist +++ b/AWSCognitoIdentityProviderASF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSComprehend.podspec b/AWSComprehend.podspec index baf1ddb9bc1..87e514bfe31 100644 --- a/AWSComprehend.podspec +++ b/AWSComprehend.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSComprehend' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSComprehend/*.{h,m}' s.resource_bundle = { 'AWSComprehend' => ['AWSComprehend/PrivacyInfo.xcprivacy']} end diff --git a/AWSComprehend/AWSComprehendService.m b/AWSComprehend/AWSComprehendService.m index 5846cd6c0ce..61774cbd30a 100644 --- a/AWSComprehend/AWSComprehendService.m +++ b/AWSComprehend/AWSComprehendService.m @@ -25,7 +25,7 @@ #import "AWSComprehendResources.h" static NSString *const AWSInfoComprehend = @"Comprehend"; -NSString *const AWSComprehendSDKVersion = @"2.36.2"; +NSString *const AWSComprehendSDKVersion = @"2.36.3"; @interface AWSComprehendResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSComprehend/Info.plist b/AWSComprehend/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSComprehend/Info.plist +++ b/AWSComprehend/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnect.podspec b/AWSConnect.podspec index 65c3c7f3e59..586fecd801f 100644 --- a/AWSConnect.podspec +++ b/AWSConnect.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnect' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSConnect/*.{h,m}' s.resource_bundle = { 'AWSConnect' => ['AWSConnect/PrivacyInfo.xcprivacy']} end diff --git a/AWSConnect/AWSConnectService.m b/AWSConnect/AWSConnectService.m index 45f4f54a775..b33c789c254 100644 --- a/AWSConnect/AWSConnectService.m +++ b/AWSConnect/AWSConnectService.m @@ -25,7 +25,7 @@ #import "AWSConnectResources.h" static NSString *const AWSInfoConnect = @"Connect"; -NSString *const AWSConnectSDKVersion = @"2.36.2"; +NSString *const AWSConnectSDKVersion = @"2.36.3"; @interface AWSConnectResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSConnect/Info.plist b/AWSConnect/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSConnect/Info.plist +++ b/AWSConnect/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSConnectParticipant.podspec b/AWSConnectParticipant.podspec index e094113b346..dcc98972a11 100644 --- a/AWSConnectParticipant.podspec +++ b/AWSConnectParticipant.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSConnectParticipant' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSConnectParticipant/*.{h,m}' s.resource_bundle = { 'AWSConnectParticipant' => ['AWSConnectParticipant/PrivacyInfo.xcprivacy']} end diff --git a/AWSConnectParticipant/AWSConnectParticipantService.m b/AWSConnectParticipant/AWSConnectParticipantService.m index 2b02d37c7ea..9035f63111a 100644 --- a/AWSConnectParticipant/AWSConnectParticipantService.m +++ b/AWSConnectParticipant/AWSConnectParticipantService.m @@ -25,7 +25,7 @@ #import "AWSConnectParticipantResources.h" static NSString *const AWSInfoConnectParticipant = @"ConnectParticipant"; -NSString *const AWSConnectParticipantSDKVersion = @"2.36.2"; +NSString *const AWSConnectParticipantSDKVersion = @"2.36.3"; @interface AWSConnectParticipantResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSConnectParticipant/Info.plist b/AWSConnectParticipant/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSConnectParticipant/Info.plist +++ b/AWSConnectParticipant/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCore.podspec b/AWSCore.podspec index a7739e5a1e9..93f3d0651bb 100644 --- a/AWSCore.podspec +++ b/AWSCore.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSCore' - s.version = '2.36.2' + s.version = '2.36.3' 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 8cc59f79b35..bc609a41a30 100644 --- a/AWSCore/Info.plist +++ b/AWSCore/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSCore/Service/AWSService.m b/AWSCore/Service/AWSService.m index 2fe8d505240..e3a8e67a522 100644 --- a/AWSCore/Service/AWSService.m +++ b/AWSCore/Service/AWSService.m @@ -21,7 +21,7 @@ #import "AWSCocoaLumberjack.h" #import "AWSCategory.h" -NSString *const AWSiOSSDKVersion = @"2.36.2"; +NSString *const AWSiOSSDKVersion = @"2.36.3"; NSString *const AWSServiceErrorDomain = @"com.amazonaws.AWSServiceErrorDomain"; static NSString *const AWSServiceConfigurationUnknown = @"Unknown"; diff --git a/AWSDynamoDB.podspec b/AWSDynamoDB.podspec index 23dbf889c17..25a22936627 100644 --- a/AWSDynamoDB.podspec +++ b/AWSDynamoDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSDynamoDB' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSDynamoDB/*.{h,m}' s.resource_bundle = { 'AWSDynamoDB' => ['AWSDynamoDB/PrivacyInfo.xcprivacy']} end diff --git a/AWSDynamoDB/AWSDynamoDBService.m b/AWSDynamoDB/AWSDynamoDBService.m index fec3f724837..76bae37d4aa 100644 --- a/AWSDynamoDB/AWSDynamoDBService.m +++ b/AWSDynamoDB/AWSDynamoDBService.m @@ -26,7 +26,7 @@ #import "AWSDynamoDBRequestRetryHandler.h" static NSString *const AWSInfoDynamoDB = @"DynamoDB"; -NSString *const AWSDynamoDBSDKVersion = @"2.36.2"; +NSString *const AWSDynamoDBSDKVersion = @"2.36.3"; @interface AWSDynamoDBResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSDynamoDB/Info.plist b/AWSDynamoDB/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSDynamoDB/Info.plist +++ b/AWSDynamoDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSEC2.podspec b/AWSEC2.podspec index 354cf58de0a..8626424cebd 100644 --- a/AWSEC2.podspec +++ b/AWSEC2.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSEC2' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSEC2/*.{h,m}' s.resource_bundle = { 'AWSEC2' => ['AWSEC2/PrivacyInfo.xcprivacy']} end diff --git a/AWSEC2/AWSEC2Service.m b/AWSEC2/AWSEC2Service.m index df19ce58a96..2ab6afd933f 100644 --- a/AWSEC2/AWSEC2Service.m +++ b/AWSEC2/AWSEC2Service.m @@ -26,7 +26,7 @@ #import "AWSEC2Serializer.h" static NSString *const AWSInfoEC2 = @"EC2"; -NSString *const AWSEC2SDKVersion = @"2.36.2"; +NSString *const AWSEC2SDKVersion = @"2.36.3"; @interface AWSEC2ResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSEC2/Info.plist b/AWSEC2/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSEC2/Info.plist +++ b/AWSEC2/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSElasticLoadBalancing.podspec b/AWSElasticLoadBalancing.podspec index 054a0fcbca7..40eda6ce987 100644 --- a/AWSElasticLoadBalancing.podspec +++ b/AWSElasticLoadBalancing.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSElasticLoadBalancing' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSElasticLoadBalancing/*.{h,m}' s.resource_bundle = { 'AWSElasticLoadBalancing' => ['AWSElasticLoadBalancing/PrivacyInfo.xcprivacy'] } end diff --git a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m index 4cf3348c1ad..872387d094e 100644 --- a/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m +++ b/AWSElasticLoadBalancing/AWSElasticLoadBalancingService.m @@ -25,7 +25,7 @@ #import "AWSElasticLoadBalancingResources.h" static NSString *const AWSInfoElasticLoadBalancing = @"ElasticLoadBalancing"; -NSString *const AWSElasticLoadBalancingSDKVersion = @"2.36.2"; +NSString *const AWSElasticLoadBalancingSDKVersion = @"2.36.3"; @interface AWSElasticLoadBalancingResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSElasticLoadBalancing/Info.plist b/AWSElasticLoadBalancing/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSElasticLoadBalancing/Info.plist +++ b/AWSElasticLoadBalancing/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSFacebookSignIn.podspec b/AWSFacebookSignIn.podspec index 5662d47574a..4e9b23ddb89 100644 --- a/AWSFacebookSignIn.podspec +++ b/AWSFacebookSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSFacebookSignIn' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSAuthCore', '2.36.2' - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSAuthCore', '2.36.3' + s.dependency 'AWSCore', '2.36.3' s.dependency 'FBSDKLoginKit', '9.0' s.dependency 'FBSDKCoreKit', '9.0' diff --git a/AWSGoogleSignIn.podspec b/AWSGoogleSignIn.podspec index 4064fa53ad9..dc45da779ae 100644 --- a/AWSGoogleSignIn.podspec +++ b/AWSGoogleSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSGoogleSignIn' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,8 +12,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSAuthCore', '2.36.2' - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSAuthCore', '2.36.3' + s.dependency 'AWSCore', '2.36.3' 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 a12809ae862..e46ae5cf121 100644 --- a/AWSIoT.podspec +++ b/AWSIoT.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSIoT' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSIoT/*.{h,m}', 'AWSIoT/**/*.{h,m}' s.private_header_files = 'AWSIoT/Internal/*.h' s.resource_bundle = { 'AWSIoT' => ['AWSIoT/PrivacyInfo.xcprivacy']} diff --git a/AWSIoT/AWSIoTDataService.m b/AWSIoT/AWSIoTDataService.m index 30dae26bfd0..fccd0a59c89 100644 --- a/AWSIoT/AWSIoTDataService.m +++ b/AWSIoT/AWSIoTDataService.m @@ -25,7 +25,7 @@ #import "AWSIoTDataResources.h" static NSString *const AWSInfoIoTData = @"IoTData"; -NSString *const AWSIoTDataSDKVersion = @"2.36.2"; +NSString *const AWSIoTDataSDKVersion = @"2.36.3"; @interface AWSIoTDataResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/AWSIoTService.m b/AWSIoT/AWSIoTService.m index 6d2b0d9d424..30de11ef266 100644 --- a/AWSIoT/AWSIoTService.m +++ b/AWSIoT/AWSIoTService.m @@ -25,7 +25,7 @@ #import "AWSIoTResources.h" static NSString *const AWSInfoIoT = @"IoT"; -NSString *const AWSIoTSDKVersion = @"2.36.2"; +NSString *const AWSIoTSDKVersion = @"2.36.3"; @interface AWSIoTResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSIoT/Info.plist b/AWSIoT/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSIoT/Info.plist +++ b/AWSIoT/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKMS.podspec b/AWSKMS.podspec index 7c1fcfeb209..f699c860614 100644 --- a/AWSKMS.podspec +++ b/AWSKMS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKMS' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSKMS/*.{h,m}' s.resource_bundle = { 'AWSKMS' => ['AWSKMS/PrivacyInfo.xcprivacy']} end diff --git a/AWSKMS/AWSKMSService.m b/AWSKMS/AWSKMSService.m index d7b3ac9ba01..f76355f502e 100644 --- a/AWSKMS/AWSKMSService.m +++ b/AWSKMS/AWSKMSService.m @@ -25,7 +25,7 @@ #import "AWSKMSResources.h" static NSString *const AWSInfoKMS = @"KMS"; -NSString *const AWSKMSSDKVersion = @"2.36.2"; +NSString *const AWSKMSSDKVersion = @"2.36.3"; @interface AWSKMSResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKMS/Info.plist b/AWSKMS/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSKMS/Info.plist +++ b/AWSKMS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesis.podspec b/AWSKinesis.podspec index 15453b33b94..e2094eeee87 100644 --- a/AWSKinesis.podspec +++ b/AWSKinesis.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesis' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSKinesis/*.{h,m}', 'AWSKinesis/**/*.{h,m}' s.private_header_files = 'AWSKinesis/Internal/*.h' s.resource_bundle = { 'AWSKinesis' => ['AWSKinesis/PrivacyInfo.xcprivacy']} diff --git a/AWSKinesis/AWSFirehoseService.m b/AWSKinesis/AWSFirehoseService.m index 508d2b63ff8..e6d33939b86 100644 --- a/AWSKinesis/AWSFirehoseService.m +++ b/AWSKinesis/AWSFirehoseService.m @@ -26,7 +26,7 @@ #import "AWSFirehoseSerializer.h" static NSString *const AWSInfoFirehose = @"Firehose"; -NSString *const AWSFirehoseSDKVersion = @"2.36.2"; +NSString *const AWSFirehoseSDKVersion = @"2.36.3"; @interface AWSFirehoseResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/AWSKinesisService.m b/AWSKinesis/AWSKinesisService.m index 92946e4dee2..90548e2cbfc 100644 --- a/AWSKinesis/AWSKinesisService.m +++ b/AWSKinesis/AWSKinesisService.m @@ -28,7 +28,7 @@ #import "AWSKinesisSerializer.h" static NSString *const AWSInfoKinesis = @"Kinesis"; -NSString *const AWSKinesisSDKVersion = @"2.36.2"; +NSString *const AWSKinesisSDKVersion = @"2.36.3"; @interface AWSKinesisResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesis/Info.plist b/AWSKinesis/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSKinesis/Info.plist +++ b/AWSKinesis/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideo.podspec b/AWSKinesisVideo.podspec index 7f15c2cbac5..5b3bd26bcdc 100644 --- a/AWSKinesisVideo.podspec +++ b/AWSKinesisVideo.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideo' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSKinesisVideo/*.{h,m}' s.resource_bundle = { 'AWSKinesisVideo' => ['AWSKinesisVideo/PrivacyInfo.xcprivacy']} end diff --git a/AWSKinesisVideo/AWSKinesisVideoService.m b/AWSKinesisVideo/AWSKinesisVideoService.m index 6d922331e2c..83b840e91c5 100644 --- a/AWSKinesisVideo/AWSKinesisVideoService.m +++ b/AWSKinesisVideo/AWSKinesisVideoService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoResources.h" static NSString *const AWSInfoKinesisVideo = @"KinesisVideo"; -NSString *const AWSKinesisVideoSDKVersion = @"2.36.2"; +NSString *const AWSKinesisVideoSDKVersion = @"2.36.3"; @interface AWSKinesisVideoResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideo/Info.plist b/AWSKinesisVideo/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSKinesisVideo/Info.plist +++ b/AWSKinesisVideo/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoArchivedMedia.podspec b/AWSKinesisVideoArchivedMedia.podspec index 4ce9bcd4ee9..f4d82aec8a3 100644 --- a/AWSKinesisVideoArchivedMedia.podspec +++ b/AWSKinesisVideoArchivedMedia.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoArchivedMedia' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSKinesisVideoArchivedMedia/*.{h,m}' s.resource_bundle = { 'AWSKinesisVideoArchivedMedia' => ['AWSKinesisVideoArchivedMedia/PrivacyInfo.xcprivacy']} end diff --git a/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m b/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m index 83f46415e1f..0db287940ee 100644 --- a/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m +++ b/AWSKinesisVideoArchivedMedia/AWSKinesisVideoArchivedMediaService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoArchivedMediaResources.h" static NSString *const AWSInfoKinesisVideoArchivedMedia = @"KinesisVideoArchivedMedia"; -NSString *const AWSKinesisVideoArchivedMediaSDKVersion = @"2.36.2"; +NSString *const AWSKinesisVideoArchivedMediaSDKVersion = @"2.36.3"; @interface AWSKinesisVideoArchivedMediaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoArchivedMedia/Info.plist b/AWSKinesisVideoArchivedMedia/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSKinesisVideoArchivedMedia/Info.plist +++ b/AWSKinesisVideoArchivedMedia/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoSignaling.podspec b/AWSKinesisVideoSignaling.podspec index 854d3252e9a..409ff2f3c07 100644 --- a/AWSKinesisVideoSignaling.podspec +++ b/AWSKinesisVideoSignaling.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoSignaling' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSKinesisVideoSignaling/*.{h,m}' s.resource_bundle = { 'AWSKinesisVideoSignaling' => ['AWSKinesisVideoSignaling/PrivacyInfo.xcprivacy']} end diff --git a/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m b/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m index 762abf3db81..2bd0acdab56 100644 --- a/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m +++ b/AWSKinesisVideoSignaling/AWSKinesisVideoSignalingService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoSignalingResources.h" static NSString *const AWSInfoKinesisVideoSignaling = @"KinesisVideoSignaling"; -NSString *const AWSKinesisVideoSignalingSDKVersion = @"2.36.2"; +NSString *const AWSKinesisVideoSignalingSDKVersion = @"2.36.3"; @interface AWSKinesisVideoSignalingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoSignaling/Info.plist b/AWSKinesisVideoSignaling/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSKinesisVideoSignaling/Info.plist +++ b/AWSKinesisVideoSignaling/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSKinesisVideoWebRTCStorage.podspec b/AWSKinesisVideoWebRTCStorage.podspec index ebc5b4e7376..ad6c402ce9e 100644 --- a/AWSKinesisVideoWebRTCStorage.podspec +++ b/AWSKinesisVideoWebRTCStorage.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSKinesisVideoWebRTCStorage' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSKinesisVideoWebRTCStorage/*.{h,m}' s.resource_bundle = { 'AWSKinesisVideoWebRTCStorage' => ['AWSKinesisVideoWebRTCStorage/PrivacyInfo.xcprivacy']} end diff --git a/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m b/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m index e098ad12329..de1ad4af146 100644 --- a/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m +++ b/AWSKinesisVideoWebRTCStorage/AWSKinesisVideoWebRTCStorageService.m @@ -25,7 +25,7 @@ #import "AWSKinesisVideoWebRTCStorageResources.h" static NSString *const AWSInfoKinesisVideoWebRTCStorage = @"KinesisVideoWebRTCStorage"; -NSString *const AWSKinesisVideoWebRTCStorageSDKVersion = @"2.36.2"; +NSString *const AWSKinesisVideoWebRTCStorageSDKVersion = @"2.36.3"; @interface AWSKinesisVideoWebRTCStorageResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSKinesisVideoWebRTCStorage/Info.plist b/AWSKinesisVideoWebRTCStorage/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSKinesisVideoWebRTCStorage/Info.plist +++ b/AWSKinesisVideoWebRTCStorage/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLambda.podspec b/AWSLambda.podspec index fc0c5ac8632..a305cdf68b7 100644 --- a/AWSLambda.podspec +++ b/AWSLambda.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLambda' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSLambda/*.{h,m}' s.resource_bundle = { 'AWSLambda' => ['AWSLambda/PrivacyInfo.xcprivacy']} end diff --git a/AWSLambda/AWSLambdaService.m b/AWSLambda/AWSLambdaService.m index bd51fd58baf..195fa45281f 100644 --- a/AWSLambda/AWSLambdaService.m +++ b/AWSLambda/AWSLambdaService.m @@ -26,7 +26,7 @@ #import "AWSLambdaRequestRetryHandler.h" static NSString *const AWSInfoLambda = @"Lambda"; -NSString *const AWSLambdaSDKVersion = @"2.36.2"; +NSString *const AWSLambdaSDKVersion = @"2.36.3"; @interface AWSLambdaResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLambda/Info.plist b/AWSLambda/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSLambda/Info.plist +++ b/AWSLambda/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLex.podspec b/AWSLex.podspec index fec0fb6e849..1100cfa3c79 100644 --- a/AWSLex.podspec +++ b/AWSLex.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLex' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' 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 8342ed4583f..d720ba00c3a 100644 --- a/AWSLex/AWSLexInteractionKit.m +++ b/AWSLex/AWSLexInteractionKit.m @@ -22,7 +22,7 @@ #import NSString *const AWSInfoInteractionKit = @"LexInteractionKit"; -NSString *const AWSInteractionKitSDKVersion = @"2.36.2"; +NSString *const AWSInteractionKitSDKVersion = @"2.36.3"; 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 6bd132d25b4..3369319643a 100644 --- a/AWSLex/AWSLexService.m +++ b/AWSLex/AWSLexService.m @@ -27,7 +27,7 @@ #import "AWSLexSignature.h" static NSString *const AWSInfoLex = @"Lex"; -NSString *const AWSLexSDKVersion = @"2.36.2"; +NSString *const AWSLexSDKVersion = @"2.36.3"; @interface AWSLexResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLex/Info.plist b/AWSLex/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSLex/Info.plist +++ b/AWSLex/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocation.podspec b/AWSLocation.podspec index a5e55b8e69b..92eb82bc7c6 100644 --- a/AWSLocation.podspec +++ b/AWSLocation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLocation' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSLocation/*.{h,m}', 'AWSLocation/AWSLocationTracker/**/*.swift' s.resource_bundle = { 'AWSLocation' => ['AWSLocation/PrivacyInfo.xcprivacy']} end diff --git a/AWSLocation/AWSLocationService.m b/AWSLocation/AWSLocationService.m index 005fc007396..4f931a7e235 100644 --- a/AWSLocation/AWSLocationService.m +++ b/AWSLocation/AWSLocationService.m @@ -25,7 +25,7 @@ #import "AWSLocationResources.h" static NSString *const AWSInfoLocation = @"Location"; -NSString *const AWSLocationSDKVersion = @"2.36.2"; +NSString *const AWSLocationSDKVersion = @"2.36.3"; @interface AWSLocationResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLocation/Info.plist b/AWSLocation/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSLocation/Info.plist +++ b/AWSLocation/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLocationXCF/Info.plist b/AWSLocationXCF/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSLocationXCF/Info.plist +++ b/AWSLocationXCF/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSLogs.podspec b/AWSLogs.podspec index c13f61e576b..f443376627c 100644 --- a/AWSLogs.podspec +++ b/AWSLogs.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSLogs' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSLogs/*.{h,m}' s.resource_bundle = { 'AWSLogs' => ['AWSLogs/PrivacyInfo.xcprivacy']} end diff --git a/AWSLogs/AWSLogsService.m b/AWSLogs/AWSLogsService.m index 5a5e13d03e5..92d192aa155 100644 --- a/AWSLogs/AWSLogsService.m +++ b/AWSLogs/AWSLogsService.m @@ -25,7 +25,7 @@ #import "AWSLogsResources.h" static NSString *const AWSInfoLogs = @"Logs"; -NSString *const AWSLogsSDKVersion = @"2.36.2"; +NSString *const AWSLogsSDKVersion = @"2.36.3"; @interface AWSLogsResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSLogs/Info.plist b/AWSLogs/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSLogs/Info.plist +++ b/AWSLogs/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMachineLearning.podspec b/AWSMachineLearning.podspec index f1c464e1115..a4eabb68eff 100644 --- a/AWSMachineLearning.podspec +++ b/AWSMachineLearning.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMachineLearning' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSMachineLearning/*.{h,m}' s.resource_bundle = { 'AWSMachineLearning' => ['AWSMachineLearning/PrivacyInfo.xcprivacy']} end diff --git a/AWSMachineLearning/AWSMachineLearningService.m b/AWSMachineLearning/AWSMachineLearningService.m index 327bb915b8b..01ce67d4d7e 100644 --- a/AWSMachineLearning/AWSMachineLearningService.m +++ b/AWSMachineLearning/AWSMachineLearningService.m @@ -26,7 +26,7 @@ #import "AWSMachineLearningResources.h" static NSString *const AWSInfoMachineLearning = @"MachineLearning"; -NSString *const AWSMachineLearningSDKVersion = @"2.36.2"; +NSString *const AWSMachineLearningSDKVersion = @"2.36.3"; @interface AWSMachineLearningResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSMachineLearning/Info.plist b/AWSMachineLearning/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSMachineLearning/Info.plist +++ b/AWSMachineLearning/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSMobileClient.podspec b/AWSMobileClient.podspec index a30c4f8330c..cee4ec06a86 100644 --- a/AWSMobileClient.podspec +++ b/AWSMobileClient.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSMobileClient' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -13,14 +13,14 @@ Pod::Spec.new do |s| :tag => s.version} s.requires_arc = true - s.dependency 'AWSAuthCore', '2.36.2' - s.dependency 'AWSCognitoIdentityProvider', '2.36.2' + s.dependency 'AWSAuthCore', '2.36.3' + s.dependency 'AWSCognitoIdentityProvider', '2.36.3' # Include transitive dependencies to help CocoaPods resolve deeply nested # dependency graphs; without this we get sporadic failures compiling when a # project relies on AWSMobileClient - s.dependency 'AWSCore', '2.36.2' - s.dependency 'AWSCognitoIdentityProviderASF', '2.36.2' + s.dependency 'AWSCore', '2.36.3' + s.dependency 'AWSCognitoIdentityProviderASF', '2.36.3' 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 6a922e7ec31..97853fe5801 100644 --- a/AWSPinpoint.podspec +++ b/AWSPinpoint.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPinpoint' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSPinpoint/*.{h,m}', 'AWSPinpoint/**/*.{h,m}' s.private_header_files = 'AWSPinpoint/Internal/*.h' s.resource_bundle = { 'AWSPinpoint' => ['AWSPinpoint/PrivacyInfo.xcprivacy']} diff --git a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m index 7ce31870c5e..c72f7b7f945 100644 --- a/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m +++ b/AWSPinpoint/AWSPinpointTargeting/AWSPinpointTargetingService.m @@ -25,7 +25,7 @@ #import "AWSPinpointTargetingResources.h" static NSString *const AWSInfoPinpointTargeting = @"PinpointTargeting"; -NSString *const AWSPinpointTargetingSDKVersion = @"2.36.2"; +NSString *const AWSPinpointTargetingSDKVersion = @"2.36.3"; @interface AWSPinpointTargetingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPinpoint/Info.plist b/AWSPinpoint/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSPinpoint/Info.plist +++ b/AWSPinpoint/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSPolly.podspec b/AWSPolly.podspec index f7d72691a2b..798d54b075b 100644 --- a/AWSPolly.podspec +++ b/AWSPolly.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSPolly' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSPolly/*.{h,m}' s.resource_bundle = { 'AWSPolly' => ['AWSPolly/PrivacyInfo.xcprivacy'] } end diff --git a/AWSPolly/AWSPollyService.m b/AWSPolly/AWSPollyService.m index 2127075d5c9..e8021432070 100644 --- a/AWSPolly/AWSPollyService.m +++ b/AWSPolly/AWSPollyService.m @@ -25,7 +25,7 @@ #import "AWSPollyResources.h" static NSString *const AWSInfoPolly = @"Polly"; -NSString *const AWSPollySDKVersion = @"2.36.2"; +NSString *const AWSPollySDKVersion = @"2.36.3"; @interface AWSPollyResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m b/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m index b80eeb60e63..ac6671ab9e3 100644 --- a/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m +++ b/AWSPolly/AWSPollySynthesizeSpeechURLBuilder.m @@ -16,7 +16,7 @@ #import "AWSPollySynthesizeSpeechURLBuilder.h" static NSString *const AWSInfoPollySynthesizeSpeechURLBuilder = @"PollySynthesizeSpeechUrlBuilder"; -static NSString *const AWSPollySDKVersion = @"2.36.2"; +static NSString *const AWSPollySDKVersion = @"2.36.3"; NSString *const AWSPollySynthesizeSpeechURLBuilderErrorDomain = @"com.amazonaws.AWSPollySynthesizeSpeechURLBuilderErrorDomain"; NSString *const AWSPollyPresignedUrlPath = @"v1/speech"; diff --git a/AWSPolly/Info.plist b/AWSPolly/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSPolly/Info.plist +++ b/AWSPolly/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSRekognition.podspec b/AWSRekognition.podspec index 0766e3160a3..8393cf19544 100644 --- a/AWSRekognition.podspec +++ b/AWSRekognition.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSRekognition' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSRekognition/*.{h,m}' s.resource_bundle = { 'AWSRekognition' => ['AWSRekognition/PrivacyInfo.xcprivacy']} end diff --git a/AWSRekognition/AWSRekognitionService.m b/AWSRekognition/AWSRekognitionService.m index 15cb68581e7..b027b3c8250 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.36.2"; +NSString *const AWSRekognitionSDKVersion = @"2.36.3"; @interface AWSRekognitionResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSRekognition/Info.plist b/AWSRekognition/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSRekognition/Info.plist +++ b/AWSRekognition/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSS3.podspec b/AWSS3.podspec index 28c4799a686..afb8d9ae879 100644 --- a/AWSS3.podspec +++ b/AWSS3.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSS3' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSS3/*.{h,m}' s.resource_bundle = { 'AWSS3' => ['AWSS3/PrivacyInfo.xcprivacy']} end diff --git a/AWSS3/AWSS3PreSignedURL.m b/AWSS3/AWSS3PreSignedURL.m index 7c5ad9f50df..1a45267b216 100644 --- a/AWSS3/AWSS3PreSignedURL.m +++ b/AWSS3/AWSS3PreSignedURL.m @@ -26,7 +26,7 @@ static NSString *const AWSS3PreSignedURLBuilderAcceleratedEndpoint = @"s3-accelerate.amazonaws.com"; static NSString *const AWSInfoS3PreSignedURLBuilder = @"S3PreSignedURLBuilder"; -static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.36.2"; +static NSString *const AWSS3PreSignedURLBuilderSDKVersion = @"2.36.3"; @interface AWSS3PreSignedURLBuilder() diff --git a/AWSS3/AWSS3Service.m b/AWSS3/AWSS3Service.m index 3f99dab4af1..15b7a987b1b 100644 --- a/AWSS3/AWSS3Service.m +++ b/AWSS3/AWSS3Service.m @@ -27,7 +27,7 @@ #import "AWSS3Serializer.h" static NSString *const AWSInfoS3 = @"S3"; -NSString *const AWSS3SDKVersion = @"2.36.2"; +NSString *const AWSS3SDKVersion = @"2.36.3"; diff --git a/AWSS3/Info.plist b/AWSS3/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSS3/Info.plist +++ b/AWSS3/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSES.podspec b/AWSSES.podspec index 2c09ec6b4f6..0e63871c8fa 100644 --- a/AWSSES.podspec +++ b/AWSSES.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSES' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSSES/*.{h,m}' s.resource_bundle = { 'AWSSES' => ['AWSSES/PrivacyInfo.xcprivacy']} end diff --git a/AWSSES/AWSSESService.m b/AWSSES/AWSSESService.m index cb150646bec..cd6a46916e2 100644 --- a/AWSSES/AWSSESService.m +++ b/AWSSES/AWSSESService.m @@ -25,7 +25,7 @@ #import "AWSSESResources.h" static NSString *const AWSInfoSES = @"SES"; -NSString *const AWSSESSDKVersion = @"2.36.2"; +NSString *const AWSSESSDKVersion = @"2.36.3"; @interface AWSSESResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSES/Info.plist b/AWSSES/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSSES/Info.plist +++ b/AWSSES/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSNS.podspec b/AWSSNS.podspec index 0957213cbf6..dbf096bd56c 100644 --- a/AWSSNS.podspec +++ b/AWSSNS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSNS' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSSNS/*.{h,m}' s.resource_bundle = { 'AWSSNS' => ['AWSSNS/PrivacyInfo.xcprivacy']} end diff --git a/AWSSNS/AWSSNSService.m b/AWSSNS/AWSSNSService.m index a3595993279..f548af1e6d5 100644 --- a/AWSSNS/AWSSNSService.m +++ b/AWSSNS/AWSSNSService.m @@ -25,7 +25,7 @@ #import "AWSSNSResources.h" static NSString *const AWSInfoSNS = @"SNS"; -NSString *const AWSSNSSDKVersion = @"2.36.2"; +NSString *const AWSSNSSDKVersion = @"2.36.3"; @interface AWSSNSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSNS/Info.plist b/AWSSNS/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSSNS/Info.plist +++ b/AWSSNS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSQS.podspec b/AWSSQS.podspec index 1a25abea452..713e39059d0 100644 --- a/AWSSQS.podspec +++ b/AWSSQS.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSQS' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSSQS/*.{h,m}' s.resource_bundle = { 'AWSSQS' => ['AWSSQS/PrivacyInfo.xcprivacy']} end diff --git a/AWSSQS/AWSSQSService.m b/AWSSQS/AWSSQSService.m index e4467c74ade..e60243b4ce7 100644 --- a/AWSSQS/AWSSQSService.m +++ b/AWSSQS/AWSSQSService.m @@ -25,7 +25,7 @@ #import "AWSSQSResources.h" static NSString *const AWSInfoSQS = @"SQS"; -NSString *const AWSSQSSDKVersion = @"2.36.2"; +NSString *const AWSSQSSDKVersion = @"2.36.3"; @interface AWSSQSResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSQS/Info.plist b/AWSSQS/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSSQS/Info.plist +++ b/AWSSQS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSageMakerRuntime.podspec b/AWSSageMakerRuntime.podspec index b2bfa74efb0..19e6d4bea22 100644 --- a/AWSSageMakerRuntime.podspec +++ b/AWSSageMakerRuntime.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSageMakerRuntime' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSSageMakerRuntime/*.{h,m}' s.resource_bundle = { 'AWSSageMakerRuntime' => ['AWSSageMakerRuntime/PrivacyInfo.xcprivacy']} end diff --git a/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m b/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m index 3ffb4395ace..7861c28455c 100644 --- a/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m +++ b/AWSSageMakerRuntime/AWSSageMakerRuntimeService.m @@ -25,7 +25,7 @@ #import "AWSSageMakerRuntimeResources.h" static NSString *const AWSInfoSageMakerRuntime = @"SageMakerRuntime"; -NSString *const AWSSageMakerRuntimeSDKVersion = @"2.36.2"; +NSString *const AWSSageMakerRuntimeSDKVersion = @"2.36.3"; @interface AWSSageMakerRuntimeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSSageMakerRuntime/Info.plist b/AWSSageMakerRuntime/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSSageMakerRuntime/Info.plist +++ b/AWSSageMakerRuntime/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSSimpleDB.podspec b/AWSSimpleDB.podspec index 871c83cf718..b227f1f9995 100644 --- a/AWSSimpleDB.podspec +++ b/AWSSimpleDB.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSSimpleDB' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSSimpleDB/*.{h,m}' s.resource_bundle = { 'AWSSimpleDB' => ['AWSSimpleDB/PrivacyInfo.xcprivacy']} end diff --git a/AWSSimpleDB/AWSSimpleDBService.m b/AWSSimpleDB/AWSSimpleDBService.m index c122f84698c..f277a79d4c8 100644 --- a/AWSSimpleDB/AWSSimpleDBService.m +++ b/AWSSimpleDB/AWSSimpleDBService.m @@ -25,7 +25,7 @@ #import "AWSSimpleDBResources.h" static NSString *const AWSInfoSimpleDB = @"SimpleDB"; -NSString *const AWSSimpleDBSDKVersion = @"2.36.2"; +NSString *const AWSSimpleDBSDKVersion = @"2.36.3"; @interface AWSSimpleDBResponseSerializer : AWSXMLResponseSerializer diff --git a/AWSSimpleDB/Info.plist b/AWSSimpleDB/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSSimpleDB/Info.plist +++ b/AWSSimpleDB/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTextract.podspec b/AWSTextract.podspec index 83c9e351040..86c43b51b81 100644 --- a/AWSTextract.podspec +++ b/AWSTextract.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTextract' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSTextract/*.{h,m}' s.resource_bundle = { 'AWSTextract' => ['AWSTextract/PrivacyInfo.xcprivacy']} end diff --git a/AWSTextract/AWSTextractService.m b/AWSTextract/AWSTextractService.m index 0d64caa3bb0..6729f34f3e6 100644 --- a/AWSTextract/AWSTextractService.m +++ b/AWSTextract/AWSTextractService.m @@ -25,7 +25,7 @@ #import "AWSTextractResources.h" static NSString *const AWSInfoTextract = @"Textract"; -NSString *const AWSTextractSDKVersion = @"2.36.2"; +NSString *const AWSTextractSDKVersion = @"2.36.3"; @interface AWSTextractResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTextract/Info.plist b/AWSTextract/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSTextract/Info.plist +++ b/AWSTextract/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribe.podspec b/AWSTranscribe.podspec index 8aecb7700d2..a2aa10026d1 100644 --- a/AWSTranscribe.podspec +++ b/AWSTranscribe.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribe' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSTranscribe/*.{h,m}' s.resource_bundle = { 'AWSTranscribe' => ['AWSTranscribe/PrivacyInfo.xcprivacy']} end diff --git a/AWSTranscribe/AWSTranscribeService.m b/AWSTranscribe/AWSTranscribeService.m index 59f4cfda3b2..40a756c792b 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.36.2"; +NSString *const AWSTranscribeSDKVersion = @"2.36.3"; @interface AWSTranscribeResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribe/Info.plist b/AWSTranscribe/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSTranscribe/Info.plist +++ b/AWSTranscribe/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranscribeStreaming.podspec b/AWSTranscribeStreaming.podspec index efeacd458af..d0a3e0ae90c 100644 --- a/AWSTranscribeStreaming.podspec +++ b/AWSTranscribeStreaming.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranscribeStreaming' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSTranscribeStreaming/*.{h,m}', 'AWSTranscribeStreaming/**/*.{h,m}', 'AWSIoT/Internal/SocketRocket/*.{h,m}' s.private_header_files = 'AWSTranscribeStreaming/Internal/*.h', 'AWSIoT/Internal/SocketRocket/*.h' s.resource_bundle = { 'AWSTranscribeStreaming' => ['AWSTranscribeStreaming/PrivacyInfo.xcprivacy']} diff --git a/AWSTranscribeStreaming/AWSTranscribeStreamingService.m b/AWSTranscribeStreaming/AWSTranscribeStreamingService.m index d2dd52bce15..540af7c69cb 100644 --- a/AWSTranscribeStreaming/AWSTranscribeStreamingService.m +++ b/AWSTranscribeStreaming/AWSTranscribeStreamingService.m @@ -33,7 +33,7 @@ NSString *const AWSTranscribeStreamingClientErrorDomain = @"com.amazonaws.AWSTranscribeStreamingClientErrorDomain"; static NSString *const AWSInfoTranscribeStreaming = @"TranscribeStreaming"; -NSString *const AWSTranscribeStreamingSDKVersion = @"2.36.2"; +NSString *const AWSTranscribeStreamingSDKVersion = @"2.36.3"; @interface AWSTranscribeStreamingResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranscribeStreaming/Info.plist b/AWSTranscribeStreaming/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSTranscribeStreaming/Info.plist +++ b/AWSTranscribeStreaming/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSTranslate.podspec b/AWSTranslate.podspec index a0a128abf01..9c9a5c69a94 100644 --- a/AWSTranslate.podspec +++ b/AWSTranslate.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSTranslate' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,7 +12,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCore', '2.36.3' s.source_files = 'AWSTranslate/*.{h,m}' s.resource_bundle = { 'AWSTranslate' => ['AWSTranslate/PrivacyInfo.xcprivacy']} end diff --git a/AWSTranslate/AWSTranslateService.m b/AWSTranslate/AWSTranslateService.m index 3451334721b..22cd37e95f6 100644 --- a/AWSTranslate/AWSTranslateService.m +++ b/AWSTranslate/AWSTranslateService.m @@ -25,7 +25,7 @@ #import "AWSTranslateResources.h" static NSString *const AWSInfoTranslate = @"Translate"; -NSString *const AWSTranslateSDKVersion = @"2.36.2"; +NSString *const AWSTranslateSDKVersion = @"2.36.3"; @interface AWSTranslateResponseSerializer : AWSJSONResponseSerializer diff --git a/AWSTranslate/Info.plist b/AWSTranslate/Info.plist index 8cc59f79b35..bc609a41a30 100644 --- a/AWSTranslate/Info.plist +++ b/AWSTranslate/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.36.2 + 2.36.3 CFBundleSignature ???? CFBundleVersion diff --git a/AWSUserPoolsSignIn.podspec b/AWSUserPoolsSignIn.podspec index e805b098667..ad690b6de28 100644 --- a/AWSUserPoolsSignIn.podspec +++ b/AWSUserPoolsSignIn.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'AWSUserPoolsSignIn' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.description = 'The AWS SDK for iOS provides a library, code samples, and documentation for developers to build connected mobile applications using AWS.' @@ -12,9 +12,9 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/aws-amplify/aws-sdk-ios.git', :tag => s.version} s.requires_arc = true - s.dependency 'AWSCognitoIdentityProvider', '2.36.2' - s.dependency 'AWSAuthCore', '2.36.2' - s.dependency 'AWSCore', '2.36.2' + s.dependency 'AWSCognitoIdentityProvider', '2.36.3' + s.dependency 'AWSAuthCore', '2.36.3' + s.dependency 'AWSCore', '2.36.3' 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 3f0ff7c5a33..bf55c7bc091 100644 --- a/AWSiOSSDKv2.podspec +++ b/AWSiOSSDKv2.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'AWSiOSSDKv2' - s.version = '2.36.2' + s.version = '2.36.3' s.summary = 'Amazon Web Services SDK for iOS.' s.deprecated = true @@ -18,135 +18,135 @@ Pod::Spec.new do |s| # Used by many of the service-api subspecs s.subspec 'AWSCognitoIdentityProvider' do |sub| - sub.dependency 'AWSCognitoIdentityProvider', '2.36.2' + sub.dependency 'AWSCognitoIdentityProvider', '2.36.3' end # Used by all service-api subspecs s.subspec 'AWSCore' do |sub| - sub.dependency 'AWSCore', '2.36.2' + sub.dependency 'AWSCore', '2.36.3' end # Service-api subspecs s.subspec 'AWSAPIGateway' do |sub| - sub.dependency 'AWSAPIGateway', '2.36.2' + sub.dependency 'AWSAPIGateway', '2.36.3' end s.subspec 'AutoScaling' do |sub| - sub.dependency 'AWSAutoScaling', '2.36.2' + sub.dependency 'AWSAutoScaling', '2.36.3' end s.subspec 'CloudWatch' do |sub| - sub.dependency 'AWSCloudWatch', '2.36.2' + sub.dependency 'AWSCloudWatch', '2.36.3' end s.subspec 'AWSComprehend' do |sub| - sub.dependency 'AWSComprehend', '2.36.2' + sub.dependency 'AWSComprehend', '2.36.3' end s.subspec 'AWSConnect' do |sub| - sub.dependency 'AWSConnect', '2.36.2' + sub.dependency 'AWSConnect', '2.36.3' end s.subspec 'AWSConnectParticipant' do |sub| - sub.dependency 'AWSConnectParticipant', '2.36.2' + sub.dependency 'AWSConnectParticipant', '2.36.3' end s.subspec 'DynamoDB' do |sub| - sub.dependency 'AWSDynamoDB', '2.36.2' + sub.dependency 'AWSDynamoDB', '2.36.3' end s.subspec 'EC2' do |sub| - sub.dependency 'AWSEC2', '2.36.2' + sub.dependency 'AWSEC2', '2.36.3' end s.subspec 'ElasticLoadBalancing' do |sub| - sub.dependency 'AWSElasticLoadBalancing', '2.36.2' + sub.dependency 'AWSElasticLoadBalancing', '2.36.3' end s.subspec 'AWSIoT' do |sub| - sub.dependency 'AWSIoT', '2.36.2' + sub.dependency 'AWSIoT', '2.36.3' end s.subspec 'AWSKMS' do |sub| - sub.dependency 'AWSKMS', '2.36.2' + sub.dependency 'AWSKMS', '2.36.3' end s.subspec 'Kinesis' do |sub| - sub.dependency 'AWSKinesis', '2.36.2' + sub.dependency 'AWSKinesis', '2.36.3' end # KinesisVideo not released as part of AWSiOSSDKv2 # KinesisVideoArchivedMedia not released as part of AWSiOSSDKv2 s.subspec 'KinesisVideoSignaling' do |sub| - sub.dependency 'AWSKinesisVideoSignaling', '2.36.2' + sub.dependency 'AWSKinesisVideoSignaling', '2.36.3' end s.subspec 'AWSLambda' do |sub| - sub.dependency 'AWSLambda', '2.36.2' + sub.dependency 'AWSLambda', '2.36.3' end s.subspec 'AWSLex' do |sub| - sub.dependency 'AWSLex', '2.36.2' + sub.dependency 'AWSLex', '2.36.3' end s.subspec 'AWSLogs' do |sub| - sub.dependency 'AWSLogs', '2.36.2' + sub.dependency 'AWSLogs', '2.36.3' end s.subspec 'AWSMachineLearning' do |sub| - sub.dependency 'AWSMachineLearning', '2.36.2' + sub.dependency 'AWSMachineLearning', '2.36.3' end s.subspec 'Pinpoint' do |sub| - sub.dependency 'AWSPinpoint', '2.36.2' + sub.dependency 'AWSPinpoint', '2.36.3' end s.subspec 'AWSPolly' do |sub| - sub.dependency 'AWSPolly', '2.36.2' + sub.dependency 'AWSPolly', '2.36.3' end s.subspec 'AWSRekognition' do |sub| - sub.dependency 'AWSRekognition', '2.36.2' + sub.dependency 'AWSRekognition', '2.36.3' end s.subspec 'AWSS3' do |sub| - sub.dependency 'AWSS3', '2.36.2' + sub.dependency 'AWSS3', '2.36.3' end s.subspec 'AWSSES' do |sub| - sub.dependency 'AWSSES', '2.36.2' + sub.dependency 'AWSSES', '2.36.3' end s.subspec 'AWSSNS' do |sub| - sub.dependency 'AWSSNS', '2.36.2' + sub.dependency 'AWSSNS', '2.36.3' end s.subspec 'AWSSQS' do |sub| - sub.dependency 'AWSSQS', '2.36.2' + sub.dependency 'AWSSQS', '2.36.3' end s.subspec 'AWSSageMakerRuntime' do |sub| - sub.dependency 'AWSSageMakerRuntime', '2.36.2' + sub.dependency 'AWSSageMakerRuntime', '2.36.3' end s.subspec 'AWSSimpleDB' do |sub| - sub.dependency 'AWSSimpleDB', '2.36.2' + sub.dependency 'AWSSimpleDB', '2.36.3' end s.subspec 'AWSTextract' do |sub| - sub.dependency 'AWSTextract', '2.36.2' + sub.dependency 'AWSTextract', '2.36.3' end s.subspec 'AWSTranscribe' do |sub| - sub.dependency 'AWSTranscribe', '2.36.2' + sub.dependency 'AWSTranscribe', '2.36.3' end # note that AWSTranscribeStreaming requires iOS 9.0 or higher, and is # therefore not included as a subspec s.subspec 'AWSTranslate' do |sub| - sub.dependency 'AWSTranslate', '2.36.2' + sub.dependency 'AWSTranslate', '2.36.3' end end diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e23387a7fa..31466721b4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +-Features for next release + +## 2.36.3 + ### Misc. Updates - Model updates for the following services diff --git a/CircleciScripts/generate_documentation.sh b/CircleciScripts/generate_documentation.sh index 03b227895a6..40162bd2279 100644 --- a/CircleciScripts/generate_documentation.sh +++ b/CircleciScripts/generate_documentation.sh @@ -6,7 +6,7 @@ set -x -SDK_VERSION="2.36.2" +SDK_VERSION="2.36.3" GITHUB_DOC_ROOT=https://aws-amplify.github.io GITHUB_SOURCE_ROOT=https://github.com/aws-amplify/aws-sdk-ios